2022년 1월 22일 토요일

[Cocos Creator] Time Line Panel이 안 닫히는 경우

현재 사용하는 Cocos Creator 버전은 2.4.5고 2.4.7도 동일 했던 것으로 보임


Cocos Creator에서 애니메이션 작업을 할 때 문제가 많은데 그중 대표적인거 2개가


1. 애니메이션 작업 도중 Node의 위치를 옮기는 경우

2. 애니메이션 하는 최 상위 Node에 포함된 하위 Node들 중에 Particle3D가 포함된 경우 맛이 가는 경우


이 문제를 해결하고 하고 싶어 편집기 소스를 고치고 싶었으나 공개된 것은 엔진 소스 뿐이어서

고칠수가 없었음 (편집기 소스는 자기들이 관리 하는듯)


결국 편집기를 고칠수가 없으면 그냥 가는 수 밖에 없는데 아직까지 해결되진 않은것으로 보임.


원인으로 보이는 것은 그냥 편집기 만드신 분들이 버그가 있지만 고치고 있지 않은 것으로 보임


위에 Node 위치 옮기는 경우 맛가는건 뭐 그냥 눈에 보이니까 편집기 문제이고 Particle3D 문제는 아래 이유로 편집기 문제로 보임


판단 이유

1. 애니메이션 파일을 까보면 "a/b/c" 이런식으로 문자열로 node가 연결되어 있어서 node 연결이 uuid등 특별한 방법으로 연결되어 있지 않아서 바인딩이 단순함

2. 구조가 다른 프리팹에서는 문제가 없는 경우가 있음

3. 프리팹에서 Particle3D를 제거하고 하면 됨

4. 위에 Particle3D가 anim 파일에 있는게 아니고 프리팹에 있는 것임

5. 결국 anim 파일 문제가 아니라 프리팹등 node들의 문제라는 것을 알 수 있음.,

6. Particle3D는 재미있게도 되는 것도 있고 안 되는 것도 있음


Particle3D 프리팹을 까보면 문자열로 되어 있는 Particle3D 정보가 400중? 생각보다 많은 정보가 있는 것으로 보이는데 애니메이션을 닫거나 저장할때 변경된 부분? 뭐 이런 내용을 스캔하다가 Particle3D 정보를 처리하다가 기능이 맛이 가는 것으로 보임


node.js 특성상 함수 연결 구조를 많이 쓸텐데..


a->b->c-> 요런식으로 구현이 되어 있다면 a->b(스캔) 맛감 -X->c


이런식으로 세이브하고 타임라인 페널 꺼주는 처리를 해야 하는데 안되는 경우

혹은 세이브는 되 고 페널 안 꺼지는 경우 이렇게 보임


정리하자면 해당 이슈는 편집기 문제고 수정이 불가능하다. 그냥 조심해서 사용하는 방법 밖에 없다 입니다.

댓글 없음:

댓글 쓰기

C# Async/Await Task 속도가 느릴 때 (TaskCompletionSource)

고전적인 개발 방법으로는 작업이 끝났는지 확인하기 위해서 작업 내용을 확인하는 루프를 만들어서 확인을 하는데 나는 이걸 mysql 풀링에 사용했었다. 그러니까 지금 사용 가능한 mysql 연결이 있는지를 task 에서 루프 돌면서 확인하는 방식으로 만...