A downloadable project

Mart Mayhem에서의 개인 작업 내용

0. 유니티에서 구현한 모든 것

1. 맵,구조물,플레이어 배치

2. 인 게임 구현 (실제 코드는 조금씩 다르지만 최대한 간단하게 설명)

  2-1. 맵 에 갇히게 만드는 무한 루프 를 만드는 방법

    3층계단의 투명한 텔레포트 오브젝트 A와 2층 계단의  투명한 텔레포트 오브젝트 B를 동일한 위치에 두고

    1) 2층 계단에서 플레이어와 텔레포트 오브젝트 B의 거리를 구한다.

    2) 텔레포트할때 텔레포트 오브젝트 A에서 1)에서의 거리를 뺀다.

    3) 이후 카메라나 오브젝트의 회전값으로 변경되어 애매해진 시점을 한바퀴 돌리는 형식으로 수정하여 디테일을 잡습니다.


  2-2. 중복되지않은 랜덤한 조건의 이상현상 오브젝트 활성화

    이상현상오브젝트를 담을 배열(StrangeObjects)와  바뀔 오브젝트를 담을 배열(inactiveObjects)을 만들어 관리 합니다

   1) 각 층마다 순서대로 배열에다가 이상현상 오브젝트를 넣어둡니다. 3층은 0부터 20, 2층은 21부터 50, 1층은 51부터 70

   2) 현재층을 지정해 현재 3층이라면 0~20,2층은 21~ 50, 1층은 51~ 70 을 지정해 둡니다

   3) StrangeObjects배열에서 중복되지 않은 랜덤한 오브젝트 5개를 뽑아 활성화 시키고 inactiveObjects 배열 같은 순서에 위치한 오브젝트를 비활성화 시킵니다.

   4) 만약 중간에 실패후 다시 3층에 돌아왔을때 ResetCondition() 메서드를 만들어 StrangeObjects배열의 모든 오브젝트를 비활성화, inactiveObjects 배열의 모든 오브젝트를 활성화 시킵니다.

   5) 이후 무한 루프를 위해 3)번을 다시 실행시킵니다.


  2-3. 계단을 통한 현재 층에서의 조건 검사

   계단을 내려가는곳에서 이상현상 오브젝트가 비활성화 되어있는지 확인 하고, 활성화 되어있다면 다시 3층으로 텔레포트, 비활성화 되어있다면 다음층의 조건을 생성합니다    1) 이상현상 오브젝트를 생성할때 다른 배열 A에 그 오브젝트들을 담아둡니다.

   2) 플레이어가 오브젝트와 상호작용 했을때 그게 이상현상 오브젝트라면 비활성화 후 원래 오브젝트를 다시 불러옵니다.

   3) A배열 모든 오브젝트들이 비활성화 상태라면 다음 층으로 이동해도 루프 되지 않게 하는 bool형 변수를 True로 합니다.


  2-4. 전체적인 완성도 작업

   1) 씬을 넘어가도 유지되는 설정값 UI들.

   2) 특정 조건일때 어떤 엔딩을 볼지에 대한 것들

   3) 플레이어가 잘 보기 힘든곳에 위치한 오브젝트들을 잘 보이는 곳으로 위치 이동 또는 스케일 변경

   4) 설정창을 열었을때나 쪽지가 열려있을때 시간을 멈추고 움직이지 않도록 하기

   5) 특정 조건일땐 마우스가 보이게 하거나 안보이게 하기

   6) 추가적인 씬 이나 비디오 재생, 3층에서의 기절하는 연출 등등

다운로드에는 사용한 코드들이 들어있습니다. 프로젝트 파일 전체는 이 링크를 사용해 주세요.
위에 설명한 주요 기능은 Teleport,ConditionManager,GameManager에 들어있습니다.
https://drive.google.com/file/d/1YCNajTAUzq2j0N5o4QH5tPUq4r2Bx5T1/view?usp=drive...

Published 9 days ago
StatusReleased
CategoryOther
Authorkjm09139

Download

Download
Scripts.zip 18 kB

Leave a comment

Log in with itch.io to leave a comment.