Search Unity

Skinn Pro & Free - Skin & Blendshape Projection + Much More

Discussion in 'Assets and Asset Store' started by cwmanley, Feb 15, 2017.

  1. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    204
    Thank you! Again Sorry for the delay. If I ever don't get back to you on the forum feel free to shoot me a email.

    Yep that will work :)
     
    Duffer123 likes this.
  2. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    @cwmanley - well I've had a damned good go but failed using the 1-6 method above. I've emailed you a base model and a 'fat' model (to add in as a Blendshape) and some screen captures to see what you make of it all...
     
  3. Chadobado

    Chadobado

    Joined:
    Oct 19, 2016
    Posts:
    25
    Hey @cwmanley just bought your asset because I hope to transfer blendshapes between 2 facial meshes with different topologies. Or at least project one mesh on to the other so I can attempt to capture vert deltas and manually create a blendshape with those deltas.. to achieve something similar to a shrink-wrap. Are either possible w/ your asset? For context I'm trying to apply ARKit facial blendshapes I created from mesh A to a character model, mesh B. Thanks in advance.

    Edit: Also - is there any way to see command output/logging? I notice when commands fail, nothing is output to the console. TIA
     
    Last edited: Jan 11, 2021
  4. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    204
    HI,

    The vertex mapper works like the shrink-wrap in Max, but instead of binding the mesh it cycles through each blend-shape and creates new blend-shapes and optionally creating skinning information. I don't recommend the VM for head to head transfers on facial blend-shape but I have achieve decent results with similar meshes with the eyelids semi-closed and mouth open. Max's skinn-wrap is far more advanced than the VM at the moment. I have been working on new "skinn-wrap" algorithm that is on par quality wise with the major 3d applications and out performs them in terms of speed.

    You can turn on the dev mode on the object in Skinn/Resources, though at the moment only a few commands use the feature. The commands should be unavailable(greyed out) if the will not work but some of the checks where to heavy to run on OnGUI(); I will try to make sure they log in the future.

    image_2021-01-11_205812.png

    PM if Skinn is not going to help you out and I will issue a refund.

    Thanks,
    Chris
     
  5. Chadobado

    Chadobado

    Joined:
    Oct 19, 2016
    Posts:
    25
    Thanks for the great/prompt support Chris and offer to refund if Skinn if it doesn't help, appreciate it. I'll see if it can be used to meet some other needs. Will check out the development mode and also Max's skin-wrap.

    Mind if I send you a follow-up question via PM? It's pretty specific so don't think it would contribute much value to the thread.

    Thanks again,

    Chad
     
  6. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    204
    Sure you can pm me or email me at cwmanley@mail.com :)
     
  7. Chadobado

    Chadobado

    Joined:
    Oct 19, 2016
    Posts:
    25
    Thanks Chris, I sent over an email. Let me know if you didn't get it, first one bounced back (think you meant @gmail.com). Best, Chad
     
  8. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    155
    Hi @cwmanley, I sent you an email regarding a question for Skinn. Is that an alright place to message?
     
  9. SUUNE

    SUUNE

    Joined:
    Mar 10, 2019
    Posts:
    56
    Hi @cwmanley I try to use your free skinn tool to add mesh to the skinned mesh (overall I just need clothes for character)... and its kinda working but new skinned mesh is being added at very wierd position (far from root object). Am I doing something wrong or there is specific way of preparing mesh for doing something like that.
     
  10. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    @cwmanley , OMG, OMG, OMG! - I have managed to generate working (beautifully) BODY blendshapes with CC3 models if you export the variants from CC3 as Gamebase versions, single material. It works a charm. It is so good you can actually use Blendshapes (generated by SkinnVM) to change the Race and body shape, height, build, ears, the lot!
     
    wetcircuit likes this.
  11. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    In case anyone cares or is interested, here is my method and workflow - for it all to work, you must convert your models in CC3 to Gamebase (simplified) first before exporting in to Unity:-

    So, I was frustrated that whilst you can export CC3+ models in to Unity with the usual CC3 plugin for Unity etc, they are only imported with Facial Blendshapes on the Body skinned mesh but I just could not find any way to import all the wonderful body and other head morphs.

    So, I started looking at various assets that may be able to help me. I tried a couple. None seemed to work. I then came across a video on YouTube from @wetcircuit who does lots of really useful Mixamo / Fuse to Unity related stuff and Blender and she was using both Blender and Skinn Pro to get additional blendshapes in to to models, so I wondered if I could import the CC3+ base neutral model in to Unity but then also the neutral model say morphed in to female CC3+ base. Could I take the mesh (from the Body skinned mesh) from the latter and push it in to the former (the the neutral CC3+ model) as a blendshape using Skinn Pro. The answer was sadly very close but no cigar. It either imperfectly did so or not at all. After a lot of fiddling with it, I gave up. I then today wondered if I could do the same but exporting from CC3+ AFTER converting the models in CC3+ to the Gamebase (simplified versions) of the same models and others from CC3+ to Unity. Fewer materials. Combined in to one material. Less complex models. Anyway, that works for nearly all morphed models in to the neutral model. Not models with Tokomotion morphs, for some reason, but pretty much everything else...!

    Assuming you have Skinn Pro and that CC3 plugin installed in Unity - Workflow: (1) So if the CC3+ neutral base model is <A> and the say CC3+ neutral model but morphed to be an elf model is model <B> , both in CC3+, I convert both in Gamebase form from CC3+ and export out as to-Unity FBXs and in to Unity in that CC Assets folder. (2) I drag the prefab of <A> in to the scene. (3) I drag the prefab of <B> in to the scene. I rename the child element of <B> (normally CC_Base_Body) to something appropriate like 'Elf'. (3) I right click on the highlighted skinned mesh component of 'Elf' then within <B>, and in the PopUp menu select Skinn:Edit, the Clipboard, then Copy. I can then deactivate <B> (<A> and <B> are overlapping each other in same position in scene). (4) I then find the CC_Base_Body in <A> and again right click on the skinned mesh component within that, select Skinn: Edit in the PopUp, again Clipboard, then paste, then Mesh as Blendshape. Then most times that creates an additional Blendshape in <A> entitled 'Elf' (or whatever you named that part within <B>) with the usual 0-100 slider. If you slide it, et voila, the more to the right, the more elf-like your character etc etc. For some reason, so far, only the Tokomotion morphs in CC3 (models with those morphs applied) cannot have their skinned meshes copied out as meshes and applied as blendshapes in to <A>. No idea why. Everything else has worked so far. I've got fat, thin, tall, short, ears, muscular, elf, dwarf, male and female working like a dreams so far. All body blendshapes on the one base model. I hope this is making some sense!

    The main thing is that <B> in each case is providing a new blendshape from it;s renamed CC_Base_Body skinned mesh (through use of Skinn Pro). Also, it's very important to (when you've morphed the CC3+ neutral base model to your liking for <B> you convert it to a Gamebase model before then exporting in to Unity each time.

    p.s. with blendshapes that stretch the height/vertical of the model and/or distort the head you also need to create blendshapes from the skinned mesh renderer on <B>'s eye, teeth and tongue children across to the same children skinned mesh renderers on <A>. I am keeping to the same name for those Blendshapes as the one created on the body of <A> which makes it easier to apply to all 4 of those blendshapes say a score of 50, 75, 100, whatever. If you do that, the eyes, teeth and tongue keep in sync with where they should be in the head on <A> when the blendshapes are all applied. It's not always necessary to do additional same-named blendshapes for the Eye, Teeth and Tongue even if height of character changes.
     
    Last edited: Feb 14, 2021
    drcfrx, Alic, AGregori and 1 other person like this.
  12. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    @cwmanley - is there an easy way to apply blendshapes from the body skinned mesh renderer to items of clothing skinned mesh renderers on the same model?

    Also how could I get the blendshapes for the say body skinned mesh renderer to effect the say trousers skinned mesh renderer? I've got a model, The trowsers ordinarily fit with the body when the model is animated but if say I increase the 'fat' blendshape on the body skinned mesh renderer the skin of the body quickly subsumed and covers the trousers over... What's the best way to solve this? Is there a way to solve it? I really hope so. Otherwise, all my wonderful blendshapes on the body skinned mesh renderer are going to go to waste... :(

    [edit - 15/02/2021] @cwmanley - I'm still very interested in your thoughts on these workflows and issues if you can weigh in with them. However, the developer of Eadon RPG for Invector (and soon Eadon RPG Kit, Eadon AI and Eadon Character Controller), @CogsAndGoggles, has come up with a further workflow to make the clothes imported on CC3 neutral base+Gamebase models (which usually come in to Unity with the wrong number of vertices etc) to now work with the (and be applied in to) the original CC3 neutral base +Gamebase+blendshapes model (the one we have successfully pushed blendshapes in to taken from other morphed neutral base+game base CC3 models also carrying no clothing/armour pieces).

    The @CogsAndGoggles / Eadon Discord is here https://discord.gg/FPaMfwAW .

    He came up with this additiona workflow to still be able to make the clothes play nicely with the cc3 neutral base/Gamebase-with-blendshapes model:-

    start as you were, i.e. with a (clothed) Game Base model, export from CC3 and import into Unity

    Set the mesh on import like this


    drag the model to the hierarchy

    duplicate the clothing item and drag it out of the model

    disable or delete the original clothing

    right click in the hierarchy and


    Set it up like this


    where Test_01 is my CC3 model, CC_Base_Body is the body mesh with the blendshapes (I used one called Fat)

    the target asset is the duplicated clothing item

    I also set this


    then press Create
    this will add a new clothing item on your character
    that will have also all the blendshapes
    select it in the hierarchy
    Right click on the Skinned Mesh Renderer component in the inspector, select Skinn:Edit and


    @cwmanley - anything else we're missing or anything else the wonderful Skinn Pro can do to also help things along here?
     
    Last edited: Feb 15, 2021
  13. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    Cogs n Coggles has now done a how-to video also pitching some of the uses of Skinn Pro:-
     
  14. DeidreReay

    DeidreReay

    Joined:
    Oct 28, 2019
    Posts:
    44
    I read on the forum there is supposed to be a combine two blendshapes into a new one? Is that feature still coming or have we missed it looking around ?
     
    Duffer123 likes this.
  15. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    @wetcircuit @cwmanley - is there a script and/or an easy way to script, in runtime, copying blendshape(s) from a parent / body skinned mesh to compatible children skinned meshes (already baked and skinned to the parent)? In runtime?

    Fairly sure I once saw a script identified that could do that but damned if I can find it now.

    I'm thinking it would be a massive time-saver...
     
  16. schala

    schala

    Joined:
    Jul 24, 2012
    Posts:
    20
    Hi @cwmanley, I recently started using Skinn Pro, and even though I haven't tested out all features, the one I'm interested in is the merge feature.
    I have a model that has clothes, hair, etc separated. All are skinned and rigged to the same skeleton, no issues there. The issue is that when I try to merge, the hair continues to move away from the rest of the body. Blendshapes are working fine and everything else, just the hair keeps doing that. I went to Maya and freezed all transformations, so the transform values are 0 just as the other meshes. But it continues to have the same behavior.

    Screenshot attached to give you an example.

    Do you have any idea why this is happening? I'm using 2021.1.10f1. afterMerging.png
     
  17. schala

    schala

    Joined:
    Jul 24, 2012
    Posts:
    20
    Nevermind, I was able to sort it out in Maya by duplicating/rebinding the new hair. :rolleyes: Had nothing to do with Skinn Pro, but I'm leaving this post here in case someone else encounters a similar issue.
     
    Jaimi, JoeStrout and Mark_01 like this.
  18. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,365
    Waves hello to SKINN PRO peeps…!



    I finally splurged on Character Creator 3 and….
    ...omg, y'all! What is with all the blend shapes????

    lolol. reallusion is just crazypants. :confused::rolleyes:
     
    cwmanley, Mark_01, JoeStrout and 2 others like this.
  19. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    Gotta give that vid a watch. I have my own workflows but curious to see what you came up with...
     
    wetcircuit likes this.
  20. jeromeWork

    jeromeWork

    Joined:
    Sep 1, 2015
    Posts:
    384
    As you know, I've a bit of a love/hate thing going on with CC3. So great to have you onboard to help advise on the Reallusion crazyness :)

    btw. keep an eye on Victor.Soupday's work he's incredibly helpful and is pretty much doing Reallusion's work for them: https://forum.reallusion.com/488356/Unity-Auto-Setup
     
    cwmanley, Mark_01 and wetcircuit like this.
  21. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    204
    Sorry for disappearing.

    I am try to get back on track a with a new update and a new asset called Skinned Constraints (free for current Skinn users). My goal is to have the Skinned Constraints asset replace the runtime functionally of the Vertex Mapper with simpler more flexible solutions.

    Skinned Constraints follow skinning, blend-shapes, and cloth simulation. Constraints will consist of components made specifically for a purpose; for example..
    • Point Constraints are for rigid skinning accessories like weapons or some jewelry.
    • Cylinder Constraints are for circular items like belts, bracelets and dresses.
    • Sphere Constraints are for hair, helmets, and armor attached to joints.
    • Other Constraints will be added for other items and purposes.
    The performance of the constraints will depend on your needs for example; where your not using blend-shapes you can use constraints with a lower resolution or even a point constraint which is of course the most performative.

    Capture.PNG

    A beta of the Skinned Constraints package should be on itch.io by the 18th.


    Thanks
     
    one_one, SammmZ, wetcircuit and 4 others like this.
  22. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    Brilliant!
     
    cwmanley likes this.
  23. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,365
    Is it the 18th yet…?
     
    cwmanley and Duffer123 like this.
  24. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    @cwmanley - in terms of the new asset, is it using in some way DOTS and to what extent will this new asset allow you to throw only vaguely compatible clothes/hair meshes (as then skinned meshes) over a body skinned mesh and get moving, so to speak, in runtime?
     
    cwmanley likes this.
  25. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    204
    Hi,

    Skinned Constraints does not support DOTS, but I am open towards any ideas about how I could leverage it or support it in the future.
    .
    I will add support for Pre-Baking skinned meshes. Is that what you meant by..?
    When enabled in edit mode or play mode constraints looks for skinned mesh renderers to constrain to by name. The local transforms of renderers controls the alignment of the projection, but besides that the character can be animated and at any position. Once you have a constraint prefab setup you just Instantiate, SetParent and then Enable to get up and running.


    The constraints will only work for a some clothing items.

    Besides the Point Constraint I am using a concept that I call Primitive Projection where we manipulate a procedural primitive that then controls how a mesh is deformed by other skinned meshes. There is a few pro and cons to primitive projection.

    Primitive Projection Cons
    • Creates addition Transforms/Bones that need to be updated every frame (Uses Jobs)
    • Quality is dependent on the number of additional transforms.
    • Non-Convex items like shirts, pants, gloves are not supported.
    Primitive Projection Pros
    • Heavy calculations are reusable. Once you design a primitive it can be stored in a mesh asset and used across instances and still have all the benefits of runtime skinning.
    • Blend-shapes are controlled by bones. There is no need to add blend-shapes to a mesh.
    • Convex items like hair and dresses are supported.
    • High Poly meshes have less of a impact on performance vs standard projection.
    • Good deformation is far less dependent on matching topology vs standard projection.

    At first there will two or three components. I am still working it out :confused: I got a little off track switching from the HDRP to the URP and then messing with shader graph searching for that HDRP high.

    Point Constraint
    Editable Primitive Constraint*, Primitive is editable calculations are slow. Mesh is created
    Saved Primitive Constraint*, Primitive is finalized calculations are faster. Mesh is instanced

    I will try to support more items with different/hybrid solutions as I work towards having the Skinned Constraint System replace the VM.

    Thanks
     
    Duffer123 likes this.
  26. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,201
    @cwmanley - thanks for the response- this all sounds incredible and looking forward to seeing and learning more in due course.
     
    cwmanley likes this.
  27. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    204

    Hi, I found a bug while finalizing the demo scenes I am trying to sort out. If I can't sort out the problem soon I will release a package with the just the point constraint for the mean time.

    Sorry for the delay,
    Thanks
     
    Duffer123 and wetcircuit like this.
  28. bebo77

    bebo77

    Joined:
    Aug 3, 2012
    Posts:
    16
    Hi,

    I was trying to generate different temporary clothes in run mode.

    I basically saw that even in run mode it is possible ( with preloaded target asset) to generate a dress by calling the "Create ()" method in VertexMapper.cs through another script or a button etc. and this is generated perfectly.

    Is it possible to change the "target asset" object via script so that you can generate different outfits during execution?

    The target asset unfortunately uses ModelRefrence and I wish I could send a different gameobject before calling create () but I don't know how to do it..
     
unityunity