Lightwave point cache support?

I was curious if JME supports lightwave point cache? I’m trying to lower the shape keys my meshes use and so far have only been able to get it to work if I convert the animation over to a .FBX and .MDD cache file. Is this something that could work in JMonkeyEngine?

1 Like

I know that JME support Morph Shapes, but not MDD

But like you already did, you can just convert it in Blender for supporting JME animation system.

Tho depends what you need, for example lipsync can be easly done using Morph Shapes and animated easly through JME code. So why do you need MDD exactly for?

I have to many states that need to be active at one time. I found that if i converted to MDD cache I could use only 3 active target morphs at once, without doing this I have around 19 active target morphs for one specific mesh in object. Redoing it with bones would be very difficult. I’m not doing voice syncing. I’m syncing clothing coming off from a model and switching between different clothes.

1 Like

Hmm, i would need to know more.

But you know you got Minie cloth physics there yes?

If i recall correctly @Ali_RS probably also made cloth physics baked from Blender into JME.

I haven’t even bothered with physics yet. I had been baking it in from blender. The animation from what I have talked with several animators is very complex, and the only real way to make it work was using this many shape keys on the clothes. What do you need to know?

I thought about some solutions. If you say its not possible to use cloth physics to maintain same/similar animations, i guess you should stay with MorphShapes, but i need to understand:

I found that if i converted to MDD cache I could use only 3 active target morphs at once
in JME or Blender, why only 3?

Is it related to Blender MDD or what exactly?

I see, I want to be able to use 3 so I can target android. If I do not use around 3 even my high end phone will throw vertex attribute errors. Removing the morph targets has been the only way to load it on my phone.

1 Like

so its not like you said that “if you convert to MMD cache you can use 3” but its just about Android.

How many you need to use to maintain animation working?

I think you could remove and re-add needed ones “during animation”, but it would require custom code for it.

Ofc the most easy would be using Cloth physics, and use “pins” for example, but i understand you got specific animation and you want maintain exactly same.

Another idea would be to “save mesh buffer” for each frame, and just mesh.setBuffer() to load each frame mesh. Ofc it would work slower since mesh would need to be updated in shader every frame, but its still some idea.

If I convert like i said I can use 3 Morph Targets. It creates 1 morph target for each frame there is 353 frames. WIth that I can set the current frame’s Target morph to 1 and it will play the animation if I move through each of these Target morphs through a loop. (For some reason though the mesh changes sizes so I will need to look into this a bit)

Well If I lower each mesh to 3 Target Morphs I can make things work. With the current set up though If I do not have all activated with a value of .00001 to 1.0 things get weird and fall off. For instance if I have 2 pieces of clothes right now 1 would have 9 morphs and would end with 9 morphs going up by 3 each time.

With the current way the model is it needs 9 morph targets:

physics will be used just not for this.

this could be an option.

1 Like