編集部からのお知らせ
解説:1st ? 2nd ? 3rd ? データ活用での選択
セキュリティの懸念高まる産業用制御機器

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

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

2007-09-20 08:00

 ここまでの2行をまとめると、下図ようになる(図中の数字は例であり、実際には、その時点や状態に応じた具体的な数値が返ってくる)。

データの流れ 「llGetVel( )」で得られた「(2, 4, 6)」という速度ベクトル値は、「llVecMag(vel)」によって「1.2」という小数型の数値に置き換えられている。

 そして、3行目では、テクスチャアニメーションを定義している。テクスチャアニメーションのスピードを決定する「rate」に「speed*0.5」が指定されている。これにより、オブジェクトの移動速度が増大すると、ユーザー定義関数「speed」の値が増大し、テクスチャが速く回転するようになる。

「llSetTextureAnim( )」

 以上のように、「timer ( )イベントを0.2秒ごとに繰り返す」ことは、「0.2秒ごとに速度ベクトルを計測し、テクスチャのスピードに反映させる」ことを意味している。

イベントの関係

 ポイントは、次の2点だ。

  1. 速度ベクトルを問い合わせる「llGetVel( )」
  2. 速度ベクトルを数値(絶対値)で返す「llVecMag」

代入演算子

 ここで、先ほど少し説明した代入演算子には、他にどのようなものがあるか見てみよう。今度は日本語版LSL Wikiの「演算子」の説明を見てみよう。下図の赤枠部分が該当する。

演算子

 代入の考え方を適用すると「x = x + 1」という式も成り立つ。ただし、通常の考えでは混乱する。「うん?左辺がxで、右辺がx +1だと式が成立しない!」となる。しかし、この「=」はイコールではなく、代入なのだ。むしろ「x ← x + 1」というイメージだ。「今までのxにx + 1を代入しなさい」、つまり、「xの値を1増やしなさい」ということだ。

 この「x = x + 1」という式は、もっと簡単に書いて「x += 1」と表すことができる。「 += 」は上図赤枠の代入演算子でもある。

 さて、ユーザー定義関数や代入演算子など盛りだくさんだったが、テクスチャアニメーションの応用が終了した。次はいよいよ、「パーティクル」(粒子)に移ろう。これは楽しくなりそうだ。それでは、次回もお楽しみに

大槻透世二氏
大槻透世二サイバーアドベンチャー(株)
代表取締役社長/CEO

デジタルハリウッド大学院
次世代インターフェース研究室 研究員
Second Life研究室 研究員/プロデューサー
Linden社推薦 Second Lifeセミナー講師

東北大学心理学専攻卒業。1年間のLA留学を経て、ソリッドレイ研究所でバーチャルリアリティのシステムインテグレーション、立体映像システム構築、HMDシステム構築などを経験。IT系コンサルティング会社を経て、デジタルハリウッド大学大学院コンテンツマネジメント修士課程修了(MCA)。その後、Linden Lab本社にてSecond Lifeカリキュラムのトレーニングを受ける。現在デジタルハリウッドにて「Second Life」セミナーを開催。また、バーチャルリアリティ、メタバース関連のシステム開発/プロデュースを行うサイバーアドベンチャー(株)を設立し、そのCEO職に就いている。

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

Special PR

特集

CIO

セキュリティ

スペシャル

NEWSLETTERS

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

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

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