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

Skinn is a collection of tools to work with skinned meshes designed around the Vertex Mapper .

The VM is a component that creates a skinned mesh from a target renderer with the skin and or blend-shapes from a source mesh.

VM Features:

  • Blazing fast calculations powered by compute shaders.
  • Works with animated models.
  • Bone-Weight projection with smoothing options.
  • Multi-frame Blend-shape projection with lighting options.
  • Bone and Blend-shape Filtering.
  • Real-time skinning preveiw of the source and target.

Core Features:

  • Save unsaved mesh assets when creating prefabs.
  • Drag & Drop models and merge their bones.
  • Nested Context Command System with over a 100 commands for working with assets

Notable Context Commands Features:

  • Optimize and remove unwanted Bones…
  • Inflate and deflate meshes.
  • Combining and splitting meshes with skin and blend-shapes.
  • Remove or rename Blend-shapes.
  • Bind-posing skin and blend-shapes.
  • Basic FBX exporting.
  • Command Browser Window for command descriptions.

New in 0.7

  • TexturePacker.cs. a component based atlas tool.
  • BlendshapeController.cs. a blendshape inspector for multiple skinned meshes
  • 20+ new commands

All Context Commands*:

Renderer commands support Skinned Mesh Renderers and Mesh Renderers / Mesh Filters.

  • SkinnedMeshRenderer/Bones/Combine Bones
  • SkinnedMeshRenderer/Bones/Optimize Array
  • SkinnedMeshRenderer/Bones/Remove Bone
  • SkinnedMeshRenderer/Bones/Remove Child Bones
  • SkinnedMeshRenderer/Bones/Edit Transforms
  • SkinnedMeshRenderer/Bounds/Reset
  • SkinnedMeshRenderer/Bounds/Reset All
  • SkinnedMeshRenderer/Bounds/Encapsulate/Selection
  • SkinnedMeshRenderer/Bounds/Encapsulate/All
  • Renderer/Clipboard/Copy
  • Renderer/Clipboard/Paste/Blend-shapes
  • Renderer/Clipboard/Paste/Mesh As Blend-shape
  • Renderer/Clipboard/Paste/Mesh
  • Renderer/Clipboard/Paste/Mesh Cloned
  • Renderer/Clipboard/Paste/Material(s)
  • SkinnedMeshRenderer/Clipboard/Paste/Bones
  • Renderer/Clipboard/Paste/VertexData/Vertices
  • Renderer/Clipboard/Paste/VertexData/Normals&Tangents
  • Renderer/Clipboard/Paste/VertexData/Colors
  • Renderer/Clipboard/Paste/VertexData/Colors32
  • Renderer/Clipboard/Paste/VertexData/UVs
  • Renderer/Export/FBX
  • SkinnedMeshRenderer/Export/FBX All Transforms
  • Renderer/Export/Experimental/Atlas/512
  • Renderer/Export/Experimental/Atlas/1024
  • Renderer/Export/Experimental/Atlas/2048
  • Renderer/Export/Experimental/Atlas/4096
  • Renderer/Export/Experimental/Atlas HardSurface/2048
  • Renderer/Export/TextFilter/Blendshapes
  • Renderer/Material/Clone
  • Renderer/Mesh/Colors/Clear
  • Renderer/Mesh/Colors/From Material/Color
  • Renderer/Mesh/Colors/From Material/Color UV Seams
  • Renderer/Mesh/Name/Rename Renderer
  • Renderer/Mesh/Name/From Renderer
  • Renderer/Mesh/Name/From Parent
  • Renderer/Mesh/Name/From Root
  • Renderer/Mesh/Normals/Rotate with Tangents
  • Renderer/Mesh/Normals/Rotate
  • Renderer/Mesh/Tangents/Rotate
  • Renderer/Mesh/Normals/Clear
  • Renderer/Mesh/Normals/Recalculate/Smoothed
  • Renderer/Mesh/Normals/Recalculate/Unity
  • Renderer/Mesh/Tangents/Clear
  • Renderer/Mesh/Tangents/Recalculate
  • Renderer/Mesh/Vertices/Inflate/0.1
  • Renderer/Mesh/Vertices/Inflate/0.5
  • Renderer/Mesh/Vertices/Inflate/1
  • Renderer/Mesh/Vertices/Deflate/0.1
  • Renderer/Mesh/Vertices/Deflate/0.5
  • Renderer/Mesh/Vertices/Deflate/1
  • Renderer/Mesh/Vertices/Weld/Low Precision
  • Renderer/Mesh/Vertices/Weld/High Precision
  • SkinnedMeshRenderer/Shapes/Create/Expanded Shape
  • SkinnedMeshRenderer/Shapes/Create/Bones/Expanded Shape All
  • SkinnedMeshRenderer/Shapes/Extract/Single
  • SkinnedMeshRenderer/Shapes/Extract/All
  • SkinnedMeshRenderer/Shapes/Invert
  • Renderer/Shapes/Remove/Shape
  • Renderer/Shapes/Remove/Data/Vertices/Shape
  • Renderer/Shapes/Remove/Data/Vertices/All
  • Renderer/Shapes/Remove/Data/Normals/Shape
  • Renderer/Shapes/Remove/Data/Normals/All
  • Renderer/Shapes/Remove/Data/Tangents/Shape
  • Renderer/Shapes/Remove/Data/Tangents/All
  • Renderer/Shapes/Remove/Unused
  • Renderer/Shapes/Remove/All
  • SkinnedMeshRenderer/Shapes/Merge Duplicate Shapes
  • SkinnedMeshRenderer/Shapes/Zero Values
  • SkinnedMeshRenderer/Shapes/Edit Names
  • SkinnedMeshRenderer/Shapes/Load
  • SkinnedMeshRenderer/Shapes/Sort
  • SkinnedMeshRenderer/Shapes/Sync
  • SkinnedMeshRenderer/Shapes/Log
  • SkinnedMeshRenderer/Skin/Bake to Mesh Renderer
  • SkinnedMeshRenderer/Skin/Bind-pose
  • MeshRenderer/Skin/SkinToParent
  • Renderer/SubMesh/Combine/Clear
  • SkinnedMeshRenderer/SubMesh/Combine/Merge Shared
  • SkinnedMeshRenderer/SubMesh/Combine/Selection/Merge Shared
  • SkinnedMeshRenderer/SubMesh/Combine/Selection/Keep Shared
  • MeshRenderer/SubMesh/Combine/Merge Shared
  • MeshRenderer/SubMesh/Combine Selection/Merge Shared
  • MeshRenderer/SubMesh/Combine Selection/Keep Shared
  • Renderer/SubMesh/Flip/Flip Faces
  • Renderer/SubMesh/Flip/Add Flipped Faces
  • Renderer/SubMesh/Split/Submeshes
  • Renderer/SubMesh/Split/Bones/All
  • Renderer/SubMesh/Split/Bones/Hierarchical
  • Renderer/SubMesh/Split/UV Islands
  • Renderer/SubMesh/Split/UV Islands Compare Vertices
  • Renderer/Tools/Create Lattice Deformer
  • Renderer/Tools/Create Texture Packer
  • Transform/Cache/Store Local
  • Transform/Cache/Load Local
  • Transform/Export/Transforms
  • Transform/Export/Transforms For Avatar
  • Transform/Child HideFlags/HideInHierarchy
  • Transform/Child HideFlags/HideInInspector
  • Transform/Child HideFlags/None
  • Transform/Child HideFlags/NotEditable
  • Transform/Mirror/Left To Right
  • Transform/Mirror/Right To Left
  • Transform/Mirror/Children/Left To Right
  • Transform/Mirror/Children/Right To Left
  • Transform/Mirror/All/Left To Right
  • Transform/Mirror/All/Right To Left
  • Transform/Ensure Unique Names
  • Transform/Remove Scale And Rotation
  • Transform/Select/Mesh Filters
  • Transform/Select/Skinned Meshes
  • Transform/Select/Missing Components

