強火で進め

このブログではプログラム関連の記事を中心に書いてます。

クリックしたオブジェクトの方を向く


以下の様なイメージで構成。

黄色のCubeの組合せ → Player(砲台的なもの)
赤、緑、青のCube → ターゲット

ターゲットをクリックするとPlayerがその方向を向きます。

実際の動作はこちらで試せます。ソースコードこちら

ターゲットには以下のJavaScript
【ClickBehaviourScript.js】

private var playerBehaviourScript: PlayerBehaviourScript;

function Start () {
  var playerObj : GameObject = GameObject.FindWithTag("Player");
  playerBehaviourScript = playerObj.GetComponent(PlayerBehaviourScript);
}

function OnMouseDown () {
  var ray : Ray;
  var hit : RaycastHit;
  ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  if (Physics.Raycast(ray, hit, 100)) {
    print(hit.collider.gameObject);
    playerBehaviourScript.TargetLookAt(hit.collider.gameObject.transform);
  }
}

Playerには以下のJavaScriptを設定
【PlayerBehaviourScript.js】

function TargetLookAt (target : Transform) {
	transform.LookAt(target);
}

ターゲットをクリックしたら OnMouseDown イベントが発生し、その中でPlayerのJavaScriptの TargetLookAt () を呼び、Playerを自分(ターゲット)の方を向かせます。

Unityの中の人のスライド「How to Scale Your Tech」

Unityの中の人、Aras Pranckevičius(@aras_p)さんのスライド「How to Scale Your Tech」。

細かい文字の部分は置いとくとして22,29,36,37ページ辺りのキャプチャや写真が中々、興味深いですね。Unityではこんな環境でテストしてるんですね。

こちらの「Develop Conference in Brighton」というイベントで使われたスライドみたいです。

Develop Conference in Brighton - All Sessions
http://www.developconference.com/page.cfm/action=Seminars/SeminarID=17