728x90
반응형
RayCast를 사용하면 레이어를 지정 안했을때 가장 먼저 닿는 오브젝트를 인식함.
만약 원하지 않는 오브젝트를 투과해서 원하는 오브젝트에만 닿게 하고 싶다면 아래 코드를 사용
선언 : int _layerMask = 1<<LayerMask.NameToLayer("One");
사용 : Physics.Raycast(ray, out hit, 100f, _layerMask)
or Physics.Raycast (transform.position, transform.TransformDirection (Vector3.forward), hit, Mathf.Infinity, _layerMask);
등등
몇 개의 레이어만 원할 때
선언 : int _layerMask =1<<(-1)-((1<<LayerMask.NameToLayer("One"))|(1<<LayerMask.NameToLayer("Two");
위에서 (-1)은 모든 레이어를 말함
즉 One과 Two를 제외한 모든 레이어에 충돌 확인을 하겠다는 것.
RayCast 함수
- public static bool Raycast(Ray ray, out RaycastHit hitInfo);
- public static bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance);
- public static bool Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance, int layerMask);
- public static bool Raycast(Ray ray, out RaycastHit hitInfo, [Internal.DefaultValue("Mathf.Infinity")] float maxDistance, [Internal.DefaultValue("DefaultRaycastLayers")] int layerMask, [Internal.DefaultValue("QueryTriggerInteraction.UseGlobal")] QueryTriggerInteraction queryTriggerInteraction);
- public static bool Raycast(Ray ray, float maxDistance);
- public static bool Raycast(Ray ray, float maxDistance, int layerMask);
- public static bool Raycast(Ray ray);
- public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance);
public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance, int layerMask); - public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance, int layerMask, QueryTriggerInteraction queryTriggerInteraction);
- public static bool Raycast(Vector3 origin, Vector3 direction);
- public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance);
- public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance, int layerMask);
- public static bool Raycast(Vector3 origin, Vector3 direction, [Internal.DefaultValue("Mathf.Infinity")] float maxDistance, [Internal.DefaultValue("DefaultRaycastLayers")] int layerMask, [Internal.DefaultValue("QueryTriggerInteraction.UseGlobal")] QueryTriggerInteraction queryTriggerInteraction);
- public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo);
728x90
반응형
'Unity' 카테고리의 다른 글
[Unity] Custom Editor로 VR/None VR 전환 버튼 만들기 (0) | 2019.07.12 |
---|---|
[Unity]Oculus go / Normal Mobile build Method (0) | 2019.07.11 |
[Unity]Meta2가 SteamVR에 인식이 안될 때 (0) | 2019.06.10 |
[Unity]유니티와 Vulkan (0) | 2019.06.07 |
[Unity] Meta 2 개발 준비 방법 (0) | 2019.06.04 |