Print Friendly and PDF

Unity 17

[이론] ECS

이번 시간엔 ECS와 Job, Burst에 대해 알아보려 합니다.그전에 알아봐야할 OOD에 대해 간단하게 설명해보려 합니다. OOD란?(Object Oriented Design)- 속성, 기능을 하나로 묶어 객체로 표현하고 이 객체를 기반으로 점차 확장, 연결하여 다양하고 긴밀한 객체들을 개발합니다. 이러한 방식은 개발자가 의도한대로 빠른 개발이 가능한 장점이 있지만 여러 문제점이 있습니다 객체 지향 디자인의 문제점- 기능이 추가 될 때마다 구조가 복잡 : 새로운 객체들이 생길때마다 점점 늘어나기 때문- 과거 개발 히스토리를 파악해 두어야함 : 위에 설명한 것처럼 새로운 것들이 생길때마다 늘려가기 때문에 과거 히스토리를 모르면 어려울 수 있음- 연산처리가 객체 중점 : CPU보다는 메모리를 많이 사용하며..

[이론] 에셋 번들

에셋 번들이란?- 메인 게임이나 앱과 별도로 저장되어 런타임에 로드되는 콘텐츠이다. - 에셋 번들을 통해 필요한 부분만 다운로드 하고 설치가 가능하며 네트워크 및 시스템 리소스에 대한 부담을 최소화 할 수 있다.- 에셋 번들은 출시 후 콘텐츠 업데이트하거나 추가할때도 사용된다. 장점- 출시 후 콘텐츠 업데이트 및 추가 가능- 자동 업데이트 및 프로젝트 간 콘텐츠 재사용 가능*리모트 AssetBundle로 변경 사항을 확인 한 후 로컬에 저장된 에셋 번들을 다운로드 받을 수 있음 배리언트- 배리언트를 이용하여 동일한 이름으로 bundlename을 지을 수 있어, 플랫폼 또는 상황별로 가져올 수 있음- 단, 배리언트를 사용하면 특정 부분만 배리언트로 가져온다가 되지 않고 해당 bundlename의 배리언트를..

[이론] Addressable

Addressable이란?- Addressable의 주요 기능은 에셋에 주소를 할당하고 런타임에 로드하는 것이다.- 에셋은 앱에 '빌트인'되거나 '로컬'로 캐싱되거나 '원격'으로 호스팅 될 수 있다. 왜 런타임에 로드하는 것이 주요한가?- Unity의 Resources파일에 필요 리소스 들을 넣을 경우 앱을 실행할때 전부 로드해버립니다. 하지만 Addressable의 경우 런타임에서 필요할때 불러올 수 있어 앱의 실행 시간이나 메모리를 효율적으로 사용할 수 있습니다. 에셋 주소- Addressable창에 주소, 카탈로그, 레이어 등 설정이 가능하다- 고유한 주소를 할당하는 것도 좋지만, 굳이 고유할 필요도 없다.Addressable 예시에셋 1: 주소: "plate_armor_rusty", 레이블: "h..

[이론] UniTask

UniTask : GitLink GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity.Provides an efficient allocation free async/await integration for Unity. - Cysharp/UniTaskgithub.com UniTask란 무엇인가?- UniTask는 Unity 환경에 특화된 고성능 async/await 라이브러리입니다. Unity의 기본 코루틴(Coroutine)과 C# 표준 Task의 단점을 보완하고 대체하기 위해 만들어졌습니다.주요 특징- Unity의 비동기 작업(AsyncOperation 등)과 생명주기 이벤트(Upda..

[이론] 코루틴

