Unity/John Lemon in Nightmareland

Unity Piscine Module06 - 1. 과제 해석

surkim 2024. 8. 21. 10:49

42 서울의 unity piscine의 마지막 과제

Unity Piscine - Module06

Navmesh, Light, Sound and Camera

을 만들면서 기록을 하려한다.

 

전 과제들은 레퍼런스가 잘 없던 거 같은데 이 과제는 유니티 튜토리얼을 그대로 따온 느낌이라 많이 참고해 만들것 같다.

https://learn.unity.com/project/jon-remonyi-gongpo-ceheom-3d-cogeubjayong

 

존 레몬의 공포 체험: 3D 초급자용 - Unity Learn

존 레몬의 공포 체험: 3D 초급자용 프로젝트에 오신 것을 환영합니다. 이 프로젝트는 튜토리얼 10개로 구성되며 스텔스 게임(Stealth game)을 만드는 방법과 단계별 원리를 설명합니다. 개발 경험이

learn.unity.com

 

 

 

우선 과제 번역, 해석부터

 

ex00 - John Lemon in Nightamareland

캐릭터를 만들어야한다. 주어진거 써라

  •  대기 및 걷기 애니메이션을 가짐
  •  이동할 수 있어야함

스테이지를 생성

  • John이 벽장에서 나온 방, 다른 방, 복도 (너무 많은 방을 만들지는 말것)
  • 특정 방에는 플레이어가 접근하면 열리는 문을 배치
  • 방을 침실, 욕실, 식당등으로 꾸며 환경요소 추가
  • 3개의 열쇠로 열 수 있는 방 만들기. 이 방에는 John이 도착한 벽장과 유사한 벽장이 있고 플레이어는 이 벽장을 통해 스테이지를 완료해야한다.
  • 3개의 서로다른 방에 열쇠를 배치. 플레이어는 이 열쇠를 찾아 벽장이 있는 문을 열어야 함

과제에서 주어진 스테이지 예시 이미지

 

ex01 - Finding your way

공간을 만들었으니 적을 추가할 차례 - 유령, 가고일

적 모델도 주어진거 써라

유령이 현실적인 방식으로 이동할 수 있도록 설정해야함

먼저 적이 이동할 환경을 위해 Navmesh를 생성해야한다. 

Navmesh를 생성한 후, 적이 Navmesh를 사용해 이동할 수 있도록 설정

Navmesh 설정 예시 이미지

유령 특징

  • 걷기 애니메이션이 있다.
  • 감지영역이 있어서 플레이어가 그 곳을 지나가면 감지해야한다.
  • NavMesh를 통해 한지점에서 다른 지점으로 이동해야한다. 플레이어에 NavMesh Agent를 추가하고, 스크립트에 SetDestination매서드를 사용해라

가고일 특징

  • 대기 애니메이션이 있다.
  • 플레이어는 가고일을 통과할 수 없어야 한다.
  • 가고일은 붉은 빛(횃불의 빛)으로 표시된 감지 영역이 있으며, 플레이어가 그 빛을 지나가면 가고일이 이를 감지한다.

유령이 감지했을때

  • 유령은 잠시 동안 플레이어를 추격한 후 원래 위치로 돌아감. 유령이 플레이어를 따라잡으면 플레이어 기절, 스테이지를 다시 시작
  • 씬에 최소 4명의 유령이 있어야함

가고일이 감지했을때

  • 모든 유령이 경고를 받고 플레이어 쪽으로 이동
  • 씬에 최소 2명의 가고일이 존재

ex02 - Qustion of viwepoint

registry에서 Cinemachine 패키지를 사용할 수 있다.

쓰는 건 자유

카메라는 2개 시점을 가진다 - 3인칭(TPS), 1인칭(FPS)

시점을 변경하려면 플레이어가 c키를 눌러야함

TPS camera

  • 플레이어 뒤쪽 높은 곳에 위치
  • 플레이어를 따라감
  • 카메라가 플레이어와 같은 방향을 바라보게 하거나 그렇지 않게 설정 가능
  • 플레이어 이동은 wasd

FPS camera

  • 플레이어 눈에 위치
  • 마우스로 주위 둘러볼 수 있음, z키를 누르면 바라보는 방향으로 이동

Cinemachine과 마찬가지로, unitys은 매우 강력한 입력 시스템을 제공하며, 이를 사용하여 캐릭터의 움직임을 관리할 수 있다. 사용여부는 자유!

 

ex03 - Ending game

간단한 게임 종료 화면을 만들 것

Textures/UI 폴더에 2개의 이미지가 있음

2개의 페이드 인/아웃 애니메이션을 만들 것

  • 플레이어가 잡혀 시작 지점으로 돌아갈 때
  • 게임을 이겼울 때

ex04 - Light and sound

씬에 GlobalPostProcess GameObject를 추가하여 몇 가지 후처리 효과를 포함할 것

Post-processing component가 유용할 것이다

Directional Light의 속성을 변경하고 조명 설정을 변경하면 도움이 될 것이다

  • 주변소리 추가
  • 플레이어가 기절할 때 사운드 추가
  • 플레이어가 이겼을 때 사운드 추가
  • 캐릭터의 발걸음 소리 추가
  • 유령 소리 추가 (가까이 있을 때만 들릴것)