<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.polycount.com/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.polycount.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=EnricoGullotti</id>
		<title>polycount - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.polycount.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=EnricoGullotti"/>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Special:Contributions/EnricoGullotti"/>
		<updated>2026-04-14T23:20:32Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>http://wiki.polycount.com/wiki/VertexNormal</id>
		<title>VertexNormal</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/VertexNormal"/>
				<updated>2010-08-21T08:44:35Z</updated>
		
		<summary type="html">&lt;p&gt;EnricoGullotti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- ## page was renamed from Vertex Normal --&amp;gt;&lt;br /&gt;
= Vertex Normal =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Game artists can manually alter the vertex normals to change the way an in-game mesh is lit, how it renders a reflection, how the fresnel falloff looks, etc. Basically any lighting effect that uses vertex normals can be tweaked by changing the model's vertex normals.&lt;br /&gt;
&lt;br /&gt;
Some game engines do not import edited vertex normals. For example UDK has been updated to support [http://udn.epicgames.com/Three/ContentBlog.html#Explicit%20Normal%20Support custom vertex normals via FBX], but your game engine may not support it.&lt;br /&gt;
&lt;br /&gt;
== What Is a Vertex Normal? ==&lt;br /&gt;
See the MSDN article [http://msdn.microsoft.com/en-us/library/bb324491%28VS.85%29.aspx Face and Vertex Normal Vectors].&lt;br /&gt;
&lt;br /&gt;
== Foliage Shading ==&lt;br /&gt;
Foliage meshes in game are usually made using flat planes with a [[Opacity Map|transparent]] texture containing a bunch of leaves (or grass blades). These textures are used instead of modeling each leaf or blade of grass discretely, because they would slow the framerate too much. Also the increased vertex count uses much more memory.&lt;br /&gt;
&lt;br /&gt;
Flat planes generally do not shade very well when lit. To counteract this, the vertex normals can be bent to influence the shading, helping to hide the flatness of the geometry.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;#!wiki green/solid&lt;br /&gt;
 {i} Note: This technique only works in a game engine that supports edited vertex normals. You have to test your asset pipeline to see.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editing Normals in 3ds Max ==&lt;br /&gt;
Vertex normals can be manually bent in 3ds Max by using the Edit Normals modifier. See the [http://docs.autodesk.com/3DSMAX/13/ENU/Autodesk%203ds%20Max%202011%20Help/files/WSf742dab04106313366400bf6112a1cea097-7f65.htm 3ds Max 2011 online help].&lt;br /&gt;
&lt;br /&gt;
Edited vertex normals are somewhat fragile in 3ds Max, they can be lost easily:&lt;br /&gt;
* If you take an Editable Mesh model, activate Attach, and try to attach an Editable Poly to it, the vertex normals of the Poly model will be reset. However using Attach in an Editable Poly model will work fine.&lt;br /&gt;
* If you Attach multiple meshes together, make sure each has at least one edited normal. Meshes without edited normals will have their vertex normals jumbled.&lt;br /&gt;
* If you Attach models that have been rotated, make sure to use Reset Xforms on them first. Attaching a rotated model to another will skew all its edited normals.&lt;br /&gt;
* If you use Detach to make a new object, the detached object's vertex normals will be reset. &lt;br /&gt;
* If you use Detach to create a new element in the same object, the detached element's vertex normals will be reset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Slide_Normal_Thief&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Slide Normal Thief MAXScript ===&lt;br /&gt;
[http://slidelondon.com/_downloads/SlideNormalThief/SlideTools-SlideNormalThief.rar SlideNormalThief] by the studio [http://slidelondon.com/ Slide London] is a 3ds Max MAXScript tool that projects vertex normals from one model to another, automating what would otherwise be a tedious manual process. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The script is based on a much-slower script called [http://www.scriptspot.com/3ds-max/scripts/normal-thief NormalThief.ms] written by [http://br.linkedin.com/pub/mauricio-b-gehling/1b/9b6/5b6 Mauricio B. Gehling].&lt;br /&gt;
&lt;br /&gt;
The ''Reference Object'' is the model you wish to copy vertex normals from, and the ''Target Object'' is the model that will get its normals bent to match. The vertex counts of the two models don't need to match, the normals on the Target will be bent to match the nearest normals on the Reference. Both models need to have an Edit Normals modifier applied. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the example above, the red shape was a box with a single smoothing group applied, some edges cuts into it, and the vertices moved around some. The tool seems to work well when modeling roughly the shape of the canopy, and using a single smoothing group... modeling a shape that looks like how you want the tree's normals to point.&lt;br /&gt;
&lt;br /&gt;
=== [[AverageNormal]] MAXScript ===&lt;br /&gt;
[[attachment:AverageNormal.mcr|AverageNormal]] by [http://mathieujacquin.free.fr/ Mathieu 'zOffTy' Jacquin] is a 3ds Max MAXScript tool that averages all the vertex normals for the selected faces, so they all point the same direction. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SetNormals_MAXScript&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== [[GetVertNormalsFromFace]] MAXScript ===&lt;br /&gt;
[[attachment:GetVertNormalsFromFace_0_2.ms|GetVertNormalsFromFace]] by [http://www.illusioncatalyst.com/ Enrico 'SyncViewS' Gullotti] is a 3ds Max MAXScript tool that aligns all the vertex normals for the selected faces so they point perpendicular to their polygons. In other words, the same direction as the face normal would be facing. This is similar to the [[#mig_Normal_Tools|mig Normal Tools]] option &amp;quot;Fillet Outside&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once installed the script will be under the category ''Normal Tools'', named ''Get Vert Normals from Faces''. It works on Editable Poly Objects only, and it must be the active modifier in the modifier stack. Go into Face sub-object level, make a face selection and run the script. If an Edit Normals Modifier is not present, the script adds one right above the base object. Every time a normal is modified by the script, it is made Explicit to retain the modifications. It should not mess with Smoothing Groups at all. If you want to revert back to the original default normals, add an Edit Normals Modifier and reset the normals. &lt;br /&gt;
&lt;br /&gt;
From the Polycount forum thread [http://www.polycount.com/forum/showthread.php?t=75753 Editing vertex normals in Max, got scripts?].&lt;br /&gt;
&lt;br /&gt;
=== Exporting Edited Normals ===&lt;br /&gt;
Edited vertex normals can be exported from 3ds Max with some file formats:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|  '''File Format''' &lt;br /&gt;
|  '''Supports Edited Normals?''' &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red none&amp;quot;&amp;gt;| 3DS &lt;br /&gt;
|  no &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;green none&amp;quot;&amp;gt;| ASE &lt;br /&gt;
|  yes &lt;br /&gt;
|-&lt;br /&gt;
|  CGF (CryEngine) &lt;br /&gt;
|  ? &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red none&amp;quot;&amp;gt;| Collada &lt;br /&gt;
|  no &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;green none&amp;quot;&amp;gt;| FBX &lt;br /&gt;
|  yes &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;green none&amp;quot;&amp;gt;| OBJ &lt;br /&gt;
|  yes &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red none&amp;quot;&amp;gt;| PSK (Unreal Engine) &lt;br /&gt;
|  no &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red none&amp;quot;&amp;gt;| WRL (VRML) &lt;br /&gt;
|  no &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Editing Normals in Maya ==&lt;br /&gt;
Vertex normals can be adjusted in Maya by using the [http://download.autodesk.com/us/maya/2011help/files/Editing_polygons_Edit_the_vertex_normals_to_affect_polygon_shading.htm Normals tools in the Polygons menu] (Maya 2011 online help). &lt;br /&gt;
&lt;br /&gt;
Vertex normals can also be baked from one model to another by using [http://download.autodesk.com/us/maya/2011help/files/Mesh__Transfer_Attributes.htm Transfer Attributes].&lt;br /&gt;
&lt;br /&gt;
=== mig Normal Tools ===&lt;br /&gt;
The [http://migugi.net/mel/normalTools/ mig Normal Tools] is a collection of MEL scripts for editing vertex normals in Maya. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Normal Mapping ==&lt;br /&gt;
Vertex normals have a strong influence on tangent-space [[NormalMap|normal maps]]. Some game engines require a bit more geometry near areas that have a lot of change in angle (hard corners, etc.) otherwise the vertex normals [http://boards.polycount.net/showthread.php?t=68173 fight with the normal map] and create shading errors. Careful [[Topology|topology]] can minimize or avoid these errors altogether.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:CharacterModeling]] [[Category:EnvironmentModeling]]&lt;/div&gt;</summary>
		<author><name>EnricoGullotti</name></author>	</entry>

	</feed>