オブジェクトの向きを、あるルールに従って制御したいような場合に使える方法。
基本的に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上で直観的に行えるのでお勧め。
関連記事
WordPressのテーマを自作する
クラスの基本
Digital Emily Project:人間の顔をそっく...
ZBrushでアヴァン・ガメラを作ってみる 腕の作り込み
Python for Unity:UnityEditorでP...
Seleniumを使ったFXや株の自動取引
Google Colaboratoryで遊ぶ準備
実写と実写の合成時の色の馴染ませテクニック
ZBrushでゴジラ2001を作ってみる 頭の概形作り
ドットインストールのWordPress入門レッスン
CGWORLD CHANNEL 第21回ニコ生配信は『シン・...
この本読むよ
ZBrushのTranspose Masterでポーズを付け...
Unityで360度ステレオVR動画を作る
Mayaのレンダリング アトリビュート
オープンソースの顔認識フレームワーク『OpenBR』
SVM (Support Vector Machine)
After Effects全エフェクトの解説(6.5)
UnityでOpenCVを使うには?
viser:Pythonで使える3D可視化ライブラリ
MB-Lab:Blenderの人体モデリングアドオン
pythonもかじってみようかと
Google App Engine上のWordPressでA...
無料で使える人体3DCG作成ツール
ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエッ...
プログラムによる景観の自動生成
マルコフ連鎖モンテカルロ法
ZBrushでカスタムUIを設定する
『パシフィック・リム: アップライジング』のVFXブレイクダ...
ZBrushCore
iOSデバイスと接続して連携するガジェットの開発方法
Deep Fluids:流体シミュレーションをディープラーニ...
Faster R-CNN:ディープラーニングによる一般物体検...
スクラッチで既存のキャラクターを立体化したい
Polyscope:3Dデータ操作用GUIライブラリ
イタリアの自動車ブランドFiatとゴジラがコラボしたCMのメ...
タマムシっぽい質感
SONY製のニューラルネットワークライブラリ『NNabla』
Maya API Reference
MFnMeshクラスのsplit関数
ZBrushでゴジラ2001を作ってみる 身体のシルエット出...
Adobe Photoshop CS5の新機能

コメント