Projects/Charon(12)
-
[Charon] #Final. 간단한 보스몹 만들기 + 카메라 셰이킹(with 시네머신)
어찌보면 여기까지가 이 프로젝트의 마지막 구현일 수 있겠네요. 오늘은 간단하게 만든 보스몹에 대해 얘기해보겠습니다. 보스몹은 게임에서 플레이어에게 위압감과 함께, 목표를 심어주는 역할을 합니다. 하지만, 제가 만든 보스몹은 그에 반해 너무 초라하네요...ㅎㅎ😂 시간 관계상 간단한 2가지 패턴만 적용시키기로 했었습니다. 1. 보스몹 "진광" 보스몹 "진광"의 패턴은 플레이어와의 거리에 따라 두 가지밖에 없습니다. 플레이어와의 거리가 멀 경우, 회전베기 동작을 두 번하며 플레이어에게 접근합니다. 플레이어와의 거리가 가까울 경우, 거대한 검을 소환하며 땅을 내려찍습니다. 일반 적 몬스터와 다르게, 다음 특별 사항 또한 존재합니다. 넉백 효과와 타격 애니메이션이 적용되지 않습니다. 공격을 시전 중일 때에는 무적..
2023.04.05 -
[Charon] #11. 다양한 적(Enemy)의 이동, 공격 구현하기
일반적인 게임에서는 플레이어를 방해하는 적(Enemy)들이 존재합니다. 이들은 플레이어를 공격하거나, 플레이어가 게임 진행을 원활하게 진행하는 것을 방해하는 목적을 가지고 있습니다. 이 게임에서도 적들이 존재하며, 각각 어떻게 구현했는지에 대해 얘기하는 시간을 가져보려고 합니다. 1. AI Navigation 기능을 통한 적의 맵 내 이동 기본적으로 적들은 맵 내에서 이동 가능한 지역만을 돌아다녀야 합니다. 이동 불가능한 지역을 뚫고 간다던가, 목표 지점을 앞에 벽이 있는데도 옆으로 돌아가지 않고 계속 벽을 향해 이동한다면 게임 진행이 안 될 것입니다. 또한, 자기가 이동 중인 방향을 바라보며 이동해야 하며, 방향 전환을 위해 회전을 했는데 어설프게 회전하는 것도 게임에 대한 몰입을 깰 것입니다. 이러한..
2023.04.05 -
[Charon] #10. "카론의 노" 무기 공격 및 스킬 구현하기
플레이어가 공격을 하거나 스킬을 사용하면, 그에 따라 화려하고 멋진 이펙트와 사운드가 나면서 유저가 게임에 더욱 몰입할 수 있게 해줍니다. 이펙트는 아티스트분들이 제작하여 주지만, 저는 아티스트가 없기 때문에 Unity Asset store에서 구매하여 사용하였습니다. 문제는 제가 이펙트를 적용하여 게임을 제작해 본 적이 없다는 것이지요. 공격 및 스킬 이펙트를 모션과 어떻게 싱크를 맞춰 자연스럽게 보이게 할 것이며, 피격 판정 또한 어떻게 하면 자연스럽게 들어갈까가 고민사항이었습니다. 이 부분에 대한 경험이 없다보니, 구글링도 해보고 유튜브도 찾아봤지만 죄다 아티스트를 위한 이펙트 제작 정보만 있었습니다... Unity Asset Store에 샘플 프로젝트라도 있었으면 뜯어봐서 참고해봤을텐데 찾진 못했..
2023.04.04 -
[Charon] #9. 대시(Dash) 선입력(Input Buffer) 기능 추가하기
1. 선입력(Input Buffer)이 필요한 이유 게임에서 로직의 실행 단위는 프레임(Frame)입니다. 게임을 하다보면 FPS(Frames Per Second)란 수치를 볼 수 있는데, 1초에 몇 프레임이 실행되는지를 나타냅니다. 좋은 고사양 장비인 경우에는 200 프레임 이상의 수치를 보여주곤 합니다. 우리 게임에서 대시 애니메이션이 30fps이 조금 넘습니다. 이것은 선입력을 통한 버퍼가 없다면, 플레이어가 저 짧은 시간 내에 타이밍을 맞추어 입력을 해야 한다는 의미가 됩니다. 대시를 하는데 그 정도의 집중력을 쓰게 되면 피로도가 빨리 쌓이게 되겠죠. 철권과 같은 격투 게임은 커맨드(Command)라는 게 존재하는데, 입력 버퍼가 존재하기에 편안하게 콤보를 입력할 수 있습니다. 우리 게임에도 이러..
2022.11.16 -
[Charon] #8. 플레이어와 카메라 사이의 오브젝트 투명화하기
졸업 작품을 마무리하는 시즌이라 바빠서, 개발에만 몰두하다 보니 글을 쓸 시간이 없었네요. 마감이 다가오니, 효율적이고 좋은 소스 코드를 짜는 것과 시간 안에 마무리 하는 것 사이에서 타협을 해야 했습니다. 그러다 보니, 이게 좋은 방법인가를 고민할 겨를이 많이 없어 하드 코딩도 어느 정도 들어간 것 같습니다. 시간이 나면 차차 다시 고민해보며 리팩토링을 해보고 싶네요. 글을 안 쓴 지 오래 되었다 보니, 어디서부터 글을 써야할 지 모르겠더군요,,, 그래서 일단 최근에 한 것 중 글을 독립적으로 쓸 수 있는 부분부터 써보도록 하겠습니다. 1. 쿼터뷰(isometric view) 시점의 문제점 이 게임은 3D 로그라이크 핵 앤 슬래시 게임으로, 쿼터뷰 시점을 가지고 있습니다. 위에서 살짝 대각선 방향인 부..
2022.11.16 -
[Charon] #7. 무기 기본 3타 콤보 공격 구현하기 (긴 글 주의)
저번 글에서 확장성을 고려하여 무기 시스템의 기반을 만들었었습니다. 이제는 진짜 무기의 공격 구현을 해볼 차례네요. 공격 키를 입력 받아야 하니 새로운 입력 키 바인딩이 필요할 것이고, 단순히 눌렀을 때냐 아니면 누르고 유지하고 있을 때냐 등등의 상호작용도 추가해줘야 할 겁니다. 우선 입력 처리부터 먼저 해보도록 하겠습니다. 1. 공격 키 바인딩 및 입력 분기 처리하기 New Input System의 "상호 작용(Interaction)" 공격은 마우스 좌 클릭으로 입력을 받습니다. Player Input Actions에 들어가서 해당 키 바인딩을 해주도록 하죠. 왼쪽 마우스 버튼을 바인딩 해주었습니다. 그런데 Interactions에 Hold와 Press가 추가한 걸 볼 수 있는데요. 상호작용(Inter..
2022.10.06