2007年05月17日
椅子の座り位置調整
前提知識:Makapu:椅子を作ろう(初級スクリプト第四回)
そうは言っても実際に位置と回転の値をちょっとづづ変えて調整はなかなか面倒ですのでちょっと考えてみました。
椅子とは別にプリムを作り、そこに以下のスクリプトを書きます。
default
{
state_entry()
{
llSitTarget(<0,0,0.0001>, ZERO_ROTATION);
}
touch_start(integer total_number)
{
llOwnerSay("llSitTarget(" + (string)llGetLocalPos() + ", " + (string)llGetLocalRot() + ");");
}
}
このプリムに座った状態でプリムを編集するとアバターも一緒に動きますので、椅子に位置を合わせます。
位置が合ったら椅子の方が親になるように椅子とリンクします。
プリムをTouchすると座標と回転を喋るので、これを椅子に設定すればばっちり位置が合います。
位置を合わせたらプリムは不要なのでリンクを外して削除してください。
注意点は以下の通り、
・ 椅子とリンクせずに喋らせた座標を使うと明後日の方向にかっとびます。
・ 椅子とリンクした状態で部分編集してもアバターは動きません。
・ 編集状態と実際に設定される位置は0.1ミリずれます。
そうは言っても実際に位置と回転の値をちょっとづづ変えて調整はなかなか面倒ですのでちょっと考えてみました。
椅子とは別にプリムを作り、そこに以下のスクリプトを書きます。
default
{
state_entry()
{
llSitTarget(<0,0,0.0001>, ZERO_ROTATION);
}
touch_start(integer total_number)
{
llOwnerSay("llSitTarget(" + (string)llGetLocalPos() + ", " + (string)llGetLocalRot() + ");");
}
}
このプリムに座った状態でプリムを編集するとアバターも一緒に動きますので、椅子に位置を合わせます。
位置が合ったら椅子の方が親になるように椅子とリンクします。
プリムをTouchすると座標と回転を喋るので、これを椅子に設定すればばっちり位置が合います。
位置を合わせたらプリムは不要なのでリンクを外して削除してください。
注意点は以下の通り、
・ 椅子とリンクせずに喋らせた座標を使うと明後日の方向にかっとびます。
・ 椅子とリンクした状態で部分編集してもアバターは動きません。
・ 編集状態と実際に設定される位置は0.1ミリずれます。
Posted by Ichigo Mayo at 16:55│Comments(1)
│小ネタ
この記事へのコメント
と思ったけどどうも回転の中心とアバターの中心が違うっぽい。
Posted by Ichigo Mayo at 2007年05月17日 22:06