オブジェクトの向きを、あるルールに従って制御したいような場合に使える方法。
基本的にGameObjectのTransformを使う。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上で直観的に行えるのでお勧め。
関連記事
Unreal Engine Tokyo MeetUp!へ行っ...
ZBrushでゴジラ2001を作ってみる 側頭部のボリューム...
ZBrushのキャンバスにリファレンス画像を配置する
Mayaでリアルな布の質感を作るチュートリアル
ROSの薄い本
機械学習で遊ぶ
ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...
映像ビジネスの未来
ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...
ZBrushで仮面ライダー3号を造る 仮面編
PyDataTokyo主催のDeep Learning勉強会
Mitsuba 2:オープンソースの物理ベースレンダラ
R-CNN (Regions with CNN featur...
書籍『仕事ではじめる機械学習』を読みました
仮想関数
OpenMayaのPhongShaderクラス
3Dグラフィックスの入門書
映画『ミュータント・タートルズ』を観てきた
Ambient Occlusionを解析的に求める
OpenCV
OpenGV:画像からカメラの3次元位置・姿勢を推定するライ...
OpenCV 3.1のsfmモジュールのビルド再び
3Dスキャンに基づくプロシージャルフェイシャルアニメーション
ZBrushでゴジラ2001を作ってみる 身体のSubToo...
KelpNet:C#で使える可読性重視のディープラーニングラ...
1枚の画像からマテリアルを作成できる無料ツール『Materi...
素敵なパーティクル
PyTorch3D:3Dコンピュータービジョンライブラリ
Deep Learningとその他の機械学習手法の性能比較
Caffe:読みやすくて高速なディープラーニングのフレームワ...
白組による『シン・ゴジラ』CGメイキング映像が公開された!
フォトンの放射から格納までを可視化した動画
ラクガキの立体化 反省
Transformers ”Reference & Buli...
トランスフォーマーロストエイジのメイキング
mentalrayのSubsurface Scatterin...
ポリ男からMetaHumanを作る
ZBrushで基本となるブラシ
ディープラーニング
OpenCVの顔検出過程を可視化した動画
サンプルコードにも間違いはある?
Unity ARKitプラグインサンプルのドキュメントを読む

コメント