주로 2D sprite 애니메이션 전환할때 헤메는 부분이다.

 

애니메이션 트랜지션(전환)에서 Exit time 이라고 적힌건 초(sec)가 아니라 애니메이션 클립 길이의 퍼센티지(%) 비율이다.

위 짤에서 attack에서 walk로 넘어가는데 Exit time이 1이란 것은 attack 클립의 전체를 보고 walk로 넘어가겠다는 의미이다.

이 값이 0.75 면 attack 클립의 뒷부분 25%는 짤리고, 1.25 면 attack 클립이 한번 + 첫부분 25% 추가로 재생된 후 전환된다.

초(sec)로 이해해서 많이 헤맸으나, normalized time 이란거 보고 뒤늦게 깨달음. 한동안 안하면 또 까먹을거같다

 

 

 

 

유니티

SendMessage cannot be called during Awake, CheckConsistency, or OnValidate (back: OnCanvasHierarchyChanged)

이라는 경고 메시지가 게임 Run 할때마다 발생함(에디터 상에서)

 

본인은 캐릭터 hp 바를 별도의 Canvas 에 각각 넣어줬는데 그 Canvas 의 overrideSorting 체크하니까 경고 사라짐

얼떨결에 해결

 

 

이번에 mediation 도입하면서 삽질한 내용 정리.

 

1. 빌드시 아래 에러메세지 뜨면서 빌드가 안되는 현상 

The SDK has resolved to an incompatible version with the Package. 어쩌구... include mainTemplate.gradle file by ...

일단 캔슬 빌드 누르고,

 

 

2. Edit > Project settings > Player > publishing setting에 들어가서 아래 스샷처럼 main Gradle 과 custom gradle properties templet 체크해주기 (파란 네모)

 

 

3. 위 스샷의 빨간네모의 경로의 gradleTemplate.properties 파일을 열어서 아래 내용 있는지 확인. 없으면 추가하고 저장

 

android.useAndroidX=true
android.enableJetifier=true

 

4. 이후 빌드시 exception 뜨면서 빌드가 중지되는데 에러메세지 잘 읽어보면 아래와 같은 내용이 나오는 경우의 해결책에 해당한다. 클래스가 중복된다면서 UnityAds 가 엄청 많이 겹치나보다... 

 

Execution failed for task ':launcher:checkReleaseDuplicateClasses'."

 

5. [해결책] 패키지 매니저에서 설치된 구형 Advertisement 를 remove 해야한다!!! (mediation 아닌 그냥 ad)

 

6. 일단 나는 둘다 삭제하고Advertisement with Mediation 만 다시 설치했다

 

7. 그 후에 유니티 상단 메뉴에서 Asset-> External Dependency manager -> android -> resolve 예의상 돌려주고 빌드하니 문제해결!

 

.

.

.

신형 광고인 미디에이션과 구형 광고의 클래스들이 충돌해서 벌어진 일인것 같다. Service - Ads 에 Install 패키지 떡 하니 써 놓아서 마치 무조건 설치해야하는 인상을 주는데 알고보니 역대급 함정... 무개념 유니티 하....

 

어쨌든 오늘도 해결했다.

 

 

<참고 링크>

https://stackoverflow.com/questions/69736807/gradle-failed-to-fetch-dependencies-for-unity-mediation-firebase-and-google-pl

https://answers.unity.com/questions/1711904/android-apk-build-failing-execution-failed-for-tas.html

 

 

 

 

 

 

 

유니티

 

Immediat mode 스크립트로 그린 그림이 에디터에선 되는데 빌드 시 아예 안나오는 경우

 

1. 아래 링크 지시대로 clean 및 reinstall 작업을 한다 (그냥 지우고 재 import 하는게 아님)

https://shapes.userecho.com/knowledge-bases/2/articles/290-how-to-do-a-clean-reinstall-of-shapes

 

2. Shapes -> 설정(option?) -> Gpu instancing 체크해제 

 

기타) option에서 렌더 pipeline 파일에 Shapes 관련 컴포넌트? 추가하기

-- 난 혹시 몰라서 안쓰는 파이프라인 파일 모두에도 추가했다. 큰 상관은 없는듯

 

 

위 방법으로도 안된다면 아래 링크 샅샅히 뒤져가며 해결해보자... 장담은 못함

https://shapes.userecho.com/communities/1/topics/385-shapes-not-rendering-in-builds-investigation-megathread

유니티 에디터가 아닌 타 플랫폼 빌드시에만 위 에러 뜨는 경우

 


#if UNITY_EDITOR

<< 여기에 Serialized 된 필드가 없어야한다 >>

#endif

위와같이 #if 와 #endif 전처리기 구문 사이에 public 이나 [SerializedField] 구문으로 선언된 필드가 없어야한다.

원리는 모르겠으나 드러난(serialized) 구조가 변경되면 에러를 뿜는것 같다.

#if 문을 변수들 잘 피해서 옮긴 후 테스트 해보자.

 

+ Recent posts