전체 글(67)
-
최종프로젝트 제작 과정 (아이템 만들기)
미로게임에 필요한 아이템이 무엇이 있을 까 팀원들과의 회의를 거쳐 적과의 전투에서 필요한 체력 회복 물약, 빠른 탈출을 위한 이동속도 증가 물약, 탈출구(포탈)의 위치를 알려주는 나침반, 지나온 길을 표시할 수 있는 발광석을 만들기로 했다. 1. 나침반 (Compass) using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Compass : MonoBehaviour { public Transform playerTransform; //플레이어의 Transform을 연결. public Transform exitTransform; //출구의 Transform을 연결. publ..
2024.02.27 -
최종프로젝트 제작 과정 (적 만들기)
플레이어를 따라와 공격을 하는 적의 경우 첫번째 플레이어를 만들었던 방식과 유사하게 만들어보았다. FSM 방식으로 만들어주었는데, 4개읭 State와 이 State를 관리하는 EnemyStateMachine을 만들었다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Enemy : MonoBehaviour { public float detectionRange = 2f; //감지 범위. private Transform player; private SoundManager soundManager; private bool isPlayerInRange = false; [field: Header("R..
2024.02.27 -
최종프로젝트 제작 과정 (플레이어 만들기)
플레이어 역시 2가지 방식으로 제작이 되었다. 첫번째는 Character Controller 컴포넌트를 활용하여 FSM 방식으로 만들었고, 두번째는 PlayerController를 사용하여 Rigidbody 와 Collider를 각각 달아주어 제작되었다. -Character Controller를 사용하여 FSM 방식으로 만든 첫번째 플레이어 캐릭터의 경우 Cinemachine 카메라도 사용하여 역동적인 플레이가 가능하도록 하고자 했으나, Terrain 맵의 매끄럽지 못한 부분과 카메라가 닿아 플레이를 할 때 자주 확대와 축소가 이루어져 플레이가 어지러웠고, 3인칭 보다는 1인칭 시점으로 플레이를 하는 것이 더욱 몰입감을 높일 수 있을 것 같아 1인칭으로 만들어보았다. 지시에 따라 이동을 수행하되 충돌이 ..
2024.02.27 -
최종프로젝트 제작 과정(맵 만들기)
최종프로젝트를 진행하면서 만들어진 과정을 자세하게 정리해보고자 한다. 맵만들기 맵은 2가지 방식으로 만들어보았다. -Terrain 을 활용한 맵 만들기 지형만들기로 유용한 Terrain을 활용하여 맵을 만들어보았는데, 마우스 클릭이나 드로우를 통해 간단하게 지형을 만들 수 있다보니 곡선이나, 원하는 모양의 미로를 만들기 수월했다. 나무로 곳곳에 랜덤하게 배치가 가능했으며, 원하는 만큼의 높이도 조절이 가능하고, Smooth Height를 이용하여 표면을 매끄럽게 만들 수 있었다. Terrain 방식의 단점은 지형이다보니 캐릭터가 특정 속도를 도달하게 되면 벽을 타고 올라갈 수 있는 점이다. 뿐만 아니라 원하는 곳에 색상이나 모양을 통일감있게 만들고 싶어도, 높낮이를 조절하는 방식에서는 한계를 접하게 되었..
2024.02.27 -
2024.02.13 최종프로젝트 유저테스트 사이클
1. 에너지볼의 위치 랜덤생성 스크립트 작성 2. 게임 팝업 창의 게임가이드 작성 3. UI매니저 접근제한자 (private) 4. 아이템 해제 키 5. 발소리 효과음 동시에 나는 이유 6. 캐릭터스태미나 스크립트 달리기 중의 이동코드 수정 7. 사운드 매니저 추가 필요 8. 나침반 아이템 효과 변경필요(차라리 에너지볼 위치를 가르키는 걸로) using System.Collections; using System.Collections.Generic; using UnityEngine; public class RandomPositionSetter : MonoBehaviour { public Transform[] spawnPoints; // 미리 정의된 4가지 위치 void Start() { SetRandomP..
2024.02.13 -
2024.02.01 최종프로젝트 중간발표 (발표자료 준비)
프로젝트명 : 알 이즈 웰! All is well! 모든 것은 잘 될거야! 1. 게임 기획 3D 게임개발 강의를 들으면서 강의 내용을 토대로 개발이 가능한 게임을 고민하던 중 미로게임을 만들면 재밌을 것 같아서 기획하게 되었습니다. 실제로 미로찾기 게임을 해본 경험이 있었는데, 야외기도 하고, 공간의 제약으로 인해서 다양한 미로찾기 게임을 할 수 없는 점이 아쉽게 느껴졌습니다. 그래서 3D로 제작하여 추후에 VR이나 PC 게임으로 실제와 같은 미로찾기를 할 수 있으면 시공간의 제약도 없고, 원하는 미로나, 캐릭터, 아이템 등 다양한 요소들을 추가할 수 있을 것 같다고 생각하게 되었습니다. 스크립트 작성이나, 유니티 엔진 사용이 익숙하지 않은 것 같아 복습 겸 개발진행을 구상하며 개인과제를 진행했습니다. ..
2024.02.01