Would like to share a custom build that includes all the latest 2.79.6 features (AO, Bevel etc), Weighted Normals modifiers by Rohan Rathi and several hackish modifiers by myself that have gone through quite a lot of production (gamedev). These include:
UV Warp modifier
Without From To targets set, it defaults to UV OFFSET mode (similar to Array, Mirror). Mainly useful for Gamedev where you have multiple instances sharing same UV space which would cause an error when baked (instead uv can be shifted by +1 ). It’s also useful for animation.
With “S” detected in modifier name, it will SCALE UV instead of offset. This is extremely useful when working with thickened CURVES for things like Wires, Ropes etc where Textures need to tile:
Displace, Bevel modifiers have been altered to work with Thickened Curves.
Build modifier can be renamed to “Weld” resulting in remove doubles functionality. For myself I use it with Bevel after Boolean workflow as it reduces some errors. To my understanding 2.8 Bevel might have it built in.
Split normals modifier can be used to Amplify normals. This is very useful when working with game geometry (in particular holes, screws etc) and strong parallels can be drawn to DECALS workflow.
For example suppose you need a hole in your geometry - you can cut a Sphere in half and export for Bake in SP. You will have to use very large bake distance that will likely cause artifacts elsewhere on bake and AO map, Position etc will all be messed up. With such workflow it’s easy to avoid and all bakes come out nicely.
Can be used to MARK SHARP EDGES only, similar to Auto Smoothing angle. This is useful for game assets when working with Booleans and Weighted Normals modifier and some other cases. It would be possible to just use EdgeSplit, but it would do the actual SPLIT (instead of marking Sharp) which would be flagged as manifold geometry in gamedev pipelines.
EdgeSplit can split edges marked as SEAMS when no checkboxes are set. Why? Depending on modifier combination SEAMS can be more stable and survive towards the end of the stack. There are also instances where
- image helpers do not have a border (nice if you keep reference in viewport)
- seams+sharp edges have Unique color. Before could not tell
- Image Editor will not show UV if “pin” is enabled. This is useful when you like to have multiple image viewers open as reference (as i do). Prior when working with HP this was the result:
- Boolean can be used on Text objects
Example of Displace on Curve with UV scaling:
Example of Triangulate Ngeons:
Example of UV scaling on Curves used on wires to tile Texture. Also Displace on Curve is Blue part (Voronoi):
Example of Amplified Normals_:
Example of first splitting SHARP edges, then Seams:
BUILD IS AVAILABLE HERE: http://cgstrive.com/blender/Blender2_79_6_wn_cgs.rar
Usage: As can be read above most alternative modifier functionality is triggered by altering it’s name (strstr()). It is not quite as intuitive as some would like(e.g separate modifiers), but most of this functionality was created for personal use as experimental. To maintain separate individual modifiers would require 10x the work. Snippets are usually in modifier name.
Please consider that these features are experimental. If you plan to render it with renderfarm, share or open with different blender ver, work that uses custom functionality will be lost unless collapsed.
Motive: I am hopeful that if this catches glimpse of developers, then these features can be integrated professionally into official build. Most of these modifications are a few lines of code and would most likely take a few hours for professional Blender developer to do decently.
Few more ideas I would like to attempt later or requests if someone is kind enough to take a jab at them:
- SubDiv modifier should accept Vertex Groups. Localizing detailing is very useful (e.g damaged corners of a wall)
- Array should have Radial Array option
- Solidify could have “only sides” option
- Remesher with OpenVDB. Not only useful for fluid sims, but also Organic booleans:
Hope it’s helpful.