このスクリプトはメガネ教室主催で有名な、シリアスギグルのkirin先生作の
スクリプトのモジュールとして動作するように作っています。
したがって受講終了の人や卒業生の人向けの解説になります。
お持ちで無い方は、がんばって稼動命令の送信部分を作ってください。
4期受講の人は来週配られるのでお楽しみに。
まず、下記のスクリプトで装着位置を測定します。
これはルートプリムへ入れてください。
通常の装着部位とおでこに乗せた位置の両方を記録してください。
商品のデフォルト位置になるので調整は念入りにどうぞ。
posが移動距離、rotが回転角度になります。
測定が終わったらこのスクリプトは捨てます。
//ここから
vector pos;
rotation rot;
default
{
touch_start(integer total_number)
{
pos = llGetLocalPos();
rot = llGetLocalRot();
llSay(0, "pos =" + (string)pos);
llSay(0, "rot =" + (string)rot);
}
}
//ここまで
次にkirin式スクリプトの本体であるremoconを改造します。
list ColorsにSwitchとPreferencesを追加してください。
(Colorsの内容は欲しいメニューによって変わるので、今回追加部分以外は
人によって違います)
また新規listとしてlist Preferencesを追加してください
llMessageLinked(LINK_ALL_CHILDREN, 0, message, "");
を
llMessageLinked(LINK_SET, 0, message, "");
に書き換えてメッセージの送信先を”全子プリム”から”全プリム”に変更します。
最後
条件式が並んでいるところへ↓を追加
else if(message == "Preferences")
{
llDialog(toucher, "Save Top or Nose Position", Preferences, CHANNEL);
}
//remocon改造箇所ここから
//メインメニュー追加
list Colors =
[
"Lens", "Frame", "Shine","Switch",
"Transparency", "Preferences"
//メニュー追加
list Preferences =
[
"SaveTopPos", "SaveNosePos","Reset"
];
//条件式追加
else if(message == "Preferences")
{
llDialog(toucher, "Save Top or Nose Position", Preferences, CHANNEL);
}
//メッセージ送信先変更
llMessageLinked(LINK_SET, 0, message, "");
//llMessageLinked(LINK_ALL_CHILDREN, 0, message, "");
//remocon改造箇所ここまで
最後に、移動スクリプト本体を設定します
最初に調べた位置情報を書き込んで再コンパイルします。
出来上がったらremoconと一緒にルートプリムへ入れてください。
top_pos:おでこ位置のpos
nose_pos:鼻位置のpos
top_rot:おでこ位置のrot
nose_rot:鼻位置のrot
//宣言部分例ここから
vector top_pos = <-0.05880, 0.00000, 0.02980>;
vector nose_pos = <-0.07141, -0.00001, 0.02163>;
rotation top_rot = <-0.00000, 0.95882, -0.00000, 0.28402>;
rotation nose_rot = <-0.00000, -1.00000, 0.00000, 0.00000>;
//ここまで
2008年2月23日土曜日
登録:
コメントの投稿 (Atom)
眼鏡等の装着物はタッチし辛い&結局ダイアログでlisten使ってる
返信削除と言う事から、HUD制御でlistenを1チャンエルだけ使用の方が
軽くて使い易くなるんじゃないかな。
はい、それもありだと思います。
返信削除うちは品物ごとにスクリプトも変わるので
毎回専用HUDまで作ることを考えると
気が遠くなっちゃいますが^^;
わっΣ(・ω・ノ)ノこぐませんせ
返信削除これが前におっしゃってたスプリクトなんですねぇ
..._〆(゚▽゚*) メモメモ
今日の授業終わってから色々勉強してみまぁす(o゚▽゚)ノ
こんにちは。
返信削除やっと「おでこ乗せ」に挑戦する気になったちょぼたんですが、最後の移動スクリプト本体を設定…の所が分かりません。
remoconと別に作るんだと思うんですが、そもそも移動スクリプトって何でしょ?
「宣言部分」ということは、前後に「移動」に関する関数が必要なのかなとは思うんですが、、、なんのことやら、、、
あ、できたかも♪
返信削除なにより
返信削除なんとか作ることができました!!
返信削除コグマ先生ありがとうございました><
導入記事は見てましたよー
返信削除お役に立ったなら何よりです