0
私は小さな都市メッシュとアパートの3Dモデルを持っています。私は私のシーンにメッシュを追加し、メッシュ上に3dモデルを配置します。ゲームオブジェクトをマウスでクリックする - Unity3d
マウスのクリックは3Dモデルでしか処理できません。私は以下のコードを使用します。しかし、私は画面上の任意の場所をクリックすると、サウンド= trueに設定されます。
3Dモデルgameオブジェクトにメッシュコライダーを追加します。
if (Input.GetMouseButtonDown (0)) {
Plane p = new Plane (Camera.main.transform.forward , transform.position);
Ray r = Camera.main.ScreenPointToRay (Input.mousePosition);
float d;
if(p.Raycast (r, out d)) {
sound = true;
}
どうすれば解決できますか?
Plane.Raycastを使用して同じタスクを実行するにはどうすればよいですか?コライダーは必要ありません。そしてそれはヒットから成っていません。 – zumma
あなたのコードから判断すると、あなたは常にあなたが打っている飛行機を作っているようです。面の値を変更してみてください –
@ zumma d値は何ですか? Debug.Log(d)と書いてください。 after if文。 –