LookAtを2Dで再現するには
Quaternion FromToRotation(Vector3 fromDirection, Vector3 toDirection);
fromDirection
から toDirection
への回転を作成します。通常、ワールド空間で Transform を回転させ、座標の 1 つ、例えば、y 座標をターゲットの方向 toDirection
に向かせるために使用します。
LookAtを2Dで再現するには
まず最初に書いたものはUnity公式のリファレンスから引用したものになります。
Transformを回転させ、座標の1つをターゲットの方向に向かせるという事です。ちなみにLookAtはどうしてつかわないかというと。
こんなふうになって2Dの見えちゃいけない部分が見えてしまいます。
今回使うのはこの2行のスクリプトです。
Vector3 diff = (Head.gameObject.transform.position - this.transform.position);
this.transform.rotation = Quaternion.FromToRotation (Vector3.up, diff);
//Vector3.upはVector3(0,1,0)と同じ意味とリファレンスに書いてます。
他にもstatic変数はあるのでこちらで確認してみて下さい。
diffは頭と球体のtransform.positionの差が格納されています。
Quaternion.FromToRotationは二つのポジションの差を自身の回転にするというものらしいです。
実際に動かしてみるとこんな感じです。
コンソールはdiffの値を出力しています。
頭の頂点で追いかけるようにはなってくれました(笑)
この辺はまだちょっと自分には難しいかも…
ちょっと頑張ってやってみましたが、なんだかちょっと反応が遅いですね…
こちらはいつもお世話になっているテラシュールブログさんから知識を拝借いたしました!