JackStone Posted May 29, 2016 Share Posted May 29, 2016 Hello,I have recently discovered Mixamo Fuse, and it's powerful character generation abilities.What I would really love though is to incorporate a program like this into a computer games engine. Does anyone know of any library out there that could be used like this? I have created a simple character creator before, but it is a long and involved process. Having access to a software library would be a huge advantage, a developer would only need to create the individual art assets (clothing, etc) and the software would allow the user to combine them with the base mesh and customise them.Is such a thing possible? Quote Link to comment Share on other sites More sharing options...
Johxz Posted May 29, 2016 Share Posted May 29, 2016 aaaahh don't know :roll: but try this http://www.makehuman.org/ Quote Link to comment Share on other sites More sharing options...
JackStone Posted May 29, 2016 Author Share Posted May 29, 2016 Yes, I know about Makehuman, but it's not integrated, that's the thing. I think Unreal engine has some resources like this, which are made using morph targets? Quote Link to comment Share on other sites More sharing options...
JackStone Posted May 29, 2016 Author Share Posted May 29, 2016 As it turns out, T3D has morph target animation support, is this correct? My knowledge of animation is poor, but could this feature be used with Torque to produce a character creator similiar to fuse? Quote Link to comment Share on other sites More sharing options...
Johxz Posted May 30, 2016 Share Posted May 30, 2016 not sure, if someone can confirm... I remember reading the documentation, it supports morph target animation. Quote Link to comment Share on other sites More sharing options...
rlranft Posted May 30, 2016 Share Posted May 30, 2016 As it turns out, T3D has morph target animation support, is this correct? My knowledge of animation is poor, but could this feature be used with Torque to produce a character creator similiar to fuse?I think the meaning of this term has drifted since TGE added this. If I recall correctly, this was specific to facial animations and relied on animation keys in the Skin modifier, so "morph targets" in the 1999~2004 sense of the term. Not in the "using a vertex shader to morph the mesh to a desired shape" sense that we use today. So, theoretically you could put the keys in the whole body mesh but you'd then probably have to have a set of animations for each of these targets - at a guess. Quote Link to comment Share on other sites More sharing options...
JackStone Posted May 30, 2016 Author Share Posted May 30, 2016 Yes, I did a little digging, and it seems that you're right. I think this support was even depreciated a number of years ago.So, is that how morph target animation works then, in a character generator? You use a shader to alter the positions of the model? That's very clever, shaders are incredibly powerful.I'm not an artist, so I doubt I would understand this well enough to implement it, but would it be possible to create a system that does this? T3D has shaders, is it entirely shader based? Quote Link to comment Share on other sites More sharing options...
JeffR Posted June 1, 2016 Share Posted June 1, 2016 The biggest issue with morph targets is that lots of art pipelines don't support them at all anymore.Assimp doesn't support it, for example.Torque had some nominal support for them, but I haven't personally tried it myself.Most current games I've looked into for this sort of thing seem to have largely shifted to bones, with bone scaling and clever rigging to change the character shape. For example the Sims 3 and 4 do this.For a basic breakdown in how both approaches would work:For morph targets, you would create a series of shape keys, or separate models with the different adjustments you'd want(such as, say, the nose being bigger). You'd export these out and load them into the engine and basically store the vert positions as a separate type of animation rather than bones which stores the positions of the verts at their modified placement.When you'd go to blend on the shape key animation, you'd handle those separately from bone animations by having your 0-1 value dictate how blended between the 'unchanged' and 'totally changed' you want for that shape animation. You'd do that for each of the morph targets to get a final blended position.I think the main reason this has phased out is with the shift to instanced meshes. Instancing require the verts to be in the same position, so in order to morph targets on TOP of hardware skinning the bone transforms, means you'd not only be passing up the transforms for all the bones to affect the model, but you'd also have to pass along vert permutation info. You can potentially chew up a good bit of bandwidth hocking all that data around and it also complicates the shaders some.Not impossible, but less than ideal, which again may be why it's less common now.The other approach, which seems to be the main way these days, is using bone positions and scaling. This method doesn't require any special pipeline handling, and doesn't change anything about the rendering/shaders in regards to instancing/hardware skinning, which is most likely why it's favored.The basic idea with this is that you would, when rigging your character as normal, add in additional bones that are children of your regular rig bones. Various parts of the model are skinned to those bones, so they animate normally, but when you adjust their position, or their scale, it influences the look of the geometry of the model.For example, you could have a bone in the nose, and if you move it up or down via a simple offset value(or a blended animation), this moves the nose up and down on the face. If you scale the bone, the nose gets bigger or smaller, etc.I don't know at a glance what Mixamo Fuse uses, since they don't need to do optimizations for realtime rendering while editing the character, it's possible they went with morphs, but if they did end up using the bones approach, you can see if those bones are exported along with the model. If they are, you should be able to fairly readily utilize them to have similar customization.If you're rolling your own character from scratch, you'd naturally need to add those bones yourself. Once the bones exist and are rigged to the mesh though, adjusting them via blended anims or code is fairly straightforward. Quote Link to comment Share on other sites More sharing options...
JackStone Posted June 4, 2016 Author Share Posted June 4, 2016 JeffR, Thank you so much for that post! That really clears up a lot of the gaps in my knowledge.So, morph targets are essentially obsolete, would that be correct? It seems Unreal uses them a lot for it's character generator resources.By "not requiring any special pipeline handling", I assume you mean that the bones solution would be largely engine independent, would that be correct?I think I get the general concept now, I could do some experimenting with it. Do you know how multiple clothing, and armour types, etc, work then? If I scale up the arms, does the armour that I have attached to the arms scale up with them?Mixamo fuse seems to use multiple meshes, I can see in the editor window a distinct mesh for the lower body, upper body, etc. I'm not sure if it uses bones or morph targets.Thanks again! Quote Link to comment Share on other sites More sharing options...
amjrl Posted September 25, 2016 Share Posted September 25, 2016 Hi, um, theres a character creation in rpg starter kit it has what your looking for, I can sure the code if you like, I'm not sure if its wrong to do that but I bought this some time ago. Quote Link to comment Share on other sites More sharing options...
Johxz Posted October 12, 2016 Share Posted October 12, 2016 Just in case anyone still interestedhttps://github.com/John3/awesome-torque3d#rpg--mmorpgshttps://github.com/John3/awesome-torque3d#tools (Advanced Character Kit) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.