본문 바로가기

Development/Unity27

JSON 직렬화로 데이터 저장, 불러오기2 2024.06.20 - [Coding/Unity] - [내일배움캠프 46일차 TIL] JSON 직렬화로 데이터 저장, 불러오기 [내일배움캠프 46일차 TIL] JSON 직렬화로 데이터 저장, 불러오기[ 플레이어 데이터 ]데이터가 저장되어 있는 변수를 바로 사용하는 것이 아니라, 직렬화하려는 데이터들만 따로 별도의 class나 struct로 만든다. public class Character : MonoBehaviour{ public UserData data; privsiknyang.tistory.com JSON을 처음 배웠을 때 코드를 따라하는 데 급급해서 내용 숙지가 제대로 안 됐었던 부분이 많았다. 이번에 최종 프로젝트에서 다시 JSON을 사용했고, 보다 깔끔하게 코드를 작성하고 이해가 가능해서 다시 .. 2024. 7. 10.
[내일배움캠프 59일차 TIL] 수면 시스템 구현하기 2024.07.03 - [Coding/Unity] - [내일배움캠프 55일차 TIL] 2D 하루 낮밤과 다음 날 구현하기 [내일배움캠프 55일차 TIL] 2D 하루 낮밤과 다음 날 구현하기[ URP 설정 ]2D에서 빛을 이용해 낮과 밤을 만들고 싶다면 URP 설정이 되어있어야 한다.URP는 Universal Render Pipeline으로 빌트 인(Built-In) 보다 향상된 그래픽 품질을 제공하는 파이프 라인이다. 유니티siknyang.tistory.com저번에 24시간 내내 시간이 흘러가고, 시간에 맞춰 빛 색이 변화하는 기능을 구현했다. 이번에는 침대에서 잠을 자면 다음 날 오전 6시로 넘어가는 기능을 추가했다. [ 수면 시스템 구현] 전체 코드using System.Collections;usin.. 2024. 7. 9.
[내일배움캠프 55일차 TIL] 2D 하루 낮밤과 다음 날 구현하기 [ URP 설정 ]2D에서 빛을 이용해 낮과 밤을 만들고 싶다면 URP 설정이 되어있어야 한다.URP는 Universal Render Pipeline으로 빌트 인(Built-In) 보다 향상된 그래픽 품질을 제공하는 파이프 라인이다. 유니티 버전 2022.3.17f1빌트 인으로 시작했더라도 패키지 매니저에서 URP를 설치하면 사용할 수 있다. URP를 검색해서 Install을 누르면 자동으로 설치된다. 이후 렌더링 토글에 생성 가능한 URP 파일들이 생기는데, URP Asset (with Universal Renderer)을 누르면 프로젝트 탭에 두 파일이 생성된다. 프로젝트 세팅에서 Graphics의 Scriptable Render Pipeline Settings에 아까 생성되었던 파일 중 _Asset.. 2024. 7. 3.
[내일배움캠프 50일차 TIL] 오브젝트 풀 객체 초기화 [ 트러블 슈팅 ]적이 죽고 리스폰되지 않음적을 구현할 때 오브젝트 풀을 이용해서 생성, 제거를 반복하지 않고 계속해서 가져다 쓰는 기능을 구현했다. 하지만 맨 처음 풀 사이즈만큼 적들이 생성되고 죽고 나면 다시 리스폰되지 않는 현상이 발생했다. private IEnumerator DestroyAfterDelay(float delay) { yield return new WaitForSeconds(delay); Destroy(gameObject); // 오브젝트 파괴 }그 이유는 적이 죽고 오브젝트를 씬에서 삭제하는 코루틴에서 적 오브젝트 자체를 파괴해버려서 다시 큐에 들어가지 못했기 때문에 생성되지 않았다. private IEnumerator DestroyAfterDe.. 2024. 6. 26.
[내일배움캠프 48일차 TIL] 오브젝트 풀에서 큐의 동작 원리 [ 오브젝트 풀에서 큐의 동작 원리 ]오브젝트 풀에서 자주 사용되는 것이 선입선출 구조인 큐(Queue)이다. 큐에 오브젝트를 넣을 때는 Enqueue 메서드, 뺄 때는 Dequeue 메서드를 사용하라고 해서 사용하곤 있지만, 오브젝트 풀에서 정확히 어떤 원리로 동작하고 있는지 이해를 해야 적절한 시점에서 해당 메서드들을 사용할 수 있다. 큐와 오브젝트예를 들어 설명하자면 큐는 관리자, 오브젝트는 일꾼이다. 일꾼들이 작업할 순서를 정해주는 것이 큐의 역할이다.활성화는 작업 중인 것이고, 비활성화는 작업을 하고 있지 않은 상태이다.모집 인원에 맞춰 이제 막 고용된 일꾼들은 일을 하고 있지 않는다. Enqueue()맨 처음 일꾼들이 일을 하러 와서 관리자에게 출석 확인을 한다. 작업 명단을 작성해서 관리자가.. 2024. 6. 24.
[내일배움캠프 46일차 TIL] JSON 직렬화로 데이터 저장, 불러오기 [ 플레이어 데이터 ]데이터가 저장되어 있는 변수를 바로 사용하는 것이 아니라, 직렬화하려는 데이터들만 따로 별도의 class나 struct로 만든다. public class Character : MonoBehaviour{ public UserData data; private void Start() { data.nickname = "식냥"; data.lv = 7; data.hp = 100; } private void Update() { // JSON 직렬화 if (Input.GetKeyUp(KeyCode.Q)) { var jsonData = JsonUtility.ToJson(data); .. 2024. 6. 20.
반응형