つまり、オーナーだとバイクが認識すると、バイクには物理力が働き、重力が作用し、地面に落ちることになる。空中に浮いているバイクに乗った場合に、バイクが落ちるのはこの関数の働きによる。
「llSeStatus」によって、オブジェクトの属性を他にも変えることができるようになる。
次に、日本語版LSL Wikiで下図のように定義されている「llRequestPermissions」によって、赤枠部分のパーミッションがアバターに対して投げかけられる。そして、「PERMISSION_TRIGGER_ANIMATION」によって「llTakeControls()」が許可され、「PERMISSION_TAKE_CONTROLS」によって、「llStartAnimation()」の使用が許可される。
(B)「if (change & CHANGED_LINK)」が偽(FALSE)の場合〜オブジェクトから降りた(立った)時〜
それでは、オブジェクトから「立ち上がった」場合にはどうなるだろうか。「if (change & CHANGED_LINK)」が偽(FALSE)となるので、下図の処理が実行される。
つまり、先ほどのオーナーであると認識した場合とは反対の処理が行われる。物理モードが解除され、コントロールを不能にして、アニメーションも解除させる。
こうして、「chenged()」内では乗ろうとした時に、プリムの総数を数え、オーナー判別をし、最後に物理モードをONする。そして、全体のバイクコントロールを可能にし、バイクに乗ったアニメーションを作動させている。
全体として見れば、そんなに難しい処理ではないが、今回は始めて「chenged()」イベントの内容と「if〜else」構文を勉強した。
Aの場合、Bの場合、そしてAの①の場合、Aの②の場合などと、条件の結果が真(TRUE)か偽(FALSE)の場合分けによって処理を変えた。
次回は、「run_time_permissions ()」イベント、そして、「control ()」イベントを攻略しよう。それでは、次回もお楽しみに
大槻透世二サイバーアドベンチャー(株)
代表取締役社長/CEO
デジタルハリウッド大学院
次世代インターフェース研究室 研究員
Second Life研究室 研究員/プロデューサー
Linden社推薦 Second Lifeセミナー講師
東北大学心理学専攻卒業。1年間のLA留学を経て、ソリッドレイ研究所でバーチャルリアリティのシステムインテグレーション、立体映像システム構築、HMDシステム構築などを経験。IT系コンサルティング会社を経て、デジタルハリウッド大学大学院コンテンツマネジメント修士課程修了(MCA)。その後、Linden Lab本社にてSecond Lifeカリキュラムのトレーニングを受ける。現在デジタルハリウッドにて「Second Life」セミナーを開催。また、バーチャルリアリティ、メタバース関連のシステム開発/プロデュースを行うサイバーアドベンチャー(株)を設立し、そのCEO職に就いている。