飛行船のプロペラは、動きに合わせて回転するようになってます。
本体のスクリプトからリンクメッセージで連絡をもらって、回転の向きや速度を変えます。
飛行船アバターの場合は、アニメーション名を聞いて速度だけ変えてます。
(「飛行船アバターのAO」で説明しているスクリプトでは連絡の部分は省略しています)
飛行船アバターのプロペラのスクリプト
vector Axis = <1,0,0>; // 回転軸:X
float Fwd = -PI; // 左プロペラの回転、右はPI
default {
state_entry() {
llTargetOmega(ZERO_VECTOR,0,0);
}
link_message(integer from, integer int, string msg, key id) {
// 再生中のアニメーション名を聞く
float spin;
if (msg == "hover") spin = Fwd * 0.5; // 回転速度を変える
else if (msg == "walk") spin = Fwd;
else if (msg == "fly") spin = Fwd * 2;
else llResetScript();
llTargetOmega(Axis, spin, 1); // 軸の周りを回転
}
}