Second Life 新世界的ものづくりのススメ--その37:エンジン6 - (page 5)

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

2008-02-14 08:00

 今回のソースコードでは、「integer held」部分が「integer level」となっている。これにより、キーが押されているか、押されていないかをチェックしている。押されている場合には、下図のように処理が実行される。

キーが押されている場合の処理 ※クリックすると図全体が見られます

 前進および後退の場合、「VEHICLE_LINEAR_MOTOR_DIRECTION」という直線速度が、前進は200の速度、後退は-10の速度で実行される。

 ここで、このソースコードの最後の処理を見て欲しい。「angular_motor」は、「control ()」イベントが始まってすぐにベクター型データとして定義された変数だが、結局、この「llSetVehicleVectorParam()」内にある「VEHICLE_ANGULAR_MOTOR_DIRECTION」を実行する際のデータを示している。

「llSetVehicleVectorParam()」

ベクター型データ

 ベクター型のデータとはで表せるようなデータであり、例えば、空間座標や色(RGB)等で使われる。

vector angular_motor = <100,10,0>

と定義した式は、実は次のようにも表すことができる。

vector angular_motor ;
angular_motor.x = 100
angular_motor.y = 10
angular_motor.z = 0

 ここではこのベクターデータの式をこのようにX、Y、Z要素に分解している。少しとまどったかもしれないが、ベクターデータの特徴として覚えておこう。

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

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

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

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

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