UnityのGameObjectの向きをScriptで制御する

オブジェクトの向きを、あるルールに従って制御したいような場合に使える方法。

基本的にGameObjectTransformを使う。Transformの持つforward, right, upがそれぞれX(赤),Y(緑),Z(青)の各軸みたいに対応している。
Transform

forward: ワールド座標系でのtransformの青軸。
right: ワールド座標系でのtransformの赤軸。
up: ワールド座標系でのtransformの緑軸。


スポンサーリンク

これらは読み取り用として以下のように、使うこともできるけど、


スポンサーリンク
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Example() {
        rigidbody.velocity = transform.forward * 10;
    }
}

例えば、以下のような感じで、transform.upの値を毎フレーム更新することで、常に一定の方向を向き続けさせることができる。
この例では、GameObjectがどんなに動いても、絶対に上下がひっくり返ったりしないようになる。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        this.GameObject.transform.up = new Vector3(0, 1, 0);
    }
}

その他、transform.LookAtを使うと、特定の位置座標を注視するように向きを制御することができる。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Transform target;
    void Update() {
        transform.LookAt(target);
    }
}

これでカメラが常に1つのオブジェクトをフレームに捉えるような実装ができる。
この方法は、向きを数値入力でなく、他のオブジェクトとの位置関係で制御できるので操作がGUI上で直観的に行えるのでお勧め。


スポンサーリンク

関連記事

タマムシっぽい質感
Raytracing Wiki
トランスフォーマー :リベンジのメイキング (デジタルドメイン)
python-twitterで自分のお気に入りを取得する
SIGGRAPH ASIA 2009で学生ボランティア募集してるみたい
WordPressの表示を高速化する
Mayaのシェーディングノードの区分
Phongの表現力パネェ 材質別のPhong Shader用パラメータ一覧
ジュラシック・パークのメイキング
ミニ四駆を改造してBluetoothラジコン化する
Seleniumを使ったFXや株の自動取引
ブログをGoogle App EngineからAmazon EC2へ移行
マイケル・ベイの動画の感覚
MFnDataとMFnAttribute
Google Earth用の建物を簡単に作れるツール Google Building Maker 公...
konashiのサンプルコードを動かしてみた
2012のメイキングまとめ(途中)
映画『ブレードランナー 2049』のVFX
Verilog HDL
頭蓋骨からの顔復元と進化過程の可視化
リニアアクチュエータ
AndroidもopenGLも初心者さ (でもJavaは知ってるよ)
Quartus II
ブログのデザイン変えました
Iterator
3D映画のポストプロダクション 2D-3D変換
顔追跡による擬似3D表示『Dynamic Perspective』
OpenCVで顔のランドマークを検出する『Facemark API』
WinSCP
MeshroomでPhotogrammetry
BlenderでPhotogrammetryできるアドオン
Deep Neural Networkによる顔の個人識別フレームワーク『OpenFace』
Maya LTでFBIK(Full Body IK)
Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
オープンソースの顔の動作解析ツールキット『OpenFace』
Houdiniのライセンスの種類
CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!
Google App Engineのデプロイ失敗
自前Shaderの件 解決しました
クリエイターのための機械学習ツール『Runway ML』
書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
Maya 2015から標準搭載されたMILA

コメント