編集部からのお知らせ
「ZDNet Japan Summit」参加登録受付中! 
新着記事集:「負荷分散」

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 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. クラウドコンピューティング

    Google Cloudセキュリティ基盤ガイド、設計から運用までのポイントを網羅

  2. セキュリティ

    仮想化・自動化を活用して次世代データセンターを構築したJR東日本情報システム

  3. ビジネスアプリケーション

    スモールスタート思考で業務を改善! 「社内DX」推進のためのキホンを知る

  4. セキュリティ

    Emotetへの感染を導く攻撃メールが多数報告!侵入を前提に対応するEDRの導入が有力な解決策に

  5. セキュリティ

    偽装ウイルスを見抜けず水際対策の重要性を痛感!竹中工務店が実施した2万台のPCを守る方法とは

NEWSLETTERS

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

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

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