2009年07月15日
装着物の位置、回転をスクリプトで設定
アバターに装着するものを作っています。
現在ベータで作業しているのですが、通常版SL(?)で同じものを作ったとき、装着する位置、回転を調整していかなくてはなりません。
こういった装着ものをスクリプトで設定することはできるのでしょうか?
大量にあるので、1個ずつを調節していくのが大変です。
とりあえず回転だけでも…と試したものが、
default
{
touch_start(integer total_number)
{
rotation rot;
rot = llGetRot();
llSetRot(rot * llEuler2Rot(<342.40, 71.70, 198.0> * DEG_TO_RAD));
}
}
です。
元のオブジェクトの回転値をメモして、新たに作ったオブジェクトの回転値を全て0にし、このスクリプトで合わせてみました。
ところが装着するとZの値だけ変化してしまいました。
アバターの角度のせいかな?と思ってます。
(スクリプトを入れて、装着し、タッチしています)
装着場所は l uppe arm です。
手動でZ値を入れなおせばよいのですけど、他の装着場所もあるので可能であればスクリプトにまかせたいです。
位置に関しては、装着したオブジェクトに位置が表示されないのでより困っています。
ベータで作業しているのは、スカルプトを含んでいるので、確認のためのテクスチャアップの料金がバカにならないからです…。
装着の多い服など作られてる方、どうされてるのでしょうか?
現在ベータで作業しているのですが、通常版SL(?)で同じものを作ったとき、装着する位置、回転を調整していかなくてはなりません。
こういった装着ものをスクリプトで設定することはできるのでしょうか?
大量にあるので、1個ずつを調節していくのが大変です。
とりあえず回転だけでも…と試したものが、
default
{
touch_start(integer total_number)
{
rotation rot;
rot = llGetRot();
llSetRot(rot * llEuler2Rot(<342.40, 71.70, 198.0> * DEG_TO_RAD));
}
}
です。
元のオブジェクトの回転値をメモして、新たに作ったオブジェクトの回転値を全て0にし、このスクリプトで合わせてみました。
ところが装着するとZの値だけ変化してしまいました。
アバターの角度のせいかな?と思ってます。
(スクリプトを入れて、装着し、タッチしています)
装着場所は l uppe arm です。
手動でZ値を入れなおせばよいのですけど、他の装着場所もあるので可能であればスクリプトにまかせたいです。
位置に関しては、装着したオブジェクトに位置が表示されないのでより困っています。
ベータで作業しているのは、スカルプトを含んでいるので、確認のためのテクスチャアップの料金がバカにならないからです…。
装着の多い服など作られてる方、どうされてるのでしょうか?
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
http://kogesugi.slmame.com/e424556.html
回転の詳しい説明があるのでご覧下さい^^
アバターをEast方向に向けておいて、llGetRotのスクリプトを実行すれば数値がほぼ合いました。
誤差が出るっぽいことはどこかで読んだので、それは諦めます…。
あとは位置です。
位置、何かご存知の方いらっしゃいませんか~><
soraさん、ありがとうございます。
回転についてはホントいろいろ読んだのですけど、さんすう苦手のおつむではイマイチ理解しきれてません…。
教えていただいたところにサンプルスクリプトがあるので、実験勉強してみます!!
GetLocalPosで位置を取ってみます。
回転もllGetで取得すればよかったのですね。Setのことばかり考えて、うっかり思いつきませんでした…。
さっそく試してみます!ありがとうございました