Second Life 新世界的ものづくりのススメ--その26:テクスチャアニメーション応用3 - (page 3)

大槻透世二(サイバーアドベンチャー)

2007-09-20 08:00

 「llGetVel( )」は、LSL Portalで定義を見ると、ベクター型のデータを返す関数となっている。

「llGetVel( )」

 「llGetVel( )」を「vector vel = llGetVel();」というスクリプトで使い、その代入先を指定すると、次のことが実行される。

  1. 「llGetVel( )」が、Linden Labのサーバへ問い合わせをする
  2. その結果としてベクター型(x, y, z)データ、例えば、「(2, 4, 6)」のような値が返ってくる
  3. 返ってきた値「(2, 4, 6)」を「vel」に代入する

注意:上記の「(2, 4, 6)」はあくまでも例である。実際には、その時点や状態に応じた具体的な数値が返ってくる。

データの流れ

 理解できただろうか。この関数は、サーバからデータを取ってくる「召使い」みたいなものだ。サーバに問い合わせることで、その時点や状態に応じたデータについて「数値はこれこれですよ」と返してくれる。

 では、「llGetVel( )」がサーバに問い合わせているのは何か?それは、「速度ベクトル」の値だ。速度ベクトルとは、3次元空間上では必須である「向き」のデータをもった速度の値である。つまり、今回のスクリプトが埋め込まれたオブジェクトの移動について、速度ベクトルが問い合わされている。

 以上のことから、「vector vel = llGetVel();」は、「llGetVel( )」をサーバに速度ベクトルの値を問い合わせ、得られた具体的な値を「vel」に代入することを示している。

 2行目は、下図のようになっている。ここでは、「speed」という関数がユーザーによって定義されている。

「speed」

 「speed」は、データ型が「float」で、「llVecMag(vel)」の値が代入される。「llVecMag( )」は、LSL Portalで定義を見ると、「( )」内のベクター型データを小数型の数値(絶対値)に置き換えて返す関数となっている(絶対値とはマイナスやプラスの関係ない値であり、「|-1|= 1」となる)。

「llVecMag(vel)」

 「llVecMag(vel)」は、ユーザーが定義した関数(ユーザー定義関数)である「vel」を「( )」内に持っている。このことから、「vel」として得られた速度ベクトルを小数型の数値(絶対値)に置き換えることを示している。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]