▣ 코드 내 주요 함수 및 개념 설명:
Input.GetKeyDown(KeyCode.E):
E 키가 눌렸을 때 실행되는 조건입니다. 이 조건을 만족하면 그 아래의 코드를 실행합니다.
KeyCode.E는 E 키를 나타내며, 키 입력을 감지하는 데 사용됩니다.
▣ Debug.DrawLine():
화면에 선을 그려주는 디버그용 함수입니다. 여기서는 플레이어의 위치에서 오른쪽으로 1 단위 거리만큼 빨간색 선을 그려줍니다.
이 선은 Raycast의 탐지 범위를 시각적으로 보여주기 위한 용도로 사용됩니다. 게임 중 1초 동안 선이 표시됩니다.
▣ Physics2D.Raycast():
플레이어 위치에서 오른쪽으로 Raycast를 쏘아 weaponMake 레이어에 속한 오브젝트를 탐지하는 함수입니다.
RaycastHit2D 객체인 hit에 탐지된 물체에 대한 정보가 저장됩니다. 충돌한 오브젝트가 있으면 hit.collider는 null이 아닙니다.
▣ hit.collider.tag:
충돌한 오브젝트의 태그를 확인하는 부분입니다. 여기서는 충돌한 오브젝트가 Pistol인지 ShotGun인지 태그를 확인하여 각각의 처리로 나뉩니다.
▣ SetParent():
hit.collider.transform.SetParent(transform)은 탐지된 무기를 플레이어 오브젝트의 자식 오브젝트로 설정하는 함수입니다. 즉, 플레이어가 해당 무기를 장착하게 됩니다.
▣ localPosition = Vector3.zero:
장착된 무기의 위치를 플레이어와 동일하게 설정하기 위해 localPosition을 (0, 0, 0)으로 설정합니다. 이렇게 하면 무기가 플레이어의 위치와 정확히 일치하게 됩니다.
▣ DisableBoxCastVisualization()
BoxCast의 시각화 상태를 일정 시간 후 비활성화합니다.
Invoke 함수로 호출되며, 0.5초 후에 isCasting을 false로 설정하여 시각화를 중지합니다.
▣ DrawBoxCastInScene()
BoxCast의 네 모서리 좌표를 계산하고, 그 좌표를 사용해 사각형을 그립니다.
Debug.DrawLine 함수로 각 모서리를 연결하여 사각형 모양의 BoxCast를 화면에 그립니다.
사각형은 네 개의 선으로 구성되며, 녹색으로 표시됩니다.
https://docs.unity3d.com/ScriptReference/Physics2D.BoxCast.html
https://docs.unity3d.com/ScriptReference/Debug.DrawLine.html
https://docs.unity3d.com/ScriptReference/MonoBehaviour.Invoke.html
'[ Unity ] > - 유니티 실습' 카테고리의 다른 글
유니티 2D ParticleManager (파티클 프리팹으로 관리) (0) | 2024.09.27 |
---|---|
유니티 UI (Hp Slider, Text) (6) | 2024.09.26 |
유니티 2D RayCast, ShotGun RayCast (2) | 2024.09.24 |
유니티 Scene FadeIn FadeOut (4) | 2024.09.24 |
유니티 애니메이션 이벤트 (0) | 2024.09.23 |
댓글