llCastRayの実験

TsubasA Renfold

2011年10月02日 19:41


新しく実装されたllCastRayってやつで、ごにょごにょやってます。

http://wiki.secondlife.com/wiki/LlCastRay

しかしまだ日本語訳がない!!!
気にはなってたんですが、イマイチ何が出来るかよーわからんかったんですが、
すげーことやってる人の動画を見つけました



おし、俺もやってみよか!
と思っていろいろ調べ始めのさ。

どーやら光線は出ないらしい・・・・
でも見えない光線を出して、その光線が当たったプリムの「表面」の座標や法線ベクトルが
取得できちゃうらしい!

はっはーーん、きゃつはその機能で表面の座標に移動して
法線ベクトルから角度計算してピタっとくっついてんだな・・・ほむほむ。
なんだ簡単じゃないか!!
と思ってやってみた。



すいません、調子乗りました・・・・ぜんぜんムズいです、はい。
上の動画を見てもらったら分かると思うんですが、まぁだいたい出来ました。
でも、先輩の動きと比べると滑らかさが違うっ!!!

今どうやってるかというと、llCastRayでオプションに「RC_GET_NORMAL」をつけて
表面座標と、法線ベクトルを取得しています。 
んで、表面座標にllMoveToTargetで移動して、法線ベクトルをRotationに変換して
llRotLookAtで向きを変えることで、オブジェクト表面にピタっとくっつきながら移動してます。
キー入力を取得して、↑↓で前後、←→で左右回転(回転苦手なのでめっさ苦戦した;)です。

平面や球体の表面移動はいいんですが、細い円柱の棒の上を移動する時が問題。
下前方だけでなく、左右にも光線出すことで、なんとか登れるようになったんですが
どうしてもクルクル回るせいか、前方方向が定まらないから?移動がギクシャクします。

あの先輩は一体どんなマジック使ってんでしょう?
いろいろ