Maya Blend Shapes to Unity using MegaFiers

Hi There
I have just spent a ‘fun’ couple of days getting to grips with the Maya SDK to produce an exporter for Mayas Blend Shapes to the MegaFiers morpher, so adding a further option to users of the system. There is now a Max, Blender and Maya exporter with a third party Lightwave exporter as well as OBJ file support, and the Max exporter now support the Di-O-Matic Morph-O-Matic plugin for even more flexibility to the artist. Just did a quick seasonal video to show the new exporter :slight_smile:
Chris

Holy hell in a handbasket! That is just what the doctor ordered. Hats off to you Mr Spooky Cat.

ok spooky cat you win!

What does he win? :slight_smile:

I have an older version of maya…8.5…I am actually creating my facial blend shapes with a ZBrush->poser7->daz3D fbx export. pipeline,
Its sounds convoluted…but it is quick and painless, (daz will extract each and every blendshape as separate objects…also the daz 3d fbx files drops into maya seamlessly as well…

my question is compatability…

p.c. / maya 8.5 ???

p-

I do all my Blend Shapes in Maya, seems a bit over the top your workflow- what advantage is all that extra complexity?
just wondered?

well, as it turns out, when I got ZBrush, I also found a zposer exporter.
This allow me 2 things…**
1). Using maya to vertex paint character groups (Texture/Mat Name: Hip/abdomen/chest) I have a mat template in maya w/ all poser/daz bone names. Then I use Daz to export Mat Names as Object Groups. Then re-import back into poser to quickly create my custom poser characters. This is my original 6K polygon, sculpted in zbrush, texture and normal mapped at 2 million polys.

Now that I have my character in poser or free daz, I now have a built in BVH Importer, I have created a universal ‘pose’ library(animation loops), that I can quickly re-target to any other biped. I then built this ‘Universal BVH Converter’. To easily pump in thousands of MoCap files.
of course I had to purchase the Daz3D fbx exporter, $79.00, it was worth it!!

2). Poser allows for easy custom and transferable character/rig/animtion/morph creation.
a). Select Body Part (that you want to morph)
b). Export as morph target.
c). Import into zbrush sculpt shape, export w/ poser exporter
d). Back in poser select body part, edit, create morph, name the dial.
e). Test and save as a Poser Character in Library. Save Character and use poser editor script to 'collect inventory,
f). Daz: you can either import ‘poser character’, or have daz search your directory again.
g). Now you can animate/key frame facial expression w/ your new Morphs.

I can paint out a custom character in about an hour (including fingers)
Pros: I do not have to create a Rig, Transferable Animations (I always improve blend weights, with maya). The Fbx exporter exports all blend shapes as seaparte objects, and can also import into maya
Cons: You have to Buy poser. poser does not have a ‘Reference bone’

p-

a couple of my custom characters…once there set up…everything else is cake!
(**I now use maya for most easy blend shapes, and motionbuilder for all animation)

Are you aware zbrush can do this with morph layers, and, has an exporter to set this all up for you in maya, what is the advantage using your workflow over that?

what is your point??
I am not an expert, I have spent over 5 years
working with this exact stuff…

finished w/ this…
I’ll bake my blendshapes…

Holy hole in the donut, Batman! Good stuff there.

Hi Chris
733981--26731--$notchange.png

You and your site said MegaFiers work with colliders.
Frequently asked questions. MegaFiers work with colliders?

But, it couldn’t work.

I added “knot” of “MegaFier Test Scene” to Hierarchy Scene.
And I attached MegaObject and MegaStretch and Mesh Collider component to “knot”.
I change None to Torus Knot01 on Mesh Collider component.

But Mesh Collider ignore changing amount…:frowning:

You shouldnt need to change any setting after you add the Mesh Collider, also did you click ‘Recalc Collider’
Chris

Hi Chris.

Do I set Mesh Collider component None?
But, I’d like to get collision detect the GameObject attached MetaStretch.

I couldn’t find ‘Update Colliders’. Where is it?

shinriyo

Hi Chris.

Okey. I noticed you edited ‘Update Collider’ to ‘Recalc Collider’. :>
I checked ‘Recalc Collider’.
But, before push Play button, it calc only when start.
It could’t change dynamically. Is it disable?

Delete the collider you have and then add the Mesh Collider again then all will be set. The Recalc Colliders is in the Mega Modify Object component next to recalc normals and recalc tangents. Little video below showing it working :slight_smile:
Chris

Sorry I dont quite understand. You cant toggle the recalc collider in play mode? It is all working as expected here and in the video above, I can toggle the recalc at any time.
Chris

Thanks
I checked “recalc tangents” also

Well you only need to check that if you are using shaders that need tangents ie bump mapping.

Hi Chris

What is “ie” bump mapping? I googled, but not found.
However I don’t think the word Internet Explorer in short…

I checked “Recalc Tangents” and “Recalc Collider” of Mega Modify Object’s component.
I dynamically modify MegaMelt’s Gizmo Rot and Amount.

the error occurred.

Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh shapes! Please change mesh geometry or supply a tensor manually!
UnityEngine.MeshCollider:set_sharedMesh(Mesh)
MegaModifiers:SetMesh(Vector3[]) (at Assets/Assets/Scripts/MegaFiers/Modifiers/MegaModifiers.cs:403)
MegaModifiers:ModifyObject() (at Assets/Assets/Scripts/MegaFiers/Modifiers/MegaModifiers.cs:359)
MegaModifiers:ModifyObjectMT() (at Assets/Assets/Scripts/MegaFiers/Modifiers/MegaModifiers.cs:654)
MegaModifyObject:Update() (at Assets/Assets/Scripts/MegaFiers/Modifiers/MegaModifyObject.cs:142)

I checked Mesh Collider component’s “Convex” check box and It was resolved.
but, is it correct fixing the bug?

Bump mapping is an effect you apply through a shader to make things look bumpy, search the google site for it, but you dont need to turn on recalc tangents unless you have a bump mapping or parallax shader attached to the object so turn it off :slight_smile:

That is a Unity error not a megafiers error, the rigid body system is using the collider mesh to compute the mass distribution of the object so that it will react correctly in a physics simulation, the mesh you are sending is obviously deformed to such an extent that the Unity system cant compute the volume correctly to calculate the inertia matrix. By checking the convex box you tell Unity to make a convex hull out of the mesh so it will work as the convex hull will have a positive volume, note setting convex makes computing the mesh collider a lot slower. You really need to stop the mesh from getting so deformed that its giving odd values when the volume is computed (it has probably been so deformed that the volume calculation is returning a negative value or something).
Chris