Loading
2015. 6. 30. 16:03 - Twocap_Dev

SmoothMoves




Asset : SmoothMoves


  • Android, iOS 에서 문제없이 동작한다.
  • 애니메이션을 제작하는 툴이 좀 불편하다..
  • 애니메이션 적용 후, prefab화 한다음 다시 Scene에서 끌어다 사용하면 이미지가 안보인다.. (Play하면 보임)
  • porfiler 로 확인해보면 gc_alloc이 심하게 일어난다.
  • gc_alloc을 줄일려면 smoothmoves Asset 안에 있는 c# dll 을 다시 손봐야한다.
    • 참고로 build 버전 runtime 버전 둘다 손봐야한다.. build 버전을 손봐야하기 때문에 만들어둔 애니메이션을 다 재적용해야한다.
  • 그래픽 작업자가 작업할때에도 주의깊게 작업해야 gc_alloc이 덜 일어난다...
  • 애니메이션 loop가 끊어져보인다... (마지막 1 frame 을 어찌할수가 없다..)


* gc_alloc 줄이기

- (원문) http://www.echo17.com/forum/index.php?topic=350.msg772#msg772


Asset 안에 'Runtime And Build Source.zip' 파일이 존재한다. 여기에서 내용을 수정하여 dll 을 새로 만들어서 적용하면 된다.

- BoneAnimation.cs

- AnimationEvent_Triggered 함수의 AnimationEventTrigger 함수 호출부를 주석처리

- 이 결과로 당신은 gc_alloc 을 상당히 줄이지만, transform외적인 애니메이션이 안된다..라는 큰 단점..

- animation clip 변경도 안된다.. (이정도면 에셋을 쓸 이유가 사라지는 정도...)


- 개선안

 * TriggerFrameBone.cs 의 triggerEventTypes 를 List 형식에서 bool[] 형식으로 교체한다 (runtime, build 둘다 해야한다)

 * BoneAnimation.cs - FireTextureTrigger 함수에서 ChangeMaterial 부분을 주석처리한다 (material을 변경해서 안쓴다면 이렇게..)

(애니메이션이 루프를 돌때마다 ChangeMaterial이 일어나는 것 같다...)




 * 위와같이 사용하지 않는 부분은 마지막 키 프레임에서 모두 끈다. (Duplicate First key frame 을 마지막 프레임에서 했다면 보통 다 켜져있기 때문에 조금 귀찮다..)


* Culling Type 을 Base On Renderers 로 할 것.. (선택사항이긴 하지만..)









'Asset' 카테고리의 다른 글

IOS Native - Push (Developer web setting)  (0) 2015.07.09
[prime31]iOS StoreKit In App Purchase Plugin  (0) 2015.07.03
ETC1 + Alpha  (1) 2015.07.02
IOS Native  (0) 2015.07.02
Easy Save 2  (0) 2015.07.01