2017-03-06 1 views
0

지도에 3d 마커를 채우고 있습니다. 다음 목표는 클릭되는 마커를 감지하는 것입니다. 각 마커와 함께 UI 버튼이 붙어 있지만 좋은 방법은 아닙니다. 누구든지 더 나은 것을 제안 할 수 있습니까?3d 세계 유니티에서 3d gameobject를 클릭하십시오.

+0

레이 캐스트가 작동해야하지만, 유니티의 [의 EventSystem] (HTTPS : //docs.unity3d.com/ScriptReference/EventSystems.EventSystem.html)을 사용해야합니다. 그러면 나중에 코드에서 발생할 수있는 몇 가지 문제가 제거됩니다. * "** 5 **. 3D 오브젝트 (메쉬 렌더러/임의의 3D 콜리더)"* – Programmer

답변

1

마커에 충돌 장치가 있습니까? 그 경우라면, 당신은 당신이 게임 객체에 첨부 된 스크립트 컴포넌트에서 콜라이더 컴포넌트를 가지고있는 한 OnMouseDown 함수를 사용할 수 있습니다.

이 그렇지 않으면 당신은 Physic.RayCast으로 게임 오브젝트의 입자 가속기를 연결하고 검색 할 수 있습니다 http://answers.unity3d.com/questions/34795/how-to-perform-a-mouse-click-on-game-object.html

function Update() 
{ 
    if (Input.GetMouseButtonDown(0)) 
    { 
     var hit : RaycastHit; 
     var ray : Ray = Camera.main.ScreenPointToRay (Input.mousePosition); 

     if (Physics.Raycast (ray, hit, 100.0)) 
     { 
      // handle mouseclick 
     } 
    } 
} 
+0

예, 나는 게임 오브젝트와 충돌하는 사람이 있습니다. 마우스를 아래로 잡았 .. .. 고마워 .. :) –

1

에서이 코드를 사용할 수 있습니다

https://docs.unity3d.com/ScriptReference/Physics.Raycast.html 
관련 문제