質問: ### 前提・実現したいこと Unity3DでキャラクターA(青い丸)の周りを一定間隔開けて、 カメラ(赤い丸)に最も近い位置に回転するCanvas(World Space)(緑の四角)を実装したいのですが、実装方法が分かりません。 どのような方法を取る、又はコードを書けば実装できるのか、ご教示いただければ幸いです。 ![実装イメージ](https://teratail.storage.googleapis.com/uploads/contributed_images/06c6ea6e68c8045ddd6c3572665aa6d6.gif) ### 試したこと RotateAround等を試してみましたが、失敗しました。 どのような方法を用いれば実装可能なのか把握できておらず、ソースコードは触りの部分しか載せられないです。申し訳ありません。 ``` using UnityEngine; using System.Collections; public class CanvasFix : MonoBehaviour { public Transform character; public Transform camera; void Start () { } void Update () { } } ``` ### 補足情報(言語/FW/ツール等のバージョンなど) Unity5.4.2f2を使用しています。
回答: rateを0に近づけるとカメラ寄り、1に近づけるとキャラ寄りになります。 ``` var vec = character.position - camera.position; float rate = 0.5; // ※ transform.position = camera.position + vec * rate; ``` ※ コードブロック内だとちゃんと表示されなかったので、外に書きます float rate = 0.5f;