목록학습 기록하기/Unity (7)
오르막길
✅ 기본 개념옵저버 패턴 (Observer Pattern)은 발행자와 구독자 간의 일대다 관계를 정의하여, 발행자의 상태가 변할 때 이를 구독자에게 자동으로 알리는 패턴이벤트 기반의 비동기 구조에서 자주 사용됨 🗂️ 주요 특징느슨한 결합: 발행자와 구독자가 서로 직접 참조하지 않음확장성: 구독자를 쉽게 추가하거나 제거 가능재사용성: 동일한 이벤트를 여러 구독자가 동시에 사용할 수 있음RuleTrigger는 옵저버 패턴으로 설계하는 게 좋음EventPublisher가 이미 간단한 옵저버 역할을 하고 있지만, 더 체계적으로 관리할 수 있음 📝 옵저버 패턴 적용 (RuleTrigger)EventPublisher - 이벤트 발송자RuleManager - 이벤트 수신자RuleData - 트리거 상태 관리 📂..
✅ 기본 개념상태 패턴 (State Pattern)은 객체의 상태에 따라 행동이 달라지도록 만드는 디자인 패턴.상태를 독립적인 클래스로 분리하여, 상태에 따른 행동을 각각의 클래스로 캡슐화.🗂️ 주요 특징유연성: 새로운 상태를 쉽게 추가 가능.코드 재사용성: 동일한 로직을 여러 객체에서 재사용 가능.응집도: 각 상태가 독립적인 로직을 가지므로 관리가 쉬움.느슨한 결합: 상태 전환 로직이 Context에 집중되어, 각 상태가 서로 직접 의존하지 않음.📝 상태 패턴 적용 (PlayerController)IdleState - 플레이어가 멈춰 있는 상태WalkingState - 플레이어가 이동 중인 상태InteractingState - 플레이어가 상호작용 중인 상태📂 구조1. 상태 인터페이스 (Player..

공부 배경가시화 모니터링 테스트 중, 규모에 비해 과한 성능이 요구되는 것을 발견하고 비코드적인 면으로 여러 최적화 시도를 하게 되었습니다.개발자 입장에서 코드 최적화도 중요하지만그 외 쉽게 놓칠 수 있는 최적화 방법을 정리해 두고자 글을 작성하게 되었습니다.앞으로도 놓쳤던 최적화 방법이 있다면 계속해서 추가할 예정입니다. 출처유니티 공식 문서를 바탕으로 유니티 21.3.16f1 버전에서 적용 가능하도록 작성되었습니다. 목차1. Occlusion Culling2. Resources 폴더3. Build Compression 설정 : WebGL 1. Occlusion Culling다른 오브젝트에 가려(오클루전된) 카메라에 보이지 않는 오브젝트의 렌더링을 비활성화하는 기능3D 컴퓨터 그래픽스에서는 대부분의..

공부 배경관제 시스템 가시화 업무 중, 건물 전체를 자연스럽게 보여주는 연출을 구현하기 위해 유니티 시네머신을 공부했습니다.시네머신은 기본적으로 정말 유용한 기능도 많고, 스크립트와 함께 활용하면 무궁무진한 연출이 가능합니다.필요한 상황에 따라 어떤 기능을 써야 할지 고민될 때 참고하기 위해 글을 작성하게 되었습니다. 출처https://www.youtube.com/watch?v=2oOIp22Y11U https://docs.unity3d.com/Packages/com.unity.cinemachine@2.8/manual/index.html About Cinemachine | Cinemachine | 2.8.9About Cinemachine Cinemachine is a suite of modules for ..

1. 빌드 설정 및 빌드 (1) Publishing Settings - Decompression Fallback 체크 (2) publish setting - compression format을 disabled 으로 설정 2. nginx 설치 https://nginx.org/en/download.html nginx: download nginx.org https://bakingdevlog.tistory.com/13 NGINX 윈도우 설치하기 NGINX 윈도우 설치하기 Installing NGINX Windows 윈도우에 NGINX(엔진엑스)를 설치하는 방법에 대해 알아보겠습니다. 1. NGINX 다운받기 🔗 아래 링크에서 Windows Stable 버전을 다운받습니다. 다운링크: http:// bakingd..
Goal 🥅 직접 WebGL Templete을 커스텀해보자 Problem 🚨 이전에 다른 개발자들이 제공하는 템플릿은 전혀 먹히지 않았다 대부분 UnityLoader 를 사용했는데 UnityLoader is not defined 에러가 발생하며 전혀 작동하지 않았다. 그래서 유니티포럼 검색 결과 유니티 2020 버전 이후로는 UnityLoader 관련 플러그인 등이 호환되지 않음을 알게 되었다! WebGL build not working correctly. "UnityLoader is not defined". WebGL build not working correctly. "UnityLoader is not defined". hey, i have two issues with my unity when i t..
Goal mousePosition을 Canvas 좌표로 바꾸어 보자 Problem 시작 지점을 단순히 startPos = Input.moustPosition으로 했더니 캔버스의 중심좌표 (정가운데)에서 생성되는 문제 Cause & Solution RectTransformUtility.ScreenPointToLocalPointInRectangle RectTransformUtility.ScreenPointToLocalPointInRectangle RectTransformUtility.ScreenPointToLocalPointInRectangle public static bool ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoin..