ソラマメブログ

2007年06月23日

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

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

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

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

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

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

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

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

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

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

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

default{
  state_entry(){
    llSitTarget(<0.29,0.0,0.31>, llEuler2Rot(<0.0, 0.0, 0.0> * DEG_TO_RAD));
  }
}



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

llSitTarget(<0.29,0.0,0.31>, llEuler2Rot(<0.0, 0.0, 0.0> * DEG_TO_RAD));



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

次に

llEuler2Rot(<0.0, 0.0, 0.0> * DEG_TO_RAD)

 

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

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

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

それでは、また次回w



同じカテゴリー(超初心者用 スクリプト講座)の記事画像
第10回 スクリプト講座 ポーズボールを作ろう(2)
第10回 スクリプト講座 ポーズボールを作ろう(1)
初心者用 スクリプト講座 再開します
第9回 超初心者用スクリプト講座 タイマーを使おう
第8回 超初心者用スクリプト講座 stateを使おう
第6回 超初心者用スクリプト講座 ステートエントリー?
同じカテゴリー(超初心者用 スクリプト講座)の記事
 第10回 スクリプト講座 ポーズボールを作ろう(2) (2008-03-21 01:20)
 第10回 スクリプト講座 ポーズボールを作ろう(1) (2008-03-15 04:26)
 初心者用 スクリプト講座 再開します (2008-03-11 14:08)
 第9回 超初心者用スクリプト講座 タイマーを使おう (2007-07-05 22:25)
 第8回 超初心者用スクリプト講座 stateを使おう (2007-07-03 15:23)
 第7回 超初心者用スクリプト講座 出したら実行する (2007-06-30 16:22)

 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。