void PutAnter() { if (prevEventType == EventType.MouseDown) { prevEventType = EventType.Repaint; return; } if (Event.current == null || Event.current.type != EventType.MouseUp) { prevEventType = EventType.MouseUp; return; } //マウスの位置情報の取得 Vector3 mousePos = Event.current.mousePosition; //Y軸方向の補間 mousePos.y = SceneView.currentDrawingSceneView.camera.pixelHeight - mousePos.y; //Ray..伸びる線のこと //シーンビューでマウスをクリックすると伸びる線を作成(画面には見えない) Ray ray = SceneView.currentDrawingSceneView.camera.ScreenPointToRay(mousePos); //当たり判定用の変数作成 RaycastHit hit = new RaycastHit(); //当たり判定の処理 //シーンビューから見てオブジェクトに当たったら処理を開始する if (Physics.Raycast(ray, out hit)) { //オブジェクトを作成 GameObject obj = Instantiate(AnkerPrefab, hit.point, Quaternion.identity); //自分の子供にする obj.transform.parent = transform; Anker temp = obj.GetComponent <Anker>(); temp.Init(lineScale, hit.normal); //でばっぐよー //Debug.DrawRay(hit.point,hit.normal * 10000.0f, Color.blue, 100.0f, false); //オブジェクトの法線の向きをそろえる obj.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal); } //現在のイベントのタイプの更新 prevEventType = EventType.MouseDown; //!< 線情報を更新 CreateLine(); }