前提・実現したいこと
Unityで右クリックしたら指定したオブジェクトをInstantiateを使って複製できるようにしているのですが、
マウスのホイールで大きさを大中小の3段階・キーボードのキーで15°ずつ回転
(回転するのは最初はy軸を変えることができて、Shiftを1回押すとx軸、またShiftを押すとz軸…と軸を切り替えることが出来てEキーで回転させていくという風に考えています。操作性が悪いのは無視してください…)
という処理に変えたいのですができません。
文などめちゃくちゃで申し訳ありませんが、どなたか教えて頂けないでしょうかm(_ _)m
C#
1using UnityEngine; 2 3public class Copy : MonoBehaviour 4{ 5 GameObject copyObject;//複製したGameObject 6 bool copyNow; //コピーしている状態かどうか 7 8 void Update 9 { 10 if (Input.GetMouseButtonDown(0)) 11 { 12 Ray ray = new Ray(Camera.main.transform.position, Camera.main.transform.forward);//Rayをカメラの前方向に 13 RaycastHit hit;//ヒットした情報 14 if(Physics.Raycast(ray,out hit)) 15 { 16 if(copyNow) 17 { 18 Instantiate(copyObject, hit.point, Quaternion.identity); 19 copyNow = false; 20 } 21 else 22 { 23 copyObject = hit.collider.gameObject; 24 copyNow = true; 25 } 26 } 27 } 28 } 29}
アドバイスありがとうございます、現在コードはこのように書いていて、右クリックしたらRayを飛ばし、当たったオブジェクトをコピー、もし既にコピーされているならRayの当たっているところに複製
という感じで書いております。
回答1件
あなたの回答
tips
プレビュー