Export morph targets to Collada
Hi
(This is really a follow-up to my earlier post in the General forum http://www.cheetah3d.com/forum/showthread.php?t=8768).
In my ongoing quest for a seamless and complete workflow from Cheetah to Unity , I'm seeking the slickest way to get vertex animations (such as meshes deformed by modifiers, not bones) and morph targets, out of Cheetah and into Unity.
Currently Cheetah doesn't export (as far as I can tell) vertex animation data to any intermediate format, whether it's the result of a baked physics simulation or just an animated parameter in a modifier. However, using Hiroto's MDD Exporter script, it is now possible to get the full vertex animation on an object out of Cheetah, at least.
The problem now moves to the Unity side. Despite it's increasingly strong character animation functionality, Unity still, perhaps surprisingly, lacks the ability to import vertex animation data. Fortunately there is quite an industry in providing Unity add-ons, and a very popular one is called Mega-fiers (http://www.west-racing.com/mf/?page_id=2), which (apart from replicating in Unity what has been in Cheetah3D for years in terms of bend, twist and other mesh modifiers) also provides MDD import functionality.
Therefore with a combination of a Cheetah script and a third-party product, you can get a Cheetah3D animation of a compressing spring, for example, into Unity. This allows you to retain the powerful and convenient Cheetah modelling functionality while being able to use your animation in the game engine.
For morphs, the process is less streamlined (!).
Of course Cheetah exports morph targets to FBX which is very nice. The problem is, again, Unity's FBX importer cannot currently handle those. And the Mega-fiers add-on for Unity doesn't either. Unfortunately, the developer of Mega-fiers feels that not enough 3D packages support exporting morph targets to FBX to warrant the development of an enhanced FBX importer. However, his add-on is able recreate morph targets in Unity from 3D packages such as Blender, 3DS Max, and Maya, for which he supplies additional plug-ins. As there is no plug-in for Cheetah3D, he proposes a multi-step process:
1. Export file containing morphs to Collada
2. Open in another application which can import Collada, such as Blender
3. Use his Blender plug-in to re-export the morph targets to his proprietary format
4. Use his Unity add-on to import his proprietary format file, which recreates the morph targets with sliders in Unity
This process does actually work - for Daz for example. Apart from the inconvenience of installing Blender and having to use it's interface - even if only to convert a file - it's not the slickest workflow. But in any case the gotcha is that Cheetah doesn't seem to export morph targets to Collada anyway!
So in the absence of interoperability nirvana, where I would just drop my .jas into Unity and have it automatically build vertex animations and morph targets, is it possible to enhance Cheetah's Collada export to include morph targets? Then at least I have viable, if clunky, workarounds for the two things I want to achieve.
Hi
(This is really a follow-up to my earlier post in the General forum http://www.cheetah3d.com/forum/showthread.php?t=8768).
In my ongoing quest for a seamless and complete workflow from Cheetah to Unity , I'm seeking the slickest way to get vertex animations (such as meshes deformed by modifiers, not bones) and morph targets, out of Cheetah and into Unity.
Currently Cheetah doesn't export (as far as I can tell) vertex animation data to any intermediate format, whether it's the result of a baked physics simulation or just an animated parameter in a modifier. However, using Hiroto's MDD Exporter script, it is now possible to get the full vertex animation on an object out of Cheetah, at least.
The problem now moves to the Unity side. Despite it's increasingly strong character animation functionality, Unity still, perhaps surprisingly, lacks the ability to import vertex animation data. Fortunately there is quite an industry in providing Unity add-ons, and a very popular one is called Mega-fiers (http://www.west-racing.com/mf/?page_id=2), which (apart from replicating in Unity what has been in Cheetah3D for years in terms of bend, twist and other mesh modifiers) also provides MDD import functionality.
Therefore with a combination of a Cheetah script and a third-party product, you can get a Cheetah3D animation of a compressing spring, for example, into Unity. This allows you to retain the powerful and convenient Cheetah modelling functionality while being able to use your animation in the game engine.
For morphs, the process is less streamlined (!).
Of course Cheetah exports morph targets to FBX which is very nice. The problem is, again, Unity's FBX importer cannot currently handle those. And the Mega-fiers add-on for Unity doesn't either. Unfortunately, the developer of Mega-fiers feels that not enough 3D packages support exporting morph targets to FBX to warrant the development of an enhanced FBX importer. However, his add-on is able recreate morph targets in Unity from 3D packages such as Blender, 3DS Max, and Maya, for which he supplies additional plug-ins. As there is no plug-in for Cheetah3D, he proposes a multi-step process:
1. Export file containing morphs to Collada
2. Open in another application which can import Collada, such as Blender
3. Use his Blender plug-in to re-export the morph targets to his proprietary format
4. Use his Unity add-on to import his proprietary format file, which recreates the morph targets with sliders in Unity
This process does actually work - for Daz for example. Apart from the inconvenience of installing Blender and having to use it's interface - even if only to convert a file - it's not the slickest workflow. But in any case the gotcha is that Cheetah doesn't seem to export morph targets to Collada anyway!
So in the absence of interoperability nirvana, where I would just drop my .jas into Unity and have it automatically build vertex animations and morph targets, is it possible to enhance Cheetah's Collada export to include morph targets? Then at least I have viable, if clunky, workarounds for the two things I want to achieve.