Copyright © 2014 Mediachance. All rights reserved.
CREATIVE TOOLS FOR CREATIVE MINDS

3D Normal Editor + Shading Domains

FREE Version
Version 0.4 (12/04/2018)
Download (Windows)
No installation, just unzip and run
This is a little weekend project - my first entry into world of 3D programming. It does only a few things, it is a bit of toolbox. All the functions it offers are scattered in various big applications. This was mostly done as a way of learning basics of 3D and understanding the OBJ format. Load and save OBJ files Display vertex normals Detects multiple normals per vertex Smooth, Un-smooth, Collapse and Add multiple Normals to vertices Direct Normals UP (for foliage) or from center of object Triangulate object Set and assign shading normals to faces

3D Normals

Each Vertex in OBJ file have also a normal - this is a directional vector telling a 3D application how it should shade the edge. In 3D world all surface is approximated by triangular (or sometimes quad) faces and the application doesn’t necessary know if we want to shade the surface as smooth surface or in fact as angular faces as it is modelled. Consider the image below
On the left side we have vertex where normal points outwards in combined direction of left and right surface and this tells the 3d application that we likely want a smooth edge. On the right side the vertex shows two normals, each is perpendicular to the surface it borders. And this tells the 3d application that we would like to have a sharp edge or crease. Now wait, before you start adjusting normals like there is no tomorrow! This all applies to real-time graphics, such as games. Here the engine doesn’t have enough time to do decisions about faces and it takes the normals as a hint what to do. But if you are thinking about non-realtime rendering (for example Daz Studio) here the normals would not play a role as the optical based rendering has set of different rules than real-time graphics - and most notably; much more time to decide what to do with a surface so it can simply ignore normals.
3D Normal Editor has few tools to select parts of the obect. they are also in the menu Selection:
Select Vertices - select single or multiple vertices - not much use as there is no vertex editing in the app (yet) Select Normal by Vertex Select a normal belonging to the vertex. A vertex can have more than one normal so there is a setting in the right panel:
This settings will either select a single normal (depends on which face we click) or all normals that belongs to the vertex (if there are multiple normals). You should look also at the right panel text to see what you have selected, because multiple normals can point in the same direction.
In this case it looks like we have one normal selected but by looking at the right panel we see we have in fact 4 normals selected (pointing in the same direction). So that means each face at the vertex has also a normal. Since they all point in the same direction, it is something we may want to fix (and 3d Normal Edit can fix this) BTW. Multiple normals at a vertex are automatically highlited by a pinkish dot
Select Normals by Face Select all normals belonging to a face. So all Vertices on the face will have at least one normal, but as discussed above can have more.
In this case clicking on a face will select all vertice normals of that face, but in our case, we actually have two vertices that have 4 normals and two vertices that have just one so in fact we selected 10 normals.
As with the case before, this may happen on some objects, a vertex may have more than one normal but all of them point in the same direction. It is redundant of course and we can Collaps the vertice normals into a single Normal.
Select Face This tool will just select a face - this is important for setting up Shade domains (later) Rubberband Select faces/vertices/normals using a laso selection. The setting “Select face if all vertices inside” tells what we want to select on the borders of the laso tool. If checked only faces that are all inside in laso will be selected. Select back faces - the laso can select either the faces you see or also faces on the back of the object Selection Modifiers (works in all modes, including laso) SHIFT - add to the selection CTRL - remove from the selection
Mouse Control Rotate around object - Hold ALT and left mouse button and drag (as in most 3d apps) or click outside the object and drag (like in ZBrush) Pan - Right click and drag Zoom - Mouse wheel
Operation on selected normals There is not yet tool to position a normal arbitrary - such as gizmo, so don’t look for one (TODO). You can apply one of the operations on selected normals
Select Face This tool will just select a face - this is important for setting up Shade domains (later) Rubberband Select faces/vertices/normals using a laso selection. The setting “Select face if all vertices inside” tells what we want to select on the borders of the laso tool. If checked only faces that are all inside in laso will be selected. Select back faces - the laso can select either the faces you see or also faces on the back of the object Selection Modifiers (works in all modes, including laso) SHIFT - add to the selection CTRL - remove from the selection
Operations on selected Normals There isn’t yet a tool to move normals arbitrary (TODO: add Gizmo). You can do only the predefined operations:
Select verices with Multiple Normals Select all the vertices that have assigned more than one normal Smooth Multiple Vertice Normals If a vertex have multiple normals, this will all turn them to the same average direction. Unsmooth This is the opposite - if vertex have multiple normals all turned to the same direction, it will turn them each parallel to the adjacted face normal. So in other words it will create crease. Add multiple Normals to vertex. So far the operations worked on multiple normals per vertex but what if we have only a single normal - well, this will add multiple normals to the vertex. Collapse Multiple Normals The opposite - it will delete all normals from the vertex, but keep only a single one.
Set Direction This will turn all selected normals into a certian direction. Direction UP - it will combine the current direction with an UP direction. For example for a 3d bush, foliage… Strictly UP - all selected normals will point up and no other direction. Used for foliage, grass etc.. Out from Axis - all normals will become horizontal and their direction will be out from Y axis From Object Center - all normals will be coming as if from object center. (for example a ball) Remove Unused Normals - this will remove any remaining normals that are not used anymore and when you save those normals will be gone. if you don’t do that the normals will be saved even if they are no longer used on any of the vertices.

Shading Domains

You need to switch to MAT domains tab and also select FACE selector
A 3D object has asiigned a material in any 3d application, for example a sphere can be rendered as a marble by applying marble texture. Another sphere can be rendered as if made of wood by applying different texture. But in fact the material is not necessary domain of an object. It can be in fact a property of one or more faces. In the draw bridge building on the left (which appears as a single object) we have 4 materials. Each of the colored parts are UV mapped to completelly fill the UV texture and then in rendering application, each can have its own texture file thus increasing quality. This part of the software does just that - assign multiple selected faces to a material.
Working with this is very simple: select faces, select a material from the list, then press Assign Faces To Material. If the OBJ file has no materials created, then first add one with Create New.
In this example I selected a top of the sphere with laso (and backfaces on), created new material, selected it and assign the faces to it. Now all I need to do is to save the OBJ file and then import it in the 3d package of choice.
Assign separate materials to parts of the object by face.
Here in DAZ studio the saved sphere will appear with two shader materials and we can then select each to be something else. And that’s it.
How do I un-assign faces? Same way, select facces and assign it to _unassigned_ material. How to delete whole shading domain? Select the material, click “Select Faces by Material” which will select the faces, Select _Unassigned_ then press Assign to Material. How to delete the material from list? You don’t and you don’t need to. Only materials with assigned faces will be saved. So a material with no assigned faces will be ignored and not exported.
Our Commercial Apps

Automatically turns a photo into painting inspired by real world artists

Dynamic image editor and effect processor with absolutely unlimited possibilities

Cool new software for creating photo montages and compositions.

Create modern web graphics with vectors, 2D, 3D and drawings

Enhance Dynamic Range of your images for Eye- Catching results

After all the years, still the classic for advanced DVD Authoring

new!
If you are going to render the 3d object in physical based rendering then adjusting normals will have no effect.
About MediaChance
Products
Links
MEDIACHANCE
E-mail:
Sign up to receive Mediachance newsletter featuring new announcements and special offers.