質問: ### 前提・実現したいこと 画像の赤い点を軸として、大砲のようにオブジェクトを回転させたい。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/d7516ff52d72f9993e8f662b9492052e.jpeg) ### ソースコード ``` public class TaihoRotate : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { transform.RotateAround(new Vector3(0,0,1), new Vector3(0,0,2),5); } } ``` ### 試したこと **transform**の**Rotate**や**RotateAround**などを使いコードを記述してみたのですが 全くあらぬ方向に回ってしまい、中々思い通りにいきません。 **Rotate**系を使うのはやめたほうが良いのでしょうか? 使える関数など教えて頂けると幸いです。。 ### 補足情報(FW/ツールのバージョンなど) **Unity 2019.1.0f2** 追加画像1) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/28589ad16d2b528f2b453c5e87284745.jpeg) 追加画像2) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/26c34a7e2b5464b305c844fbad4ac283.jpeg)
回答: Quaternion.AngleAxis メソッドを使ってイメージ通りに回転できないでしょうか? 参考:【Unity】 Quaternionの使い方 ``` //--------------------------------------- // Y軸周りを秒速45度で回転させるサンプル //--------------------------------------- // Y軸周りを回転するQuaternionを作成 Quaternion rotY = Quaternion.AngleAxis(45.0f * Time.deltaTime, Vector3.up); // 現在の回転値と合成 Quaternion newRotation = rotY * transform.rotation; // 新しい回転値を設定 transform.rotation = newRotation; ```