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上で直観的に行えるのでお勧め。


スポンサーリンク

関連記事

OpenCVのバージョン3が正式リリースされたぞ
顔のモデリング
OpenGVのライブラリ構成
『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイクダウン
頭蓋骨からの顔復元と進化過程の可視化
ZBrushで仮面ライダー3号を造る 仮面編 DynaMesh
『パシフィック・リム: アップライジング』のVFXブレイクダウン まとめ
Adobe Photoshop CS5の新機能
OANDAのfxTrade API
AR (Augmented Reality)とDR (Diminished Reality)
ゴジラ三昧
Seleniumを使ったFXや株の自動取引
Maya LTでFBIK(Full Body IK)
Webスクレイピングの勉強会に行ってきた
マジョーラ
動的なメモリの扱い
OpenCV 3.3.0 contribのsfmモジュールのサンプルを動かしてみる
布のモデリング
ラクガキの立体化 3Dプリント注文
OpenCVの超解像処理モジュール『Super Resolution』
無料で使える人体3DCG作成ツール
Mitsuba 2:オープンソースの物理ベースレンダラ
OpenCVで顔のモーフィングを実装する
C#で使える可読性重視のディープラーニングライブラリ『KelpNet』
読みやすくて高速なディープラーニングのフレームワーク『Caffe』
映画から想像するVR・AR時代のGUIデザイン
UnityプロジェクトをGitHubで管理する
AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う
UnityのuGUIチュートリアル
参考になりそうなサイト
Zbrushでメカ物を作るチュートリアル動画
WordPressプラグインによるサイトマップの自動生成
ZScript
Unreal Engine 5の情報が公開された!
Google Earth用の建物を簡単に作れるツール Google Building Maker 公...
ZBrushのお勉強
Houdiniのライセンスの種類
OpenMayaRender
Verilog HDL
ラクガキの立体化 モールドの追加
Google App Engineのデプロイ失敗
Pix2Pix:CGANによる画像変換

コメント