개인프로젝트 일지

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 11일차

1. 라이팅 설정 Directional Light는 Runtime으로 하나만 사용하고 나머지 라이트들은 씬에 라이트맵으로 저장되도록 세팅할까 합니다. 이유는 Directional Light는 특정 지역에만 적용되지 않기 때문입니다. 이미 설정은 10일 차에서 해두었고 추가적인 설정만 해주려고 합니다. 우선은 Baked Global Illumination을 사용할 겁니다. Directional Light를 Realtime을 사용하는 만큼 좀 더 계산량을 줄이기 위해 사용했습니다. 좀 더 자세한 내용은 다른 블로그 참고했습니다. https://ozlael.tistory.com/81 유니티의 Mixed Lighting 모드 (라이트맵 모드) 유니티의 씬의 모든 Mixed 라이트는 Mixed Lighting M..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 10일차

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 1일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 2일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 3일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 4일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 5일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 6일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 7일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 8일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 9일차 1. 서브씬 체크 코드 수정 저번에 서브씬 로드할지 체크하는 코드가 조금 문제가 있어 수정해보려 합니다. 현재 구현은 카메라의 수직 좌표를 이용하고 있는 상태입니다. 그래서 실제 카메라에 그려지는 영역과 차이가 있습니다. 그래서 이렇게 그리는 영역의 중심 좌표를..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 9일차

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 1일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 2일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 3일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 4일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 5일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 6일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 7일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 8일차 1. 실내 샘플 맵 간단하게 실내용 씬을 만들었습니다. 이걸 뜬금없이 만든 이유는 씬 전환 기능을 테스트할 겸, Collider Trigger로 워프 기능을 구현해보고 만들어봤습니다. 2. Collider Trigger로 워프 기능 구현 [RequireComponent(typeof(Collider))] publ..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 8일차

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 1일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 2일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 3일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 4일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 5일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 6일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 7일차 오늘은 따로 한 것 없이 샘플맵을 만들어봤습니다. 이걸 작업하면서 툴 관련 개선이 필요한 부분들이 보여서 몇 가지 수정했고, 영상 00:02~00:03 쯤 보시면 자연스럽게 미리 로드해주지 못하고 있는데, 이 부분은 나중에 개선을 해보도록 할게요. 다음에는 심리스 월드가 아닌 실내를 만들어보려 합니다. 실내 샘플맵을 간단하게 만들고, Trigger를 통해 워프..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 7일차

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 1일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 2일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 3일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 4일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 5일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 6일차 0. 오늘 계획 저번까지 심리스 맵처럼 구현을 완료하여 이번에는 샘플로 씬들을 컨셉별로 만들어보려 했는데, 제가 작업하려고 맥북을 들고 카페로 왔는데 마우스 없이 트랙패드로 하려니 정말 너무 힘들어서 다음으로 미루기로 했습니다. 월드맵으로는 사막, 초록숲, 보라숲(음산한 느낌?), 붉은숲(단풍 느낌?), 설원 정도 생각하고 있었고, 샘플용 던전 하나 정도 생각해두었습니다. 그래서 오늘은 게임 구조를 한번 정리..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 6일차

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 1일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 2일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 3일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 4일차 유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 5일차 1. 서브 씬 툴로 계산된 영역 보여주기 private void OnFocus() { SceneView.duringSceneGui -= OnDuringSceneGUI; SceneView.duringSceneGui += OnDuringSceneGUI; } private void OnDestroy() { SceneView.duringSceneGui -= OnDuringSceneGUI; } private void OnDuringSceneGUI(SceneView s..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 5일차

1. SubScene 툴 만들기 저번까지 만들었던 SubSceneSetting을 설정해주기 위해 툴을 개발해볼까 합니다. public class SubSceneTool : EditorWindow { [MenuItem("Tools/SubScene Tool")] public static void Open() { var window = (SubSceneTool)EditorWindow.GetWindow(typeof(SubSceneTool), false, "SubScene Tool", true); window.Show(); } public Vector2 SubSceneScoll = Vector2.zero; private void OnGUI() { //TODO - 메인씬 설정 기능 //TODO - 서브씬 세팅 파일..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 4일차

1. Singleton Template 씬을 전환시키는 역할의 클래스를 만들 예정인데, 어디서든 접근 가능하도록 Singleton으로 만들 생각입니다. https://coding-paper.tistory.com/2 Unity에서의 Singleton 1편 - 싱글턴 클래스 만들기 이 글과 이후 글에서는 싱글턴에 대한 설명보다는 Unity에서 구현해보는데 집중해보고, 문제점과 해결방법을 이야기해볼 예정입니다. 싱글턴에 대한 좀 더 상세하고 원론적인 내용이 필요하신 coding-paper.tistory.com https://coding-paper.tistory.com/3 Unity에서의 Singleton 2편 - MonoBehaviour Singleton의 문제점 이번에는 MonoBehaviour Single..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 3일차

1. NavMesh Bake Unity에서 지원하는 Navigation을 써보기 위해 NaveMesh를 Bake 해보겠습니다. 우선은 NavMesh로 만들 GameObject들마다 Navigation Static을 체크해줬습니다. Navigation Static을 체크한 MeshRenderer들을 기준으로 Bake 됩니다. (저는 여러 가지 최적화를 위해 맵 관련 GameObject들 마다 Static 모두 체크해두었습니다.) 적당히 값을 설정하여 Bake 했습니다. Bake에 성공하게 되면, Scene View에서 확인 가능합니다. 2. NavMeshAgent 설정 우선은 플레이어 GameObject에 NavMeshAgent컴포넌트를 추가했습니다. 적당히 값들을 수정해줬는데, Acceleration의..

개인프로젝트 일지

유니티로 "젤다의 전설: 꿈꾸는 섬" 모작 2일차

1. 캐릭터 이동 구현 https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0/manual/index.html Input System | Input System | 1.0.2 Input System The Input System package implements a system to use any kind of Input Device to control your Unity content. It's intended to be a more powerful, flexible, and configurable replacement for Unity's classic Input Manager (the UnityEngine.Input cl docs.unity3d.c..