オブジェクトの向きを、あるルールに従って制御したいような場合に使える方法。
基本的に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上で直観的に行えるのでお勧め。
関連記事
ブログのデザイン変えました
フィーリングに基づくタマムシの質感表現
デザインのリファイン再び
ZBrushCore
Python拡張モジュールのWindows用インストーラー配...
スクラッチで既存のキャラクターを立体化したい
CEDEC 3日目
写真に3Dオブジェクトを違和感無く合成する『3DPhotoM...
Google Chromecast
ZBrushでリメッシュとディティールの転送
ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエッ...
Quartus II
ZBrushでアヴァン・ガメラを作ってみる
機械学習で遊ぶ
DUSt3R:3Dコンピュータービジョンの基盤モデル
iPhone 3GSがますます欲しくなる動画
SculptrisとBlenderで作ったGodzilla ...
iOSデバイスと接続して連携するガジェットの開発方法
OpenGVの用語
日立のフルパララックス立体ディスプレイ
マルコフ連鎖モンテカルロ法
uGUI:Unityの新しいGUI作成システム
Raspberry PiのGPIOを操作するPythonライ...
Point Cloud Libraryに動画フォーマットが追...
スターウォーズ エピソードVIIの予告編
UnityでPoint Cloudを表示する方法
この本読むよ
Google App EngineでWordPress
オープンソースのロボットアプリケーションフレームワーク『RO...
書籍『メイキング・オブ・ピクサー 創造力をつくった人々』を読...
Open Shading Language (OSL)
畳み込みニューラルネットワーク (CNN: Convolut...
trimesh:PythonでポリゴンMeshを扱うライブラ...
Theia:オープンソースのStructure from M...
Caffe:読みやすくて高速なディープラーニングのフレームワ...
続・ディープラーニングの資料
ラクガキの立体化 3Dプリント注文
『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン ...
GAN (Generative Adversarial Ne...
Unityからkonashiをコントロールする
プログラミングスキルとは何か?
MFnMeshクラスのsplit関数

コメント