오늘은 NavMesh agent 가 이동 중 공격 범위에 적이 들어오면 자동으로 공격하게 만들어 보겠습니다!
먼저 이전에 만들었던 강이랑 아이템을 이런 식으로 없애주세요!
그리고 앞을 구분할 수 있도록 캐릭터를 살짝 꾸며봤어요 앞은 캐릭터 게임오브젝트를 클릭하면 나오는 파란색 화살표가 그 게임오브젝트의 정면이라고 생각하시면 됩니다!
그리고 공격이 나갈 곳을 만들어줄게요 캐릭터에서 우클릭 그리고 create Empty를 눌러줍니다.
그리고 화살표로 이동시키면서 공격이 나갈 위치를 지정해 주세요 저는 이렇게 만들었어요 공격이 나갈 위치의 이름은 AtPos라고 만들었습니다.
그리고 캐릭터 capsule의 RigidBody를 수정할게요
이런 식으로 Rigidbody의 Constraints 옵션에 있는 Freeze Position, Freeze Rotation을 다 체크해 주세요!
그리고 공격 투사체를 만들어 주겠습니다.
Hierarchy > 빈 공간 우클릭 > 3D object > Sphere를 클릭 한 뒤 이런 식으로 만들어주세요! 투사체의 Transform 값입니다.
이름은 Bullet이라고 하겠습니다.
그리고 Bullet에 Rigidbody를 추가해주시고 Use Gravity 체크를 해제해 주세요
만든 신 후 Hierarchy에 있는 Bullet을 드래그하여 Assets 폴더 안에 넣어주세요
그리고 씬 안에 있는 Bullet 게임 오브젝트를 삭제해 주세요!
RigidBody(강체), Collider 와 Trigger
RigidBody는 물리 엔진을 통해 게임 오브젝트를 움직이고 상호작용할 수 있게 해주는 요소입니다. RigidBody 가 추가된 게임오브젝트는 중력이나 힘, 물리 충돌 등에 영향을 받게 됩니다!
Collider는 물리엔진이 물체간 충돌을 감지할 수 있도록 만들어진 요소입니다. RigdBody 요소와 함께 사용하여 물체간 물리적인 상호작용을 할 수 있습니다. Collider 는 두개 이상의 물체가 서로 충돌할 때 OnCollisionEnter, OnCollisionStay, OnCollisionExit 등의 함수를 호출할 수 있습니다.
Trigger 는 Collider 와 비슷하지만 물리적인 영향을 주지 않습니다. Trigger 는 물체가 충돌할 때 OnTriggerEnter, OnTriggerStay, OnTriggerExit 등의 함수를 호출하며 두 물체의 Tirgger 가 충돌하는 순간에 이벤트를 발생시키기 위해 사용됩니다