Free vs Pro:

  • The Free Version includes the Vertex Mapper Only.
  • Commands and Core Features are not include in the free version.

Demo Videos

Store

Page
https://cwmanley.itch.io/skinn-vertex-mapper/community

Vertex Mapper Standalone(FREE)

Cutscene Artist Third Party Tutorials

More Great Videos at Cutscene Artsist’s YouTube channel

10 Likes

Bookmarked, finally a solution for MCS and user content.

Hey Chris, this looks really promising! I watched the video. Looks very easy to use.

One question I had: since the content can be saved as prefabs, does that mean it’s possible to instantiate and associate content to an MCS character at runtime and preserve the wrapping function? I ask because as it stands currently with MCS, if you want to mix and match content at runtime, I believe you have to basically have all content (e.g., clothing, hair) that you might want to use on a character in the same prefab, then toggle visibility of any given piece of content you want to display or hide. That feels very inelegant and resource heavy to me.

Looking forward to hearing more about this, especially once the new, more resource efficient version of MCS gets released.

Ah okay, so still the same limitations then, I assume. Not a fault of yours, by any means. :slight_smile: Thanks for the clarification.

1 Like

This looks very promising!

I actually don’t know what you mean. I am instantiating clothing and hair at runtime and it works well. The only thing that doesn’t work is completely removing clothing/hair at runtime, so I have to hide it instead, which doesn’t seem to be a problem.

