Unity

[Unity][방법] Object충돌(Collision)_2 RaycastHit 레이저사용하기

usingsystem 2022. 10. 5. 14:57
728x90

RaycastHit[] hits;  - 충돌된 오브젝트 변수

 

Physics.RaycastAll - 레이저

 

Debug.DrawRay(transform.position + Vector3.up, look * 10, Color.red); - debug를 통해 레이저 발사 방향 확인

 void Update()
    {
        Vector3 look = transform.TransformDirection(Vector3.forward);//지역포지션 캐릭터 방향으로 레이저 발사를 위해.

        Debug.DrawRay(transform.position + Vector3.up, look * 10, Color.red);//debug를 통해 레이저 발사 방향 확인

        #region 여러개 확인
        RaycastHit[] hits;
        hits = Physics.RaycastAll(transform.position + Vector3.up, look, 10);

        foreach (RaycastHit hit in hits)
        {
            Debug.Log($"Raycast true {hit.collider.gameObject.name}");
        }
        #endregion

        #region 하나만 확인
        // RaycastHit hit;
        //if( Physics.Raycast(transform.position + Vector3.up, look, out hit, 10))
        // {
        //     Debug.Log($"Raycast true {hit.collider.gameObject.name}");
        // }
        #endregion
    }

 

728x90