유니티에서 코루틴이란?- 다수의 프레임에 작업 분산이 가능- 코루틴은 실행을 일시정지하고 제어를 유니티에 반환하지만 중단한 부분에서 다음 프레임을 계속할 수 있는 매서드- 단, 코루틴은 스레드가 아니며, 동기작업으로 메인 스레드에서 실행이 됨- HTTP전송, 에셋로드, 파일 I/O 등 기다리는 것과 같이 긴 비동기 작업을 처리 해야하는 경우 코루틴을 사용하는 것이 좋다고 함 예제.IEnumerator Fade(){ Color c = renderer.material.color; for (float alpha = 1f; alpha >= 0; alpha -= 0.1f) { c.a = alpha; renderer.material.color = c; yield..

[이론] Scriptable Object

Scriptable Object란?- 데이터를 저장하는데 사용되는 데이터만 저장하는 데이터 컨테이너- 메모리 공간 절약- 런타임에 동적으로 생성/삭제 가능- 런타임 시 ScriptableObject의 값을 변경하면 앱에 즉시 업데이트 됨(앱을 종료해도 변경한 값이 그대로 유지됨) 사용방법using UnityEngine;[CreateAssetMenu(fileName = "Data", menuName = "ScriptableObjects/SpawnManagerScriptableObject", order = 1)]public class SpawnManagerScriptableObject : ScriptableObject{ public string prefabName; public int number..

[버그] Google Signin SDK 'native googlesignin' 버그

▶ 참고 링크- 바로가기 DllNotFoundException: Unable to load DLL 'native-googlesignin': The specified module could not be found. · Issue #106 · googleIm getting an error when trying to signin with Google using the google-signin-unity plugin. its showing like this in the logcat errors: E Unity : Unable to find native-googlesignin 08-30 12:21:52.7...github.com ▶ 에러 내역- unable to load dll 'native googlesigni..

유니티/버그 2025.04.15

[ECS] 2. 오브젝트 생성

이전시간- 바로가기 URL을 이용해 com.unity.entities 설치 진행- Pacakge Manager -> URL을 이용해 com.unity.entities.graphics 설치 진행 ▶ 유니티6 ECS 설치 에러 발생시 "[pa" data-og-host="lhy-info.tistory.com" data-og-source-url="https://lhy-info.tistory.com/entry/ECS-%EC%9C%A0%EB%8B%88%ED%8B%B06-ECS-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%97%90%EB%9F%AC-%EC%88%98%EC%A0%95" data-og-url="https://lhy-info.tistory.c..

유니티/ECS 2025.04.14

[ECS] 유니티6 ECS 설치 및 패키지 에러 수정

▶ ECS 공식 문서- 바로가기 1. 패키지 설치- Pacakge Manager -> URL을 이용해 com.unity.entities 설치 진행- Pacakge Manager -> URL을 이용해 com.unity.entities.graphics 설치 진행 ▶ 유니티6 ECS 설치 에러 발생시 "[package manager window] error adding package: com.unity.entities. unable to add package [com.unity.entities]: one or more dependencies could not be added to the local file system: com.unity.collections: eperm: operation not permit..

유니티/ECS 2025.04.13

[Cursor] 9. Cursor로 게임 제작 도전! - 소감

▶ 9번째 소감 ◀- Cursor을 이용해 플래피 버드를 비슷하게 만들어 본 소감을 작성해보려 합니다. ▶ 소감- 우선 이전에 쿠키런 모작을 해보려 했던 것에서 느꼈던 건 아직 완벽하진 않다. 물론 프롬프트를 제대로 작성하지 않았다 던가 하는 문제가 있었겠지만 그럼에도 흔히들 원하는 "해죠"가 되지 않는다는 점은 확실히 알게됨- 기본적인 Unity툴 다루는 방법 or C#에 대해선 기초지식 정도는 가지고 있어야 문제가 발생하여도 빠르게 해결이 가능할 것으로 보임- 개인적으론 프로토 타입, 하이퍼 캐주얼 류 게임 찍어내기는 빠르게 가능할 것으로 보임, 기획서가 나와 있다면 몇시간만에 뚝딱 만들기가 가능하고 확인 해볼 수 있기 때문- 확실하게 게임을 출시할 정도로 만들기 위해선 위에 얘기한대로 꼭 지식을 가..

LLM/Cursor 2025.04.07