짧은 글 `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..
✌️개요애니메이션 작업을 하다가서브 스테이트 머신(이하 "SM")끼리의 트랜지션이 자꾸 의도대로 안되는 문제에 직면했습니다 검색해봐도 문제와 정확히 일치하는 케이스도없고 머리아파 하던중 의외로 이상하고 간단한 해결법이어서기록합니다 🔥문제아래 그림과 같이 3개의 SM으로 구성된 애니메이터가 있다고 치겠습니다 (보기 쉽게 기록하기 위한 예시입니다)조건`BaseSM → SM1`으로 가는 트랜지션`Condition` 없음SM내부 애니메이션에서 Exit노드로의 트랜지션 `HasExitTime = true` `BaseSM → SM2`로 가는 트랜지션`Condition = Fire트리거`SM내부 애니메이션에서 Exit노드로의 트랜지션 `HasExitTime = false` 이런 구성에서 `BaseSM`에있는 애니..
✌️개요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`스크립트가 모듈화가 굉장히 잘돼있다고 느꼈습니다제가 개인적으로 사용하던 같은 용도의 스크립트보다 이게 더 낫다 싶어서이 참에 구조를 좀 기록해둘려고 합니다 ?..
✌️문제NodeJS로 정적 파일 제공을 구성해서 로컬 호스트로 테스트를 하고 있었습니다 이후 작동함을 확인하고,원격 서버로 `Remote.LoadPath`를 수정해주고 어드레서블을 다시 빌드해서서버에 넣어줬습니다 처음엔 작동하는줄 알았더니서버를 내리고 확인해보니 여전히 불러오더라고요 서버가 내려갔는데...그래서 좀더 확인해보니 분명 경로를 바꾸고 어드레서블을 다시 빌드했음에도로컬호스트에서 불러오는 문제를 발견했습니다. 🔥해결문제의 원인은 카탈로그를 캐싱하고있어서 그렇습니다이전 `LoadPath`로 설정된 카탈로그가 캐시에 남아있어서계속 기존 경로를 참조하고 있습니다 `Application.persistentDataPath`경로로 가보면이렇게 `com.unity.addressables`라는 폴더가 보입..
✌️개요문제 설명은 이렇습니다 `MainLobby`씬에있는 `PoolManager`는 풀링될 프리팹들을 리스트에 담고있습니다이렇게요 그리고 이 `MainLobby`씬을 어드레서블 번들로 빌드해줬습니다 그리고나서 `Addressables.LoadSceneAsync`함수로 어드레서블로 빌드된 씬을 로드했습니다그랬더니 이렇게 프리팹이 빠져있습니다 이상한 경고들도 막 반겨주네요 근데 또 웃긴건 이 `PoolManager`만 빠져있고 다른 스크립트들이 가지고있는 프리팹들은 괜찮았습니다 무튼 이 문제를 해결해보겠습니다 🔥본문답은 의외로 간단합니다프로젝트에서 `AddressableAssetSettings`에셋을 찾아줍니다디폴트라면 `Assets > AddressableAssetData`폴더 안에 있습니다 설정값중..
✌️문제안드로이드 플랫폼으로 개발할 때에디터에서 어드레서블로 빌드한 모델을 불러오면쉐이더가 분홍색으로 나옵니다 물론 쉐이더 문제는 아닙니다쉐이더는 유니티 기본 내장 Standard쉐이더이니까요 이 문제를 해결 해보겠습니다 🔥해결찾은 해결 방법은 모바일용 그래픽스API로 에디터를 여는 것`OpenGL`이나 `Vulkan`으로 열어주면 됩니다 방법은 2가지가 있습니다 방법 1프로젝트 세팅에서 그래픽스API for Windows를 바꾸는 방법순서까지 바꿔줘야 합니다이렇게 바꾸면 에디터를 다시 시작하라고 알림이 뜨면 다시 시작 해주세요 제대로 적용됐는지는 다시 열렸을 때 상단에 이 부분을 보시면 됩니다이제 다시 테스트 해보면 쉐이더가 정상적으로 출력되는것을 볼 수 있습니다 참고로저는 안드로이드 player..