background preloader

Normalmaps for the Technical Game Modeler

Normalmaps for the Technical Game Modeler
Normalmaps for the Technical Game ModelerBy Ariel Chai, 15th of June 2010, all rights reserved.*Article is constant work in progress*This article is aimed towards technical modeling (such as weapons vehicles, pros, etc), and is made to give an overview of common normalmap issues, walkarounds and solutions. This article assumes knowledge of UV's, and the core idea of what normalmaps are. Theory : Implementation :2.1 Obtaining Clean Results Using Hybrid mapsNormalmaps are baked differently depending on object's smoothing. Each method has its issues and therefore we want to mix them to produce good maps. The theoretical walkaround to this problem, is to add more geometry to the edges - which makes them smoother, and lead to more accurate smoothing results by the realtime renderer. Although this walkaround is useful for objects with a few problematic areas - on objects with a lot of sharp edges the polycount overhead is tremendous and overcomplicates things. Related:  Lighting&RenderingTexturing

NormalMap What is a Normal Map? A Normal Map is usually used to fake high-res geometry detail when it's mapped onto a low-res mesh. The pixels of the normal map each store a normal, a vector that describes the surface slope of the original high-res mesh at that point. The red, green, and blue channels of the normal map are used to control the direction of each pixel's normal. When a normal map is applied to a low-poly mesh, the texture pixels control the direction each of the pixels on the low-poly mesh will be facing in 3D space, creating the illusion of more surface detail or better curvature. However, the silhouette of the model doesn't change. Tangent-Space vs. Normal maps can be made in either of two basic flavors: tangent-space or object-space. Tangent-space normal map Predominantly-blue colors. Maps can be reused easily, like on differently-shaped meshes. Maps can be tiled and mirrored easily, though some games might not support mirroring very well. Easier to overlay painted details. Mirroring

Advanced renderbump and normal map baking in Blender 3D from high poly models Normal maps are essentially a clever way of 'faking', on low poly, low detailed models, the appearance of high resolution, highly detailed objects. Although the objects themselves are three dimensional (3D), the actual part that 'fakes' detail on the low resolution mesh is a two dimensional (2D) texture asset called a 'normal map'. What are normal maps and why use? ^ The process of producing these normal maps is usually referred to as 'baking' (or 'render to image'), whereby an application - in this instance Blender 3D - interprets the three dimensional geometrical structure of high poly objects as RGB ("Red", "Green" & "Blue") values that can then be 'written' as image data, using the UVW map of a low resolution 'game' model as a 'mask' of sorts, telling the bake process where that colour data needs to be drawn. Generally speaking, there are two ways to generate these types of baked normal maps using 3D; renderbump renderbumpflat Low poly version of the control cage. Mirrored UVW's ^

NormalMap What is a Normal Map? A Normal Map is usually used to fake high-res geometry detail when it's mapped onto a low-res mesh. The pixels of the normal map each store a normal, a vector that describes the surface slope of the original high-res mesh at that point. When a normal map is applied to a low-poly mesh, the texture pixels control the direction each of the pixels on the low-poly mesh will be facing in 3D space, creating the illusion of more surface detail or better curvature. Tangent-Space vs. Normal maps can be made in either of two basic flavors: tangent-space or object-space. Tangent-space normal map Predominantly-blue colors. Maps can be reused easily, like on differently-shaped meshes. Maps can be tiled and mirrored easily, though some games might not support mirroring very well. Easier to overlay painted details. Easier to use image compression. More difficult to avoid smoothing problems from the low-poly vertex normals (see Smoothing Groups and Hard Edges). Object-space normal map

ZBrush to Maya Displacement map | Henning Sanden Displacment maps. Maya. Combined, the two words sends shivers down the spine of any CG artist. It’s a topic I’ve spent countless hours trying to wrap my head around. In this tutorial we’ll look at a reliable way to use 32 bit displacement maps in Vray for Maya generated in ZBrush. The advantages of using a 32 bit map vs a 8 0r 16 bit are two in particular: - You dont have to worry about fiddling with the displacement amount, as long as your Zbrush and Maya model are the same size. with 32 bit maps, the displacement amount will replicate your Zbrush model as closely as it can automatically. - You have significantly more data to work with so your displacement will be more accurate and will contain more information. I’ll assume you know the difference between a normal, bump and displacement map, and why a displacement map is necessary. Here is the mesh in Zbrush which I want to transfer to Vray. We’re going to use Multi Map Exporter (MME), which is a relative recent plugin in ZBrush.

Manual/Render/Bake From BlenderWiki Baking, in general, is the act of pre-computing something in order to speed up some other process later down the line. Rendering from scratch takes a lot of time depending on the options you choose. Therefore, Blender allows you to "bake" some parts of the render ahead of time, for select objects. Then, when you press Render, the entire scene is rendered much faster, since the colors of those objects do not have to be recomputed. Mode: All Modes except Sculpt Panel: Scene (F10) Render Context → Bake panel Hotkey: CtrlAltB Menu: Render → Bake Render Meshes Description The Bake tab in the Render buttons panel. Render baking creates 2D bitmap images of a mesh object's rendered surface. Use Render Bake in intensive light/shadow solutions, such as AO or soft shadows from area lights. Use Full Render or Textures to create an image texture; baked procedural textures can be used as a starting point for further texture painting. Advantages Can significantly reduce render times Options

