내용으로 건너뛰기
GINS WIKI 긴스 위키
사용자 도구
로그인
사이트 도구
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
현재 위치:
긴스위키 GINS wiki
»
개발 언어
»
unity
»
2D 좌표 >> 3D 좌표
추적:
검색
language:unity:2-raycast
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 2D 좌표 >> 3D 좌표 ====== * 마우스로 클릭한 곳의 3D 좌표를 구할때, * **RaycastHit** 와 **Ray**를 사용해서, 마우스 기준 위치를 얻는다. * 내가 쓰려고 하는, 특정 오브젝트에 닿았는지 확인한다. <code csharp> public Camera subCamera; // 기준이 되는 카메라는, 외부에서 변수 등록할 수 있게 설정 public GameObject targetObject; // 마우스 클릭에 반응할 오브젝트 void Update() { RaycastHit _hitRet = new RaycastHit(); // 결과를 저장할 RaycastHit Ray _cameraRay = subCamera.ScreenPointToRay( Input.mousePosition ); // subCamera시점에서 마우스 위치를 ... // targetObject가 마우스 클릭 지점에 있는지, 클릭한 지점의 위치는 어디인지 얻는다. if( targetObject.collider.Raycast( _cameraRay, out _hitRet, 40f ) ) { // 3D 좌표를 저장 target.position = _hitRet.point; // 어디를 가리키는지 선을 그어본다. Debug.DrawLine( _cameraRay.origin, _hitRet.point ); // 리액션 if( Input.GetButtonUp("Fire1") ) { /* 마우스 클릭시 뭔가 한다.*/ } } } </code> Physics에도 Raycast가 있고, 2D좌표를 3D 좌표로 변경이 가능한데, 아직 윗부분 아랫부분 차이를 잘 모르겠다. <code csharp> RaycastHit _hitRet = new RaycastHit(); Ray _cameraRay = subCamera.ScreenPointToRay( Input.mousePosition ); // 어떤 물체든 화면상에 오브젝트가 있는 곳이라면, if( Physics.Raycast(_cameraRay.origin, _cameraRay.direction, out _hitRet, 40) ) { Debug.DrawLine( _cameraRay.origin, _hitRet.point ); target.position = hit.point; } </code>
language/unity/2-raycast.txt
· 마지막으로 수정됨: 2024/04/23 22:44 저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로