http://wiki.unity3d.com/index.php/Tip_of_the_day
Nov 2012
Tip #40 - Billboarding
ビルボード化
Tip #40 - Billboarding
次のコードスニペットはオブジェクトのビルボード化に使用します。スクリプトをオブジェクトの上にドロップすることで、カメラの方へ自動的に向きます。
public class CameraBillboard : MonoBehaviour { // ゲームオブジェクトをビルボード化させる対象のカメラ public Camera m_Camera; // true の場合ゲームオブジェクトはクリッピング平面のカメラの前に配置されます。 public bool PositionInFrontOfCamera; // PositionInFrontOfCamera が true の場合のオブジェクトのオフセット幅 public float Offset = 0.001f; void Awake() { // カメラが指定されてない場合はメインカメラを使用 if (m_Camera == null) m_Camera = Camera.main; } void Update() { // カメラの forward ベクトルを取得して正規化 var vec = m_Camera.transform.forward; vec.Normalize(); // ゲームオブジェクトのポジションをカメラのクリッピング平面のすぐ内側にセットしてカメラビューをブロックするようにする if (this.PositionInFrontOfCamera) this.transform.position = m_Camera.transform.position + (vec * (m_Camera.nearClipPlane + this.Offset)); // ゲームオブジェクトの向きがカメラの方へ向くようにする this.transform.LookAt(this.transform.position + m_Camera.transform.rotation * Vector3.back, m_Camera.transform.rotation * Vector3.up); } }
-----
短いコードスニペットを使いこなして基本的なテクニックを身につけようぜ!
短いコードスニペットを使いこなして基本的なテクニックを身につけようぜ!
0 件のコメント:
コメントを投稿