728x90 반응형 🌐 유니티 (Unity)68 Day 38 - SaveManager.cs 생성(정보 저장) 주제>> 게임 정보(인벤토리, 컨디션)를 Jason으로 저장하고 불러오는 기능을 담당하는 클래스 생성>> 싱글톤 패턴으로 관리하여 확장성 높이기>> 인벤토리 데이터를 관리하는 스크립트에 저장 관련 메서드 추가공부내용1. 저장기능 클래스 생성(SaveManager.cs)-게임 정보를 쉽게 저장하여 씬 전환이나 게임 종료 후 다시 시작해도 게임 정보를 불러올 수 있도록 확장 명사형 한글 주석-저장경로: savePathApplication.persistentDataPath는 각 플랫폼에 맞는 저장 경로를 반환 -저장 데이터: SaveDataJsonUtility.ToJson 메서드를 사용하여 객체를 JSON 문자열로 변환하고, 이를 파일에 저장 -데이터 불러오기: LoadData파일이 존재하면 내용을 읽어 Js.. 2024. 6. 11. Day 37 - 3D 건축 시스템 주제>> 플레이어가 직접 건축물을 배치하게 하기공부내용구현 단계 1. 프리뷰 오브젝트 생성: 특정 키를 눌렀을 때, 프리뷰용 오브젝트를 생성-> 'CreatePreviewObject' 함수에서 프리뷰 프리팹을 인스턴스화하고 초기 색상을 초록색으로 설정 구현 단계 2. 마우스 위치 따라다니게 하기: 생성된 프리뷰 오브젝트가 마우스 위치를 따라다니게 설정 -> 'FollowMouse' 함수에서 Raycasting을 사용하여 마우스 위치를 추적하고, 프리뷰 오브젝트를 그 위치로 이동 구현 단계 3. 건축 가능 위치 확인: Terrain 위인지, 다른 오브젝트와 충돌하고 있는 지 여부를 확인-> Terrain 오브젝트에 "Terrain" 태그를 추가 구현 단계 4. 건축 가능 여부 표시: 건축 가능한 .. 2024. 6. 4. Day 36 - AI 네비게이션 주제>> NavMesh>> NavMesh Agent>> NavMesh Obstacle(캐릭터를 목표 지점까지 이동)(적 몬스터가 일정 지역에만 머무름)공부내용1. NavMesh : 게임 세계에서 이동 가능한 영역(캐릭터가 움직일 수 있는 바닥과 장애물을 포함한 3D 공간) - NavMesh Baking : NavMesh 공간을 생성하는 과정 - NavMesh Agent : NavMesh 공간에서 경로를 탐색하고 이동할 수 있는 AI 캐릭터 - NavMesh Obstacle: NavMesh 공간에서 이동할 수 없는 장애물예제 1: 캐릭터를 목표 지점까지 이동- 바닥 생성: 바닥 역할을 할 Plane을 생성 ('GameObject > 3D Object > Plane') - NavMesh 생성: Plane 선.. 2024. 6. 3. Day 35 - JSON (게임 재시작 시, 최근 저장한 위치에서 시작) 주제>> JSON으로 위치 정보 저장(PlayerData.cs) >> S 키를 눌러 현재 위치 저장(PlayerController.cs)>> 게임 재시작 시 저장된 위치로 플레이어 이동(PlayerController.cs)공부내용1. JSON으로 위치 정보 저장 JSON이란?JSON(JavaScript Object Notation)은 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법.먼저 JSON 데이터를 유니티에서 쉽게 처리하기 위해, 필요한 라이브러리를 설치해야한다.(Unity Package Manager에서 'Json.Net for Unity' 패키지 설치) PlayerData.cs : 플레이어의 위치 정보를 저장하고 불러옴(위치 정보는 JSON 형식으로 변환되어 파일로 저장됨)using Un.. 2024. 5. 31. Day 34 - ScriptableObject & (프리팹 또는 GUID) 주제>> ScriptableObject>> 프리팹>> GUID 공부내용1. 개념ScriptableObject : 게임의 설정, 데이터 테이블, 게임 오브젝트의 프로토타입을 저장하는 데 유용하다.에디터에서 직접 데이터를 편집할 수 있어서 편하다. 프리팹: 재사용 가능한 게임 오브젝트의 템플릿으로, 한 번 정의하면 여러 곳에서 사용 가능하다. GUID: 전 세계에서 고유한 식별자를 생성하는 방법이다.한 마디로 하나 뿐인 고유 ID를 생성하여 게임 오브젝트에 부여할 수 있다.2. 프리팹을 사용하여 게임 오브젝트를 생성하는 예제 2-1. ScriptableObject 클래스 작성using UnityEngine;[CreateAssetMenu(fileName = "NewObjectData", menuName = ".. 2024. 5. 29. Day 33 - 3D 게임(해와 달) 주제>> 유니티 3D 조명 변화공부내용Gradient : 색상 변화를 표현하는 데 사용AnimationCurve : 시간에 따른 값을 정의하는 데 사용 lightSource.transform.eulerAngles : 광원의 회전을 설정RenderSettings.ambientIntensity : 환경 조명의 강도를 설정(낮에는 더 밝게, 밤에는 더 어둡게) 1. 단순한 낮과 밤의 조명 변화주기적으로 조명의 색상을 변화시켜 낮과 밤의 효과를 구현한 예제using UnityEngine;public class SimpleDayNight : MonoBehaviour{ public Light directionalLight; // 광원 public Gradient lightColor; // 색상 그라디언트.. 2024. 5. 28. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음 728x90 반응형