SubdivisionSurfaceModeling This is a modeling technique for making high-poly hard-surface models. For game artists, this usually means mechanical/constructed items, which can then be baked into normal maps and other types of textures. Primers Hard Surfaces Hard Surface Sculpting – Hard Surface Modelling by Selwy Organic Surfaces Tips & Tricks More Information CategoryCharacter CategoryCharacterModeling CategoryEnvironment CategoryEnvironmentModeling

Octane Render When to triangulate [Archive] Hi there!! Well after a while I found out that some artists and tech artists sometimes do things out of habit without really questioning things. Especially with stuff like triangulation - it's one of these details that can easily create shading errors, but most people seem to not notice because it's 'good enough'. I personally mostly build my ingame meshes based on a loop system for one simple reason : clean loops make selection very easy (select one, and grow/shrink from there) hence it makes both UV and skin weighting much easier and faster. However when it comes to baking, things can get tricky as some apps dont even triangulate the same way before (hidden edges oriented one way) and after the bake (shown edges oriented the opposite way) so to avoid all that I tend to triangulate before the bake and keep the asset that way from that point on. So I would say ... build as if it was a clean quad structure, and triangulate when needed for the specific pipeline you are using.

Cómo crear agujeros circulares por subdivisión Cómo crear agujeros circulares por subdivisión Es curioso cómo algunas veces las tareas aparentemente más simples pueden plantear dificultades imprevistas y cómo, por contra, otras veces resulta de lo más sencillo resolver problemas que creíamos iban a ser muy complicados. La labor de abrir agujeros circulares en las superficies de subdivisión es una de esas tareas que resultan más complicadas de lo que pudiera pensarse a primera vista, especialmente si empezamos a trabajar con esta metodología de modelado teniendo una experiencia previa con NURBS, donde todo es completamente diferente. Vamos a ver cómo resolver algunas de las situaciones más frecuentes. Con NURBS es muy sencillo En el capítulo anterior nos centramos en las diferencias que existen entre las diferentes metodologías de modelado trabajando con NURBS, polígonos o superficies de subdivisión. Pero por contra, trabajando con subdivisión de superficies ya nos podemos olvidar completamente de estas estrategias.

The Best Way to Render Wireframe in Maya | Ayan Ray Posted: January 25th, 2010 | Author: Ayan | Filed under: 3D | Tags: 3D, Maya | 61 Comments » A quick google for render wireframe in Maya will get you some sound results. Unfortunately, I tried them and they didn’t consistently produce the results I needed. So here is the most consistent, and thus in my opinion best way to do wireframe in Maya. Method 1: “The Best Way” – Mental Ray Contours Why is it the best? Rendering Wireframe with Mental Ray The Worse Ways For full disclosure, here are some other not so good ways to render wireframe. Method 2: UV Snapshot I don’t feel like doing the process for this one. Method 3: Maya Vector Rendering in Maya Vector is fairly painless to test. Wireframe render using Maya Vector. Method 4: Hardware Buffer Hardware buffer is another painless way to render out in wire frame. Method 5: Toon Shader The second best method to render wireframes in maya is to use the toon shader. Share and Enjoy No related posts.

Dev:Shading/Tangent Space Normal Maps From BlenderWiki Implementation Dependent A common misunderstanding about tangent space normal maps is that this representation is somehow asset independent. This presents a problem since there is no implementation standard for tangent space generation. The math error which occurs from this mismatch between the normal map baker and the pixel shader used for rendering results in shading seams. Order-Dependencies To make matters worse it is not enough to use the same tangent space generation code. Order-dependencies also result in mirrored meshes not always getting correct mirrored tangent spaces. There are additional examples of problems with different commercial products shown on pages 44, 52-56. The Solution The tangent space generation code of Morten S. The implementation was made by Morten S. The standard is used in Blender 2.57 and is also used by default in xNormal since version 3.17.5 in the form of a built-in tangent space plugin (binary and code). Pixel Shader Transformation

nut This will be the base we can copy several times to get the whole bolt. Duplicate it once and move it 1.52 in the z-axis. You'll see that the duplicate lands exactly where the other stops.... Why is that? Because the height of the helix is 1.52 :) After merging all the overlapping vertices you see why I went "Ohhh, maaan!" Therefore I created a new helix with half the height ( 0.76 ) and with the same method I created a more correct thread. When you have created the helix, done all the tweeking above, duplicated, combined and merged you'll have a new mesh you can duplicate. I need to figure out how to end this thing now. It's kind of tricky to get it to round off and stay good looking, but we know how don't we? Delete these edges and also delete the vertices they leave behind. Select the outer loop except the one where our ending thread is connected, scale them all together in the z-axis and move them out a bit. Merge these vertices: Use append polygon to cap the hole we're left with:

Specialized passes: Material ID, Object ID and UV Pass – Tutorial | PixelCG Tips & Tricks When outputting to composite rendered passes, it can be very useful to have the ability to select your render components by types. In this example, we are going to explore how to output render passes per material and per object. Material ID The term “Material ID” is commonly used when the render passes output the render per material. For example, in this scene we are using 5 shaders. Maya 2009 comes with a built-in ability to do so in the form of render pass. Open the Hypershade and create multiple “writeToColorBuffer” nodes that match the same number of shaders you have in the scene. In the Hypershade, middle-mouse drag the shader on top of the writeToColorBuffer node and choose “Evaluation Pass Through”. Repeat the above step for each shader. This is the result: Object ID The same concept applies to the object ID (aka label ID). In this example, we have 11 different objects in the scene. Change the Frame Buffer Type to “Label (Integer) 1×32 Bit”.

Related: