質問: 初めまして、Unityに関して質問します。 Unity・プログラミング共に初心者です。 現在Unity3DでTPSカメラ・移動のコントローラを作成しているのですが、 その作成中に詰まってしまった所がありそこを質問したいです。 仕様 PSO2やWatch dogsカメラと言うと分かりやすいかとも思いますが キャラクターが停止している時は自由な角度からキャラを見る事ができ 移動する時はカメラの向いている方向に移動 という物です。 ちょうど良く使えそうなRotateAround()という物を見つけ それらしい動きはする様になったのですが キャラクターを動かしてみた所、 カメラがついて行かないのです、 恐らく RotateAround(回転の中心,方向,速度) だけでは距離を保つ事ができないからだと思うのですが Transform.positionにキャラクターのpos+offsetを入れるだけでは 回転させる事ができないので、特定のオブジェクトと距離を保つ方法をお教え頂きたいです。 よろしくお願い致します。
回答: この様な形で解決できるとは思ってもみませんでした。 更にすぐに回答して頂き非常に助かりました。 最終的な形としては回答頂いた様に container ├ camera └ character という形にした上で、 カメラが向いている方向に進む(PSO2カメラ?)というのを実装する為に obj = GameObject.Find("Main Camera"); cameraPos = obj.GetComponent(); moveDirection = new Vector3(GetAxis,0,GetAxis);//省略してあります。 cameraPos.TransformDirection(moveDirection) という様な形で、ここにスピードやらdeltaTimeやらを掛けて Controller.Moveで動かしました。