Unity3d에서 카드 게임을 만들고 있습니다. C#을 사용하여 프로그래밍 방식으로 게임 객체로 카드를 만들었습니다. 각 객체 (카드)를 마우스 버튼 클릭으로 움직이는 방법을 알고 싶었고, Raycast 콜라이더를 사용해 보았습니다. 그러나 작동하지 않습니다. 메쉬와 함께 전체 커버 인 부모 GameObject에 액세스하려고 시도하고 있으며 콜 아이더 객체/구성 요소를 통해 하위 GameObject에 액세스하려고합니다 (위치 이동 전용).이 문제를 해결할 수있는 쉬운 방법이 있습니까? 이 모든 것을 다른 방법으로하는 더 좋은 방법이 있습니까?스크립트에서 Collider 's GameObject에 액세스하려면 어떻게해야합니까?
는 업데이트 :
if (Input.GetMouseButton (0)) {
RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, out hit)) {
print (hit.collider.gameObject.name);
}
}
사용하신 레이캐스터 충돌 코드를 게시 하시겠습니까? –
예. 다음 코드를 사용했습니다. (Input.GetMouseButton (0)) { RaycastHit hit = new RaycastHit(); Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition); // **** if (Physics.Raycast (ray, out hit)) { print (hit.collider.gameObject.name); } } – Ananya