본문 바로가기

- Unity21

[Unity] AsyncOperationHandle 보호되어 있는 글 입니다. 2025. 12. 2.
[Unity] LoadAssetAsync Release InstantiateAsync ReleaseInstance 보호되어 있는 글 입니다. 2025. 12. 2.
[Unity] UniTask 의 토큰 Token (= CancellationToken) UniTask 에서 Token(CancellationToken) 은 쉽게 말하면, "멈춰!" 토큰입니다. Token (= CancellationToken)토큰은 비동기 작업이 더 이상 의미가 없을 때, 바로 멈출 때가 되었다고 알려주는 플래그 같은 것입니다.프로그램(게임)에서 기다리던 작업을 계속할 이유가 없어졌을 때, 토큰으로 취소하게 됩니다.(유니테스크 간단 정리는 아래 포스트에 해두었어용)https://bulletprooves.tistory.com/87 [Unity] UniTaskUniTask 와 코루틴을 비교해서 설명하면 이해가 쉽다고 합니다. UniTaskUnity 에서 사용하는 Task 대체 라이브러리라서 UniTask 라고 부릅니다.C# 의 async/await 구문을 좀 더 유니티에 최적.. 2025. 10. 7.
[Unity, C#] Singleton 싱글톤 혼자야? Singleton프로그램(게임) 전체에서 객체가 하나만 생성되는 것을 보장하고,그 프로그램의 어디에서든지 접근할 수 있도록 만드는 디자인 패턴 중 하나입니다.가장 간단한 예시로, GameManager, SoundManager, RenderingManager 등... 이 있습니다. (Design-Pattern 관련해서는 아래에 정리해 두었어용)https://bulletprooves.tistory.com/46 [OOP] Design Patterns ( GoF )Object Oriented 프로그래밍에서 협업을 위해 설계를 할때,내가 작성한 코드, 다른 분께서 작성한 코드를 전달해줄 때 생기는 어려움을 극복하기 위해디자인 패턴이라는 일종의 의사소통 방법을 사bulletprooves.tistory.c.. 2025. 9. 7.
[Unity] UniTask UniTask 와 코루틴을 비교해서 설명하면 이해가 쉽다고 합니다. UniTaskUnity 에서 사용하는 Task 대체 라이브러리라서 UniTask 라고 부릅니다.C# 의 async/await 구문을 좀 더 유니티에 최적화해 사용할 수 있게 해줍니다.아래 깃허브 링크입니다.https://github.com/Cysharp/UniTask 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 System.Thr.. 2025. 7. 10.
[Unity] UniTask 보호되어 있는 글 입니다. 2025. 7. 3.
[Unity] NGUI 보호되어 있는 글 입니다. 2025. 7. 2.
[Unity] 보호되어 있는 글 입니다. 2025. 6. 21.
[Unity] Asset Bundle & Addressables Addressables 를 알아보기 위해선 Asset Bundle 에 대해 간단히 알아보면 좋겠습니다.개발자가 Asset 을 서버 묶어 올려두고, 플레이어는 런타임에 이를 받아와 실행할 수 있습니다.(유니티 코리아 개발자님의 영상을 참고했습니다. https://www.youtube.com/watch?v=3f2XjEGDZ2s ) 자세한 건 아래를 참고해주시길 바랍니다.https://unity.com/kr/blog/engine-platform/addressables-planning-and-best-practices Addressables: 계획 및 베스트 프랙티스이 블로그 게시글에서는 유니티 시니어 테크니컬 프로덕트 매니저 제프 리센미가 프로젝트에서 Addressables 시스템을 최대한 활용하기 위해 개발.. 2025. 6. 20.
[Unity] Addressable #1 (Local) Asset Bundle / Addressable 을 이용하면, 게임 로딩할 때 추가 파일 다운로드를 구현할 수 있습니다.https://www.youtube.com/watch?v=Z84GCeod_BM 더블엘님의 Addressable 영상을 참고했습니다. Addressable System overviewAddressable 은 Asset 들을 효율적으로 관리하기 위한 확장된 시스템입니다. Set UpAddressables 셋업 부터 해보겠습니다. 먼저 Package Manager 에 들어가서 Addressable 패키지를 설치해 줍니다. 그 다음, Window > Asset Management > Addressable > Groups 를 눌러, Addressablees Groups 창을 띄웁니다.Profi.. 2025. 6. 19.
[Unity] please move the project somewhere readable and writable Unity 실행 시, " please move the project somewhere readable and writable" 경고문이 뜬다면, 프로젝트 폴더에 읽기/쓰기 권한이 없거나, 비정상적인 위치(ex, 외부 드라이브, 시스템 보호 폴더 등)에 프로젝트가 있을 때 발생하는 문제입니다. 해결 방법그냥 관리자 권한으로 실행 하시면 됩니다. 그럼 좋은 개발하는 하루 되세요~ ( ˶ᵔᵕᵔ˶و)و ” 참고 1 : https://discussions.unity.com/t/please-move-the-project-folder-somewhere-readable-and-writable-is-the-message-i-get-each-time-i-try-to-use-unity-5-6/187634참고 2 : ht.. 2025. 6. 2.
[Unity] Post Processing Stack v2 와 URP 동시 사용 문제 해결 Post Processing Stack v2 와 URP, 이걸 두개 동시에 사용하거나,Post Processing Stack v2 쓰다가 URP 로 갈아타다 생기는 문제입니다. 지금 Post Processing Stack v2 가 안되는 거 잖아. Unity에는 Post Processing 이 2가지 있음.하나는 URP Built-in(내장)된 거랑, 또 하나는 Post Processing Stack v2.내가 원래 쓰던게 Post Processing Stack v2 였는데, 나중에 URP를 추가하려고 해서 생긴 거야.간단하게 URP 내장 된 걸로 하나하나 바꿔서 쓰면 됨. Unity에서는 다음 두 가지가 서로 다르고 동시에 쓰면 충돌 나거나 안 먹히는 경우가 많습니다. Post Processing St.. 2025. 6. 2.
[Unity] Barracuda Tensorflow 모델을 onnx 로 변환 캡스톤 디자인 때, 이것 때문에 1주일을 고전하며 힘들었던 기억이납니다.번뜩 떠올라 과거의 제가 Notion에다 정리한 내용을 갖고왔습니다. TF2ONNXTensorFlow 모델을 ONNX 모델로 변환하기 위해선, tf2onnx (TensorFlow to ONNX에용) 라이브러리가 필요합니다.가장 먼저 Teachable Machine 에서 제가 모은 데이터로 학습시킨 모델을 다운 받고, 모델을 tf2onnx 에서 컨버트 시킨다. 그 다음 유니티에 넣고 ‘유니티-바라쿠다’로 조지고, 내게 필요한대로 코딩하면 끝-과거의 동근- 1) 데이터 Crawling 및 학습필요한 데이터를 크롤링 하여 모아둡니다. (ML_feeds)구글의 teachable machine 로 학습시킨 후, 잘 되는지 확인해봅니다.학습된 .. 2025. 6. 2.
[Unity] 보호되어 있는 글 입니다. 2025. 5. 30.
[Unity] 보호되어 있는 글 입니다. 2025. 5. 28.
[Unity] Getting started with UniRX ( Observer Pattern ) UniRxRX; Reactive Extensions로, Reactive Extensions for Unity 라이브러리입니다.RX는 언어가 아닌 일종의 paradigm으로, 언어에 묶여있지 않아 C#, C++, Java, PHP, Lua 등에서도 사용 가능합니다.RxJS, RxJava, RxPy, RxLua, 리액티브코코아 등등...(Reactive 프로그래밍은 Asynchronous data stream으로, 이에 관해서는 다른 포스트에서 다루겠습니다.)UniRx의 주요 개념으로 Observable, Stream → Operator, Subscribe 가 있으며,Observable, Stream을 사용한 비동기의 개념으로, Overvation Pattern의 디자인 패턴을 따릅니다.(2017년도, 제가.. 2025. 5. 22.
[Unity] Custom Shader 셰이더 에디터 / 빌드 다른 결과 해당 포스트는 고민하고 시도해본 방법들을 정리하였으며,해결하지는 못했지만, 나름 다른 방법으로 우회(?)하여 겉보기엔 문제 없이 해결한 방법은 다음 포스트에서 다뤘습니다.https://bulletprooves.tistory.com/35 [Unity] Custom Shader 셰이더 에디터 / 빌드 다른 결과해당 포스트는 고민하고 시도해본 방법들을 정리하였으며,해결하지는 못했지만, 나름 다른 방법으로 우회(?)하여 겉보기엔 문제 없이 해결한 방법은 광원 (Directional Light)로 부터의 방향과 표면bulletprooves.tistory.com Custom Shader 셰이더 에디터 / 빌드 다른 결과 커스텀 쉐이더를 사용 중, Shader가 Editor 와 Build 에서 반영 결과가 다른 .. 2025. 5. 18.
[Unity] Awake OnEnable Start 위 이미지는 Order of execution for event functions (이벤트 메서드 순서)의 플로우차트 일부분으로,이번 포스트는 Initialization 파트를 다루고 있습니다. Awake OnEnable StartMonoBehaviour에서 상속받아 사용할 수 있는 클래스 메서드로,인스턴스의 초기화와 시작시 행동을 관리할 때 사용합니다순서는 Awake → OnEnable → Start 입니다. Awake()새 오브젝의 인스턴스가 생성될 때, 첫빠따로 호출되는 메서드입니다.항상 Start 함수 이전에 호출 됩니다.만약 GameObject가 시작했는데 비활성화 상태일 경우엔, 활성화될 때까지 Awake()는 호출되지 않습니다. 게임이 시작될 때 호출하므로, 여러 객체에서의 Awake().. 2025. 5. 17.
[Unity] Update FixedUpdate LateUpdate 위 이미지는 Order of execution for event functions (이벤트 메서드 순서)의 플로우차트 일부분으로,해당 내용은 다른 포스트에서 다루도록 하고, 이번 포스트에선 게임 로직의 중추가 되는 파트를 정리하였습니다. Update, FixedUpdate, LateUpdateUpdate, FixedUpdate, LateUpdate 는 MonoBehaviour 클래스의 이벤트 메서드로써,상황이나, 목적에 따라 어떤 메서드를 사용할 것이냐 구분할 수 있습니다. 호출 시점설명Update()every Frame입력, 일반적인 로직 (transform) 이나 애니메이션 호출 등FixedUpdate()fixed Time물리 기반 (Rigidbody, Collider, Physics) 등LateU.. 2025. 5. 16.
[Unity] InputSystem 인풋시스템 유니티 입력 시스템Unity는 구버전(InputManager)과 신버전(InputSystem Package)의 두 가지 입력 시스템이 있습니다. InputManager (구버전)먼저 구버전은 [Edit > Project Settings > Input Manager] 에서 확인하실 수 있으며,'W', 'LeftShift', 스페이스바 등의 물리적 키보드의 키, 전용 게임패드 리모컨의 버튼,그리고 스크립트에서 [-1 or 1]의 값을 반환해 코딩할 수 있는 Virtual Axis.Input.GetKey(KeyCode.W);float horizontalInput = Input.GetAxis("Horizontal"); 위 같은 행동들을 정의하여 InputManager라 할 수 있습니다. InputSystem .. 2025. 4. 25.
[Unity] 터치, 입력(Input) 시스템 정리 터치 및 입력OnMouse와 Input, 인터페이스 등...Unity에서 자주 사용되는 입력 처리 방법들을 정리했습니다.마땅한 순서 기준 없이 생각의 흐름대로 정리한 거라 양해부탁드립니다. OnMouse 계열 메서드Collider있는 오브젝트나, GUIElement에서 작동합니다.Raycast 기반이며 (Physics 필요 없음) PC, 모바일 모두 사용 가능합니다.private void OnMouseDown() { // 마우스 클릭 시작}private void OnMouseDrag() { // 클릭한 상태에서 드래그 중}private void OnMouseUp() { // 마우스 버튼에서 손 뗐을 때} Raycast + Input 조합3D 클릭 감지 방식으로, 위의 OnMouse가 한께.. 2025. 4. 25.