지도에 3d 마커를 채우고 있습니다. 다음 목표는 클릭되는 마커를 감지하는 것입니다. 각 마커와 함께 UI 버튼이 붙어 있지만 좋은 방법은 아닙니다. 누구든지 더 나은 것을 제안 할 수 있습니까?3d 세계 유니티에서 3d gameobject를 클릭하십시오.
0
A
답변
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
레이 캐스트가 작동해야하지만, 유니티의 [의 EventSystem] (HTTPS : //docs.unity3d.com/ScriptReference/EventSystems.EventSystem.html)을 사용해야합니다. 그러면 나중에 코드에서 발생할 수있는 몇 가지 문제가 제거됩니다. * "** 5 **. 3D 오브젝트 (메쉬 렌더러/임의의 3D 콜리더)"* – Programmer