[Unity] UI 롱 클릭 이벤트 처리 with UniRx
Unity/UI 2024. 6. 11. 10:23[Unity] UI 롱 클릭 이벤트 처리 with UniRx

짧은 글  `ObservableLongPointerDownTrigger.cs`- 판정을 원하는 UI오브젝트에 컴포넌트로 추가using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UniRx;using UniRx.Triggers;using UnityEngine.EventSystems;public class ObservableLongPointerDownTrigger : ObservableTriggerBase, IPointerDownHandler, IPointerUpHandler{ public float IntervalSecond = 1f; Subject onLongPointerDown..

[Unity] 애니메이터 서브 스테이트 머신의 요상한 트랜지션 우선순위
Unity/TroubleShooting 2024. 5. 24. 07:21[Unity] 애니메이터 서브 스테이트 머신의 요상한 트랜지션 우선순위

✌️개요애니메이션 작업을 하다가서브 스테이트 머신(이하 "SM")끼리의 트랜지션이 자꾸 의도대로 안되는 문제에 직면했습니다 검색해봐도 문제와 정확히 일치하는 케이스도없고 머리아파 하던중 의외로 이상하고 간단한 해결법이어서기록합니다 🔥문제아래 그림과 같이 3개의 SM으로 구성된 애니메이터가 있다고 치겠습니다 (보기 쉽게 기록하기 위한 예시입니다)조건`BaseSM → SM1`으로 가는 트랜지션`Condition` 없음SM내부 애니메이션에서 Exit노드로의 트랜지션 `HasExitTime = true` `BaseSM → SM2`로 가는 트랜지션`Condition = Fire트리거`SM내부 애니메이션에서 Exit노드로의 트랜지션  `HasExitTime = false` 이런 구성에서 `BaseSM`에있는 애니..

[Unity] Unity 3D Game Kit Lite템플릿 Damageable스크립트 분석
Unity/C# 2024. 5. 22. 17:34[Unity] Unity 3D Game Kit Lite템플릿 Damageable스크립트 분석

✌️개요3인칭 액션게임을 개인 프로젝트로 작업 중입니다유니티 공식 템플릿인 3D Game Kit Lite를 분석중이었는데(아래 링크) 3D Game Kit Lite | 자습서 | Unity Asset StoreUse 3D Game Kit Lite from Unity Technologies to elevate your next project. Find this & more 자습서 and templates on the Unity Asset Store.assetstore.unity.com 데미지를 입을 수 있는 오브젝트에 사용하는 `Damageable`스크립트가 모듈화가 굉장히 잘돼있다고 느꼈습니다제가 개인적으로 사용하던 같은 용도의 스크립트보다 이게 더 낫다 싶어서이 참에 구조를 좀 기록해둘려고 합니다  ?..

[Unity] 어드레서블 리모트 경로 변경 후에도 기존 경로로 불러올 때
Unity/TroubleShooting 2024. 5. 14. 16:44[Unity] 어드레서블 리모트 경로 변경 후에도 기존 경로로 불러올 때

✌️문제NodeJS로 정적 파일 제공을 구성해서 로컬 호스트로 테스트를 하고 있었습니다 이후 작동함을 확인하고,원격 서버로 `Remote.LoadPath`를 수정해주고 어드레서블을 다시 빌드해서서버에 넣어줬습니다  처음엔 작동하는줄 알았더니서버를 내리고 확인해보니 여전히 불러오더라고요 서버가 내려갔는데...그래서 좀더 확인해보니 분명 경로를 바꾸고 어드레서블을 다시 빌드했음에도로컬호스트에서 불러오는 문제를 발견했습니다. 🔥해결문제의 원인은 카탈로그를 캐싱하고있어서 그렇습니다이전 `LoadPath`로 설정된 카탈로그가 캐시에 남아있어서계속 기존 경로를 참조하고 있습니다 `Application.persistentDataPath`경로로 가보면이렇게 `com.unity.addressables`라는 폴더가 보입..

[Unity] 어드레서블 씬 로드 후 인스펙터에 프리팹 참조가 끊어질 때
Unity/TroubleShooting 2024. 5. 13. 23:27[Unity] 어드레서블 씬 로드 후 인스펙터에 프리팹 참조가 끊어질 때

✌️개요문제 설명은 이렇습니다 `MainLobby`씬에있는 `PoolManager`는 풀링될 프리팹들을 리스트에 담고있습니다이렇게요 그리고 이 `MainLobby`씬을 어드레서블 번들로 빌드해줬습니다 그리고나서 `Addressables.LoadSceneAsync`함수로 어드레서블로 빌드된 씬을 로드했습니다그랬더니 이렇게  프리팹이 빠져있습니다 이상한 경고들도 막 반겨주네요 근데 또 웃긴건 이 `PoolManager`만 빠져있고 다른 스크립트들이 가지고있는 프리팹들은 괜찮았습니다 무튼 이 문제를 해결해보겠습니다 🔥본문답은 의외로 간단합니다프로젝트에서 `AddressableAssetSettings`에셋을 찾아줍니다디폴트라면 `Assets > AddressableAssetData`폴더 안에 있습니다 설정값중..

[Unity] Addressable로 불러온 모델이 에디터에서 핑크(마젠타) 쉐이더로 나올때
Unity/TroubleShooting 2024. 5. 12. 16:27[Unity] Addressable로 불러온 모델이 에디터에서 핑크(마젠타) 쉐이더로 나올때

✌️문제안드로이드 플랫폼으로 개발할 때에디터에서 어드레서블로 빌드한 모델을 불러오면쉐이더가 분홍색으로 나옵니다  물론 쉐이더 문제는 아닙니다쉐이더는 유니티 기본 내장 Standard쉐이더이니까요 이 문제를 해결 해보겠습니다 🔥해결찾은 해결 방법은 모바일용 그래픽스API로 에디터를 여는 것`OpenGL`이나 `Vulkan`으로 열어주면 됩니다 방법은 2가지가 있습니다 방법 1프로젝트 세팅에서 그래픽스API for Windows를 바꾸는 방법순서까지 바꿔줘야 합니다이렇게 바꾸면 에디터를 다시 시작하라고 알림이 뜨면 다시 시작 해주세요 제대로 적용됐는지는 다시 열렸을 때 상단에 이 부분을 보시면 됩니다이제 다시 테스트 해보면  쉐이더가 정상적으로 출력되는것을 볼 수 있습니다 참고로저는 안드로이드 player..

image