[Unity3D] 슈팅 게임 제작 7장 - 적 공격, 사망 이벤트
·
개발/Unity
'절대 강좌 유니티' 를 바탕으로 실습한 내용을 담았습니다. 이번 장에서는 몬스터와 플레이어에게 hp를 부여하고 서로의 공격과 사망 이벤트를 구현할 것이다. 적의 공격 능력전 장에서 몬스터가 플레이어와 일정 거리 이내로 좁혀짐녀 공격 애니메이션을 수행하는 로직을 구현했다. 이제 실제로 데미지를 입혀야 하는데, 주인공에게 데미지를 입히는 방법은 1. 물리적인 타격, 2. 공격 주기의 수치상의 데미지 이렇게 두 가지 방식이 있다. 첫 번째 방식인 물리적인 타격을 통해 데미지를 입히는 방식으로 구현을 해보도록 하겠다. 물리적인 충돌을 발생시키기 위해 몬스터의 양쪽 손에 Sphere Collider와 Rigidbody를 추가해주고 Collider의 Is Trigger 속성에 체크해 몸체에 있는 Capsule ..
[Unity3D] 슈팅 게임 제작 6장 - 적 캐릭터 구현
·
개발/Unity
'절대 강좌 유니티' 를 바탕으로 실습한 내용을 담았습니다. 적 캐릭터는 자신만의 인공지능을 가지고 있어 게임 속 플레이어와 유기적인 플레이를 할 수 있게 제작해야 한다. 유한 상태 머신(FSM)유한 상태 머신은 NPC의 인공지능을 구현하는 방식 중 하나로, 적 캐릭터가 스스로 알아서 주변 환경에 적응하거나 들어오는 반응에 적절하게 반작용하도록 구현한 것을 말한다. 적이 스폰되고, 일정 범위를 순찰하다가 플레이어를 추적하고 사정거리 이내에 근접하면 공격하는 것과 같은 구조를 상태 머신이라고 하는데, 몬스터가 사망하고 소멸하는 구조이기에 상태가 유한해서 '유한 상태 머신' 이라고 부른다. FSM의 단점은 상태가 많아질수록 상태와 상태간의 연결이 복잡해지고 코드의 확장과 유지 보수가 어려워지는 것이다. 메카..
[Unity3D] 슈팅 게임 제작 4장 - 총 발사 로직(Mac)
·
개발/Unity
'절대 강좌 유니티' 를 바탕으로 실습한 내용을 담았습니다. 이번 장에서는 총알 발사 기능을 구현하고 충돌 처리 방법을 알아볼 것이다.게임에서 총기류 발사는 크게 두 가지 방식이 있는데 Projectile 방식과 RayCasting 방식이다.Projectile 방식 : 총알이 물리적으로 발사되어 직접 날아가 적에게 타격을 입히는 방식Raycasting 방식 : 레이저 빔과 같은 눈에 보이지 않는 광선을 발사해 적 또는 물체를 검출하는 방식(발사와 동시에 피격).이번 장에서는 Projectile 방식으로 우선 구현하겠다. 총알 모델 삽입우선 리소스에서 총알 모델을 추가해주고 빈 오브젝트에 자식으로 넣은 뒤 각도를 알맞게 적용해준다. 그 후 총알을 직선 방향으로 나아가게 하는 스크립트를 작성하여 Bullet..
[Unity3D] 슈팅 게임 제작 3장 - 캐릭터 제작(Mac)
·
개발/Unity
'절대 강좌 유니티' 를 바탕으로 실습한 내용을 담았습니다. 이번 장에서는 플레이어 캐릭터를 제작하고 C# 스크립트를 작성하여 이동 로직을 구현할 것이다. 우선 다운받은 Player 게임오브젝트를 하이러키 뷰로 드래그하여 배치한다. 이제 스크립트를 작성하여 이동을 구현할 것인데 유니티는 C# 언어를 지원하기 때문에 visual studio 와 visual studio code를 이용할 수 있다. 필자는 vscode를 이용하여 해보고 싶었지만, 자동완성이 안되고 monosharp 오류 등 이상한 문제가 계속 생겨 머리가 아파져서 그냥 visual studio for mac 을 쓰기로 하였다. (윈도우는 visual studio 2019) 코드 에디터를 선택하였으면 Unity 설정에서도 변경을 해주어야 하는..
[Unity3D] 슈팅 게임 제작 2장 - 게임 스테이지 제작(Mac)
·
개발/Unity
'절대 강좌 유니티' 를 바탕으로 실습한 내용을 담았습니다. 이번 자습에서 실습할 내용은 3인칭 시점 슈팅 게임 개발이다. 프로젝트 뷰는 게임 개발에 사용하는 모든 리소스가 저장되는 곳으로, 개발을 진행할수록 많은 리소스가 나열된다. 처음부터 체계적으로 관리해야 하기 때문에 종류에 따라 폴더로 분류해서 관리하기 위해 폴더를 생성해 주었다. 실습을 진행하기 위해 MADFINGER Games 사에서 개발한 "ShadowGun:Deadzone" 캐릭터 에셋과 텍스쳐, 하늘 배경 등 여러가지 에셋들을 '에셋 스토어' 에서 다운받는다. 에셋스토어는 상단 메뉴 Window -> Asset Store에서 들어갈 수 있다. 바닥 생성 및 배치게임의 바닥을 제작하기 위하여 3D object 의 plane을 하나 생성..
[Unity3D] 슈팅 게임 제작 1장 - Unity 시작하기(Mac)
·
개발/Unity
https://unity.com/kr/download#how-get-started 다운로드지금 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요.unity.com허브 다운로드위 사이트에서 유니티 허브를 다운 받은 후, 라이선스를 등록하고(Personal) 에디터를 설치한다. 자세한 과정은 이미 구글에 많이 나와있으니 생략하겠다..! 필자는 23년도 2월 기준으로 LTS(장기지원) 버전인 2021.3.18f1 에디터를 설치했다. (글을 쓰는 지금 확인해 보니 3.19f1 으로 벌써 바뀌었지만 상관없다.) 프로젝트 생성프로젝트 탭에서 우측 상단에 새 프로젝트를 클릭한다.실습은 3D FPS 게임을 만들 것이기 때문에 3D로 생성..