Here is an approximation of my current solution:

public CostumeItem[] PutOn(M3DCharacterManager charManager, GameObject contentPrefab, bool isHair)
{
    CostumeItem[] instances;
    ContentPack pack = new ContentPack();
    pack.setupWithGameObject(contentPrefab);

    if (isHair)
    {
        instances = pack.availableHair.Select(hair => charManager.AttachCIHair(hair, true)).ToArray();
        charManager.DetectAttachedHair();
    }
    else
    {
        instances = pack.availableClothing.Select(clothing => charManager.AttachCIClothing(clothing, true)).ToArray();
        charManager.DetectAttachedClothing();
    }

    return instances;
}

@THplusplusx , thanks for chiming in. I haven’t installed and toyed with MCS in a long time, to be fair. Back then, you had to basically make a prefab with all of the clothing and hair you might want to use on the same character and then hide or show what you wanted to at runtime, if I remember correctly.

If you don’t have to do that anymore, that’s great. Not being able to remove/destroy at runtime sounds potentially problematic still, if you’re doing a lot of switching of content. I guess you could destroy and re-instantiate the MCS character completely every so often, maybe?

All hypothetical ideas for me to explore, although I want to wait until the updated versions are (finally) released, before I dive back into MCS.

1 Like

This looks great, it could take MCS to the next level!

If you need any beta testers then please sign me up, if not then I can’t wait to pick it up when it launches on the asset store.

Dude, you are a godsend! We’ve all been waiting for the MCS crew to get this done for over a year now, dont get me wrong I love MCS and I love the crew behind it but this basic functionality has take way too long.

Please bring this out sooner rather than later, it looks amazing and serves all the necessary purposes. If you need beta testers let me know, would love to test it out for you.

Also $50 seems reasonable for something this powerful and useful.

Thanks,

I hope to submit soon. I admit I keep working on it instead of the docs.

… updating the search with a quadrant pattern that can be stored in the HDSkin ScriptableObject.

I really appreciate the feedback :slight_smile:

3 Likes

Awesome! Thank you. Hope u release soon. :wink:

I admit I’m very interested in this. As with anyone following MCS, we’re all waiting for some way to make our own content packs. This is amazing as it keeps the power of it all right in Unity. Please see this through and really give it all the power you can for us. I would gladly pay $50 for a polished product, but as with all initial releases I recommend a discount to build up the base of users who will find the bugs to polish it.
Suffice to say, this one fills a very significant niche, can’t wait!

Edit: On a side note, since you’re working in the territory of mesh deformation here, have you given any thoughts to the idea of an animal/creature concept like MCS? Base models to morph and create animals with would be another big niche right now, animals are expensive… maybe you’re just using an API to work with an MCS SDK, I couldn’t really tell.

Thanks for your interest,

I will think about adjusting the Beta price, but I cannot make any promises.

I am just now thinking about the the bone morphs; which would be needed to create a new Base Model.

My project is focused on skinning and adding / removing blend-shapes.

Because unity .assets store blend-shape information for each vertex, I added ASCII FBX support; which only stores information that the blend-shapes use.

The project is written in C# and includes the full source code.

2966388--220246--Capture.JPG

This project started as a weight Painter window, here is the original thread.

2966942--220288--smtk.jpg_thumb.png

:slight_smile:

1 Like

Horns on the male model, pretty slick. Before long we’ll have hooves for the feet and have a satyr (with the wrong leg bones lol) :slight_smile:
The morph/blendshape for it was really good for only a few minutes of work.

so with this, I could make a sphere (the unity standard one), put it on the MCS character, run your tool, and it will become a skinned mesh renderer that will be adjusted with the MCS blends? If that is true, it would be really cool. I think I could make some cool stuff just using probuilder/polybrush

1 Like

Can this be expanded to other figure systems?

In some cases the skinning to the base mesh produces good blend-shapes.
There can be to much or to little information in the base meshes to create some blend-shapes.

Those are some crazy legs lol.
I just got the Minotaur and Reptilian Base models in the last sale, creating clothing for them is possible.

You can use any mesh in the scene. Also, you can Bake a Skinned Mesh to a mesh for a new Item or for a custom blend-shape.

I plan on adding support for UMA and other avatar systems.

Some models like Ethan are not in there original bind-pose and are not supported yet.

MCS integration is handled though a included package that can be uninstalled if your not using m3d.

Thanks

1 Like

I saw your post on the Playmaker forum….

I’m looking for a system that could be used with Fuse figures…, but presumably if it works with Fuse it would work with almost any figure.

That’s really cool. There’s a strong chance that I’ll buy this when it comes out… =D

1 Like