unity3d-jp / MeshSync

A package for synchronizing meshes/models editing in DCC tools into Unity in real time.
Other
1.55k stars 174 forks source link

visibilityのon/offアニメーションについて #73

Closed TsuPMC closed 5 years ago

TsuPMC commented 5 years ago

以前にvisibilityのon/offアニメーションについてご対応いただいたかと思います ありがとうございました

MeshSyncしたobjectにはちゃんとvisibilityのon/offアニメーションの再生が可能なのですがMeshSyncで生成したanimaion clipをNonSkinnningのFBXobjectに入れてみるとvisibilityのon/offアニメーションが再生できませんでした

理由はmayaで設定したvisibilityのon/offアニメーションをUnityではskinned Mesh Rendererのon/offアニメーションとして生成しているため、NonSkinnningのFBXobjectはskinned Mesh Rendererを持たない(Mesh Rendererのみ)からかと推察いたします すみません、気づくのが遅すぎました

NonSkinnningモデルはMesh Rendererに、という判別が難しいのであればskinned Mesh RendererとかMesh Rendererのようなcomponentではなく単純にオブジェクトのon/offアニメーションにするという対応でも良いと思うのですがご対応は可能でしょうか

お忙しいとは存じますので可能なときにご検討いただけますと幸いです

i-saint commented 5 years ago

オブジェクトのon/offアニメーションにするという対応

これは上手くいきません。disabled なオブジェクトは Animation の再生も行われないため、一度 disabled にしたが最後二度と enabled に復帰しなくなってしまいます。 以前、visibility のアニメーションは一度対応を試みたが取り止めた、と言いましたが、これが原因でした。

i-saint commented 5 years ago

visibility の AnimationCurve を常に SkinnedMeshRenderer と MeshRenderer 両方に対して設定するようにすれば、とりあえず解決できるのではないかと思います。特定プロジェクト専用対応になるためこちらでは対応しませんが、数行程度の変更で済むので御社側で対応できると思われます。 MeshSyncAPI.cs の ExportTransformAnimation() の下の方で visibility の curve を設定しているので、ここを改造してください。

TsuPMC commented 5 years ago

オブジェクトのon/offアニメーションにするという対応はうまくいかない件、すみません、以前確かに伺った気がいたします 繰り返してしまい申し訳なかったです

MeshSyncAPI.cs の ExportTransformAnimation() の下の方で visibility の curve を設定しているので、ここを改造してください。 を試してみます ご助言どうもありがとうございました

TsuPMC commented 5 years ago

そして無事にできました ありがとうございました

i-saint commented 5 years ago

よかったです。 以前のミーティングで、visibility のアニメーションは一度実装しようとして取り止めたけど理由が思い出なかったんですが、その理由がこれだった、という話でした。ですので、どうかお気になさらず。