Closed willeastcott closed 4 years ago
Hi Will, Just wondering have you guys made any progress regarding to supporting morph animation in Playcanvas?
Hi @issacclee - this work is still not scheduled. Can you give me the use case of what you want this feature for (just out of curiosity)?
Hi @willeastcott , sorry for such late reply. I was in need for such feature because we are trying to simulate the process of turning machine cutting through metal piece which of course would require the ability to either import morph animation made by 3d tools like 3dsmax or have the engine work with procedurally created mesh.
Could it be achieved with skinning?
Hey @willeastcott. Would love to get this feature in there. I'm really new to Playcanvas and trying to push it atm to see whats achievable. Working on characters and be great to use non-boned facial animation among other things : )
Another thing this would be useful for is custom character creation. Or similarly, producing random variations of characters for crowds etc. As an example: https://threejs.org/examples/?q=morph#webgl_morphtargets_human I may be unable to use PlayCanvas without this feature, unless it offers another way of achieving this. (I'm also a brand new user, but enjoying it very much so far!).
You're in luck @westoncb - we're going to look into adding support for this next. Good timing!
Great! Glad to hear it. Meanwhile I'm going to attempt constructing a VertexBuffer manually that interpolates between some static meshes with identical topology.
any news on this? doing character animation without corrective shape keys is not great. There are also limitless amounts of effects easily achieved by a simple morph target that would be impossible with skinning. I didn't realize this was unsupported when I signed up because its supported in every other engine.
Hi! Morph targets are supported now. They're imported from FBX and can be used, but the API is a bit low-level, so we didn't document it properly, hoping to add a better public API later. However, you can use these methods: https://github.com/playcanvas/engine/commit/3b42ad2b470d5d7b096af52c30485174e0cd37ce
In fact you only need to use meshInstance.morphInstance.setWeight
Does this support animated weights from the fbx file or would that have to be re-animated via scripting now. Whats the eta on a finished implementation? Mostly i'm recreating a sketchfab type of experience that I can host myself. Its been a decent experience so far, although I would pay more to remove the requirements of using the cloud...
On Oct 25, 2017 8:00 AM, "Mr F" notifications@github.com wrote:
In fact you only need to use meshInstance.morphInstance.setWeight
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/playcanvas/engine/issues/179#issuecomment-339306948, or mute the thread https://github.com/notifications/unsubscribe-auth/AfjrO7ik4vNb4nItPscreDBWch-4DP8qks5svyLvgaJpZM4Dt3Ep .
It doesn't support loading animated weights... in fact I didn't realize there was such a thing. If they are really in the FBX, that can be implemented. For now it can be done via scripting.
XD yes thats part of fbx and used often
On Oct 25, 2017 12:20 PM, "Mr F" notifications@github.com wrote:
It doesn't supported loading animated weights... in fact I didn't realize there was such a thing. If they are really in the FBX, that can be implemented. For now it can be done via scripting.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/playcanvas/engine/issues/179#issuecomment-339386505, or mute the thread https://github.com/notifications/unsubscribe-auth/AfjrO00JPXCE4jn53D0qx67qicltQEe7ks5sv1_GgaJpZM4Dt3Ep .
How would you define multiple animated tracks from a single FBX though?
https://docs.unity3d.com/Manual/BlendShapes.html
http://answers.unity3d.com/questions/675871/exporting-keyed-blendshape-animations-from-maya.html
On Oct 27, 2017 6:43 AM, "Mr F" notifications@github.com wrote:
How would you define multiple animated tracks from a single FBX though?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/playcanvas/engine/issues/179#issuecomment-339937912, or mute the thread https://github.com/notifications/unsubscribe-auth/AfjrO08XE8Y6547LDqaq22UMVAewqd0fks5swbO_gaJpZM4Dt3Ep .
Hi @slimbuck. This feature request was opened long ago. Since then, rudimentary morph target support has been added to PlayCanvas. But I would describe it as incomplete. Some missing things:
pc.Morph
, pc.MorphTarget
and pc.MorphInstance
).So rather than close this, I'll assign to you for now until we feel it's properly fit for purpose.
We should add morph target support to the engine. We'll need POSITION0..7 semantics (preumably 8 is enough?), GLSL to do the interp. Obviously, we want the FBX conversion tool to read this data and write it to model JSON, but since the engine needs to work with procedurally created meshes, it's not a blocker.