2010年07月14日

アバターを回転させるスクリプトはありますか?

オブジェクトにSitさせたアバターを矢印キー「→」、「←」で回転させるスクリプトはどうやって書けばいいのでしょうか?
どなたか、ご存知の方、いらっしゃいましたらご教示ください。
よろしくお願いします。




Posted by toco  at 14:33 │Comments(13)

この記事へのコメント
アバター自身を矢印キーで回転させるのは~難しそうだなぁ。

思いつくアイデアは・・・
オブジェクトを物理属性にして「乗り物」扱いにして~
Sitさせたアバターをオブジェクトごと回転させる・・・
なんですけどね^^
つまり~この方法だと~乗り物のスクリプトを探せば~
参考になるんじゃないんですかね?^^

他の簡単な方法をご存じの方は~私も知りたいので
是非、ご教授ください^^
Posted by 通りすがりのヘッポコスクリプター at 2010年07月14日 20:25
なるほどー。それなら回転できそうですね。
乗り物のスクリプト探して試してみます。
ありがとうございます。
Posted by tocotoco at 2010年07月14日 20:41
普通にできると思いますよ。
こちらのシート(マット?)は自由に回転、移動できました。

http://slurl.com/secondlife/tricolore/200/110/2003
Posted by mist at 2010年07月14日 21:38
二重投稿のもう片方に書き込みしてしまったので書き直し。

llSetLinkPrimitiveParams() を使います。
オブジェクトにsitしたアバターは、リンクされたプリムとみなされるので、この関数で動かせます。

これさえわかれば実装できるよね。
Posted by 奴隷商人 at 2010年07月14日 22:11
みなさん、いろいろありがとうございます。まだまだ研究中ですが・・・
mistさん、行ってきました。すごいマットですね。まさしくこのように回転させたいんです。
奴隷商人さん、関数を教えてくださりありがとうございます。勉強してトライしてみたいと思います。

みなさん、ありがとうございます!!!
Posted by tocotoco at 2010年07月14日 22:37
奴隷商人さん、関数を教えてくださってありがとうございます。
どうも使い方がうまくわからないのですが、ご教示いただけると幸いです。
スクリプトは初心者なので・・・・
Posted by tocotoco at 2010年07月14日 23:22
http://wiki.secondlife.com/wiki/LlSetLinkPrimitiveParamsFast/ja

に、アバターを動かす場合の注が載ってますよ。
Posted by あたみ at 2010年07月15日 07:21
どのへんがわからないですか?
Posted by 奴隷商人 at 2010年07月15日 12:27
奴隷商人さん、すみません。
llSetLinkPrimitiveParams() 関数ですが、これの使い方がいまいちWikiを見ても理解できないのです。

これを使用してどのようにスクリプトを組めばアバターが回転するのか検討がつきません。もちろん、今も必死で調べたりしていますが・・・。

もしお時間ございましたらご教示の程よろしくお願いいたします。
Posted by toco at 2010年07月15日 14:30
llSetLinkPrimitiveParams(integer linknumber, list rules)

第1パラメータにはどのプリムを対象にするか(今回の場合、回転したいプリム)の番号を渡します。
sitしたアバターはリンクされたプリムとみなされ、オブジェクトの最後にリンクされます。
つまり、プリムの総数=アバターの番号。
これを渡します。

第2パラメータは第1で指定したプリムをどうするのかを、list型で渡します。
回転させるなら、
[PRIM_ROTATION, 角度]
角度はrotation型で記述します。


わたし、説明あまり上手くない…気がする。
わかりにくかったら、ご面倒でもまた聞いてね(^_^;)
Posted by 奴隷商人 at 2010年07月15日 22:01
あたみさん、ありがとうとざいます。

奴隷商人さん、たびたび本当にすみません。まずは試してみます。
それでもわからなかったらまたお聞きすることになっちゃいますが・・・
本当に、ご面倒ばかりおかけして申し訳ないです。
わかりやすい説明なのでがんばってみます。
ありがとうございます。
Posted by toco at 2010年07月16日 10:26
奴隷商人さん、たびたび申し訳ありません。
昨日いろいろな方に聞いてみて以下のスクリプトを入れてみました。

default
{

touch_start(integer total_number)
{
llSetLinkPrimitiveParamsFast(1+1,[PRIM_ROTATION, llEuler2Rot(<0.0, 0.0, 0.1>)]);
}
}

これだとプリムも一緒に回転してしまうのですが・・・どこがいけないのでしょうか?ご教示ください。

よろしくお願いします。
Posted by toco at 2010年07月16日 11:59
奴隷商人さんへ

すみません、再び書き直したらうまくうごきました!

いろいろとどうもありがとうございました。
これから自分に必要なスクリプトを追加していきます!!!

本当に助かりました。有難うございます。
Posted by toco at 2010年07月16日 12:01
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。