第4回 超初心者用スクリプト講座 イスの着席位置を調整しよう

ぺん

2007年06月23日 23:56


こんにちは最近キャンピングにはまってるペンです。
セカンドライフをはじめたときはキャンピングなんてって
思ってましたが、寝てる間放置すると意外とたまることが
わかってまいりました。ばかになりません。
これでちょこちょこためて1ヵ月後くらいに
DEMOじゃないスキンをかうぞ!!

さて突然ですが、今回のスクリプト講座はこれ。



そうイスです。なんとタイニーもちゃんと座れてしまいますw



って普通かな?
でも、今回使うイスはスクリプトを使うことによって
キャラクターが着席する位置を正確にしていすることができます。
もちろん、方向もです。
もし、このスクリプトを使わずに座ると若干ずれていたり、
イスに埋まってしまったりしてしまいます。

さて、それでは作っていきましょうかw
まずどんな形のものでもいいので、背もたれつきのイスを
作ってください。ここでは簡単のために上記のような立方体だけを
つかってイスを利用します。



作ったイスは、上記のように座る部分が親プリムになるようにリンクさせます。
(親プリムに関しては前回のスクリプト講座を参考にしてください。)
また、この座る部分はオブジェクトとして生成してから、リンクするまで
回転させないことをお勧めします。回転させてしまうと
スクリプトから位置や回転させるための軸(x軸,y軸,z軸)がずれてしまいます。

それでは、出来上がったら以下のスクリプトを組み込んでください。
ただし、このスクリプトを組み込んだからといって
着席位置が正しくなるわけではありません。というのも、これは
あくまで私が作ったいす用のスクリプトだからです。

default{
  state_entry(){
    llSitTarget(, llEuler2Rot( * DEG_TO_RAD));
  }
}



スクリプトの外側は前回に利用したものと同じですねw
違うのは中身。

llSitTarget(, llEuler2Rot( * DEG_TO_RAD));



これが今回の肝です。着席位置を指定するコマンドです。
の部分はリンクしたオブジェクトの中心からの位置を表します。もし、うまく作れているのであれば、前からx方向,y方向,z方向に
なります。

次に

llEuler2Rot( * DEG_TO_RAD)

 

の部分ですが、これもコマンドの一種です。ただ今は気にせずに
の部分に回転させたい角度を指定するだけでいいです。
これも、うまくイスが作れているのであれば、前からx軸,y軸,z軸に
なります。

これらの値を調整することによって、イスの着席位置を調整していきます。
もし、軸がずれていたとしてもどれがx軸で、どれがy軸で、どれがz軸
なのかを見極めれば、調整はできます。
ちょっと大変ですけどねw

さて、蛇足ですが
位置の指定でz方向を300くらいにしてみてください。
ちょっとした悪戯イスができあがりますw

それでは、また次回w
超初心者用 スクリプト講座