게임개발(16)
-
[Charon] #3. RigidBody를 사용한 3D 캐릭터의 경사로(Slope) 지형 이동 구현하기
오랜만에 다시 포스팅을 올리네요. 그동안 다른 교육 프로그램을 듣는다고 바빠서 카론 개발을 못 했습니다. FPS 게임 개발은 처음 진행해봤는데, 어릴 때 카운터스트라이크 온라인 좀비 시나리오 모드를 좋아했던 기억을 되살려 재미있게 만들었던 것 같습니다. 나중에 기획을 제대로 해서 사이드 프로젝트로 하나 진행해보고 싶네요. 멀티 플레이도 된다면 금상첨화겠지만 그거까지 하려면 갈 길이 굉장히 멀 것 같습니다.ㅎㅎㅎ... 잡담은 여기까지 하도록 하고, 저번 글에서는 이동 애니메이션 싱크 맞추는 것까지 했었죠? 평지에서는 아무런 문제가 없었지만 계단과 같은 경사 지형인 경우에는 수많은 문제가 발생했었습니다. 그래서 손을 봐야할 내용들이 좀 굉장히 많았어요. 그래도 하나하나 찾아보며 공부했기에 나름 의미있는 시간..
2022.08.30 -
[Charon] #2. 이동 애니메이션(Move Animation) 적용 및 싱크(Sync) 맞추기
1. 애니메이션 가져오기 캐릭터 모델이 휴머노이드가 아니라서 리타겟팅을 못 사용하는 경우 저는 에셋 스토어에서 캐릭터 모델을 샀고, Humonoid Animation Retargeting을 이용하여 Mixamo 사이트에 있는 애니메이션들을 재사용하려고 했습니다. 그런데, 구매한 에셋이 휴머노이드 모델이 아니더라구요. 그래서 Mixamo 사이트 애니메이션들을 적용하질 못 했습니다. 기존 휴머노이드 뼈대 구조와 구매한 에셋의 뼈대 구조가 달랐기에, 매칭이 안 되는 문제가 발생하더라구요. 그래서 그냥 3D 툴(Blender, Maya 같은)에 가져와서 뼈대를 모두 제거 후, Mixamo 사이트에 오토 리깅(Auto Rigging)이라는 기능을 이용하여 자동으로 휴머노이드 뼈대 구조를 등록해 주었습니다. 이전에..
2022.08.18 -
[Charon] #1. New Input System을 적용하여 플레이어 이동 구현하기
리팩토링(Refactoring) 결정 오랜만에 다시 Unity 프로젝트 글을 올리게 되었네요. 4학년 1학기가 끝나 방학이 왔고, 잠시 휴식 기간을 가졌었습니다. 잠깐 쉬고 난 뒤에는 C++ 문법 공부, Python으로 백준 풀기, Unreal Engine5 배우는 등으로 시간을 보냈습니다. 그러다가 미루고 미루던 기존 카론(Charon) Unity 프로젝트를 슬슬 손 봐야겠다는 생각이 들더라구요. 기존에 작성했던 소스코드 구조는 너무 맘에 안 들었고, 이대로 가다가는 스파게티 코드가 되는 건 시간 문제라는 게 보였습니다. 그래서 어떻게 하지 하다가 결국 리팩토링을 하기로 결정했어요. 제일 먼저 작업을 시작하기로 한 건 입력 시스템이었습니다. 이전에 컴포넌트별로 클래스를 나눈 것까지는 좋았으나, 갈수록 ..
2022.08.17 -
[압량(Amnyang)] #13. 2D 게임 적(Enemy) 패턴 구현하기
이 때까지 플레이어 캐릭터, 조명 처리, 배경 세팅 작업을 진행했었다. 오늘은 플레이어를 방해할 경관(Police) 패턴을 만들어볼 생각이다. 공포 게임 특성상, 좀 어두워 보여야 하기에 유니티 스프라이트 렌더러에서 색감을 어둡게 낮췄다. 이제 차례대로 한 번 만들어보자. 1. 경관 외관 세팅하기 평소 상태(Idle), 걷기(Walk), 인기척 감지(Feel) 애니메이션은 다른 팀원이 만들어준 상태다. 따라서, 이번에는 따로 애니메이션 작업을 안 해도 됐다. 다만, 원래 기획서 상에는 이런 내용이 없었지만 우리가 개발하는 게임이 공포게임인큼 좀 더 확실한 이펙트를 주고 싶었다. 경관이 들고 있는 손전등에 라이트(Light)를 달아줬다. 흰색이나 노란색 조명은 오히려 플레이어를 구하러 온 경관 느낌이 났기..
2022.02.21 -
[압량(Amnyang)] #12. 2D 캐릭터가 벽에 달라붙는 버그 수정 + 평상 밑에 숨기 구현하기
게임 하다가 한 번씩은 그래도 깜짝(?)놀랄만한 공포 이벤트를 저번 시간에 만들었다. 이번에는 적(무당)의 집 평상 밑에서 숨기 버튼('F키')를 눌렀을 때, 숨도록 하는 기능을 만들어야 한다. 1. 시작하자마자 버그 마주치기 평상 부분이 레이어가 나뉘어져 있지 않아서, 유니티에서 오브젝트로 존재하지 않는 상황이다. 그래서 발판으로 사용하기 위한 빈 오브젝트를 생성하고, 콜라이더를 부착해줬다. 그리고 테스트를 위해, 캐릭터를 조작하여 달리면서 점프하여 평상 위로 올라가게 하려했다. 근데 만약 점프 중간에 평상 측면 콜라이더 부분에 닿이게 되면 아래와 같이 낀 것처럼 된다. 정상적인 상황이라면, 위와 같이 끼었다면 방향 조작이 있다 하더라도 중력에 의해 자연스럽게 아래로 미끄러져 내려와야 한다. 뭐가 문제..
2022.02.19 -
[압량(Amnyang)] #11. 2D 공포 분위기 조성용 이벤트 만들기
프로젝트 개발 진행 초기에 디자이너 님께서 구현해보고 싶다는 내용이 있었다. "집 창문에서 사람이 떨어지는 연출을 넣고 싶다."고 하셨었다. 그래서 오늘 그 부분을 이뤄드리려고 구현에 들어갔는데, 아쉽게도 디자이너 님께서 포토샵 작업하실 때 레이어를 덜 나누셨다. 그래서, 사람이 떨어지는 걸 구현할 수가 없었다. 그래도, 좀 그럴싸하게 어떻게 공포스런 느낌을 줄 수 없을까 내 자신 나름대로 고민을 해봤다. 빨간 조명이 뜨면서 어떤 남자가 창문에서 서 있는 모습도 괜찮지 않을까란 생각이 들었다. 그래서 우선 구현에 들어가봤다. 1. 색감 탁하게 만들기 전역 조명의 세기를 낮춰도, 기본적으로 약간 밝은 톤으로 만들어진 이미지들이었기에 어두운 느낌을 내질 못했다. 그래서, 스프라이트의 Color 프로퍼티를 통..
2022.02.15