Mesh blending - A deep dive (Patreon)
Content
Hi all!
The upcoming release of FurryVNE introduces three new systems for blending meshes with eachother. You can use these systems individually or stack them all together to create a unique effect. Experiment to see what works best for you and your character projects!
Pixel Offset
This is the most basic type of mesh blending. It works by exploiting the depth buffer by offsetting pixels in a dithered pattern. As an object affected by this tech approaches another, pixels from the other object will start to be sprinkled inside and will appear to blend with it. By jittering the dithered pattern each frame, we can exploit temporal anti aliasing to blend the result further, and end up with a very cheap mesh fading tech.
Higher quality still images to see the difference:
https://gyazo.com/28f39ef960e194d4931b71bdf137e4e9
https://gyazo.com/f1172e36ba36a1fff688932a82c284c8
You may recognize this fading, as it is already used by fluff groups. But now it is available as an option for model groups, parts and garments as well! (With an object and accompanying properties to tweak it in all, including fluff groups.)
(In parts and garments, PixelOffset is available as an object in the MaterialHandler.)
(In appendages, PixelOffset is available directly in the appendage group, since appendage groups don't have a MaterialHandler.)
Normal blending
For garments, we will offer a new blending technique - normal blending. This tech works by stepping through all vertices in the affected model, and fetching the closest surface point to the model you're blending the mesh with. Once the closest point to each vertex has been established, we transfer the interpolated normal (for the surface point) to our mesh. The closer the point is, the more strongly the normal will be applied.
If the object is single colored, this tech is essentially enough to completely blend an object with another without noticeable seams:
(Normal blending with a clean mesh, i.e. no AO or normals, just mesh data.)
Layer Transfer
A new layer has been implemented - Layer Transfer. It can be added to any sub-object of body or part.
Layer Transfer works similarly to normal blending, but instead of transferring normals and operating on vertices, it transfers color information and works on texels (texture pixels).
The first time a Layer Transfer is added to a new model, it will take some time to compute, but once that computation is done, it will work lightning fast, and any changes made to the source textures will immediately transfer over to the part/garment which has this layer added.
(Transfer body color to cheek frill.)
(Any changes to body color is immediately visible in cheek frill due to layer transfer.)
(NOTE! We're affecting body layer!)
Putting it all together
All effects added together, plus some additional coloring touches:
-----------------
We hope you will enjoy these new features being added and that they will aid you in your character creation process.
More information about upcoming new features, content and video tutorials coming soon.
Enjoy your weekend!
All the best.
- odes