2008年06月16日
LSL:座ったアバターを回転させる
ぱるちゃんから、「座ったアバターを回転する方法」を聞かれて、
試してみました。

座ってるアバターは、オブジェクトにリンクされている状態なので、
llSetLinkPrimitiveParamsという関数でコントロールする
というのがポイントなんですけど、回転っていうのが、よくわかってなくて、
試行錯誤してしまいました^^;
回転の詳しい説明のページは、こちらです。
(1)wikiのRotationのページ
(2)BlackSheep-LSL@Wiki 回転について
どちらも丁寧に書いてくれているのですが、いまだに回転はよくわかりません^^;
手取り足取り教えてくれる先生募集中です^^(←本気)
とりあえず、タッチでグローバルのZ軸まわりに45度ずつ回転させる
サンプルを公開してみます。
なお、回転軸は考慮されていませんので、お気をつけください。
llSitTargetって、前も書いたことあるけど、深いです^^;
(過去記事は→こちら)
試してみました。

座ってるアバターは、オブジェクトにリンクされている状態なので、
llSetLinkPrimitiveParamsという関数でコントロールする
というのがポイントなんですけど、回転っていうのが、よくわかってなくて、
試行錯誤してしまいました^^;
回転の詳しい説明のページは、こちらです。
(1)wikiのRotationのページ
(2)BlackSheep-LSL@Wiki 回転について
どちらも丁寧に書いてくれているのですが、いまだに回転はよくわかりません^^;
手取り足取り教えてくれる先生募集中です^^(←本気)
とりあえず、タッチでグローバルのZ軸まわりに45度ずつ回転させる
サンプルを公開してみます。
なお、回転軸は考慮されていませんので、お気をつけください。
//座っているアバターを回転させるサンプル
// Jun 16, 2008 by Jinko Spitteler
//コンフィグレーション
integer gDegStep = 45;
vector gvSitPos = <1.000000, 0.250000, -0.350000>;
vector gvSitRot = <0.000000, 90.000000, 90.000000>;
//グローバル変数
float fRot = 0.0;
rotation grSitRot;
default {
state_entry() {
grSitRot = llEuler2Rot(gvSitRot * DEG_TO_RAD);
llSitTarget(gvSitPos, grSitRot);
}
touch_start(integer total_number) {
integer i;
key av = llAvatarOnSitTarget();
integer no = 0;
//誰も座ってなければなにもしない
if (av == NULL_KEY) return;
//アバターのリンクナンバーを探す
for (i = 1; i <= llGetNumberOfPrims() && no == 0; i++)
if (llGetLinkKey(i) == av) no = i;
//回転させる
fRot = (float)(((integer)fRot + gDegStep) % 360);
rotation rot = llEuler2Rot(<0,0, fRot> * DEG_TO_RAD)
* grSitRot / llGetRot();
llSetLinkPrimitiveParams(no, [PRIM_ROTATION, rot]);
}
}
llSitTargetって、前も書いたことあるけど、深いです^^;
(過去記事は→こちら)
プリムスカートの簡単な作り方のヒミツ。初めてわかりました^^
球面の内側にテクスチャを貼るときの覚書です^^
LSL:日本語文字列をバイト数で長さ制限
スナップショットをレンズぼかしで加工してみました^^
LSLのカラーに変換するツールを作ってみました^^
ブラウザからインワールドの検索を使ってます^^
球面の内側にテクスチャを貼るときの覚書です^^
LSL:日本語文字列をバイト数で長さ制限
スナップショットをレンズぼかしで加工してみました^^
LSLのカラーに変換するツールを作ってみました^^
ブラウザからインワールドの検索を使ってます^^
Posted by jinko at 15:13│Comments(2)
│Tips
この記事へのコメント
ひさー^^
おお、これ、いいねー。おれもためしてみよっと^^
おお、これ、いいねー。おれもためしてみよっと^^
Posted by ファルコン
at 2008年06月19日 12:26

ファルコンさん^^
お久しぶりですー
うん、おかしいかもなんですけど・・・
是非、試してみてください
回転のひみつわかったら教えてくださいねー
お久しぶりですー
うん、おかしいかもなんですけど・・・
是非、試してみてください
回転のひみつわかったら教えてくださいねー
Posted by jinko
at 2008年06月20日 01:20
