3D Modeling Essentials Introduction To 3D Modeling George Atanasov Telerik Corporation www.telerik.com What is 3D Modeling? 3D Modeling process Representing any 3 dimensional surface Automatic or Manual 2 What is 3D Model? The product is called 3D model 3D model can be: Rendered to 2D image Printed to realistic object with 3D printer Used in 3D games with real-time rendering 3 Splines & NURBS Vector design is better for industrial goals Hands of the Craftsman vs. CPU Lathe 4 Polygon Mesh Objects Polyhedral object Best for games and physical simulations 5 Polygon Mesh Objects Polygon mesh sub-object level Vertex Edge Face Polygon 6 Mesh vs. Spline Why Mesh is better for game development? More calculations == less FPS Nowadays GPUs are designed to perform faster with VBOs (Vertex Buffer Objects) Mesh objects can be easily represented in VBO The absolute accuracy of the objects is not basic goal in the Games In game developing the basic goal is to create the best possible representation of an object with the least possible resources 7 The 3D Scene Three dimensional coordinate system Represents uniquely all the points in it by three parameters – values for each axis Contain sub-coordinate systems Each object has his own local coordinate system 8 High Poly Modeling Explaining High-Poly Design High Poly Modeling We can understand the idea of high-poly modeling just by its name The more triangles in the mesh, the more detailed the object is Final renders are appropriate for Commercials Magazines 3D Movies 10 Low Poly Modeling Explaining Low-Poly Design Low Poly Meshes Low poly mesh is a mesh which has small amount of polygons Commonly used in real-time applications In theory polygons can have infinite number of sides, but in 3D graphics they are broken down into triangles 12 Why Low Poly? Why we need to create low-poly models when there is so many smooth modifiers? In general the more triangles in a mesh the more detailed the object is computationally intensive it is to display To decrease render time it is better to use low poly models 13 The Polygon Budget A combination of game engine and the computer being used defines the polygon budget It is equal to the number of polygons which can appear in a scene and still be rendered with acceptable frame rate It varies depending on the speed of the render engine the amount of polygons The speed of the hardware 14 Low Poly As a Relative Term There is no defined threshold for a mesh to be low poly This term is relative and its definition depends on other factors: The time in when the meshes were designed and for what The detail required in the final mesh The shape and properties of the object 15 Low Poly – Future vs. Past Super Mario 2 – 1996 In 1996 rendering an objects created by 240 polygons was a huge success All the environment is created by textured extremely low polygon objects Crysis 2 – 2011 At 2011 rendering objects created by 24 000 polygons is not a big deal The environment is created by averagely resolute objects 16 Appearance Low poly objects do not always have to look bad You can “lie” the viewer that the object has better resolution with techniques such as Normal mapping Bump mapping Etc. 17 Smoothing Smoothing techniques Smoothing There are many methods to create a smooth objects Normal smoothing Mesh smoothing Etc. It is important to understand how to use each one of them You have to pick the best for your goals 19 Normal Smoothing Normal smoothing affects only the way that the light is reflected by the objects surface That is better for games, because the triangle count stays the same Ends of the object remain edgy Performs better on dark colors 20 Mesh Smoothing Mesh smoothing affects directly the geometry of the object Can be used many times on the same objects Iteration value With each iteration increase, the resolution of the object increases by square 21 Lights Understanding Lightning in 3D Why We Need Lightning? Modeling the 3D object is just a little part of the whole design process The light makes the object to look as 3D object 23 How the Light Works? For full realistic light simulation you would need a “NASA” computer The lighting in 3D graphics is not exact representation of the real light In most 3D engines the light appearance is decayed to separate effects independent of each other 24 Abstract Types Of Lights The light is composed by several abstract components Diffuse, Ambient, Specular, Emissive, Reflection, Refraction Each light component can have its own color It is important to understand how to deal with each type of them And it is more than important to understand how the real light affects the objects 25 Ambient Light When sun ray hits an object it reflects from it The ambient light is the emission of all light sources The result is averagely brightening whole object 3D object with only ambient light channel applied to it looks 2D 26 Diffuse Light Diffuse light represents a directional light casted by a light source It can be explained as a light from light bulb placed on specific location in the space A diffuse light of red color, coming from the left of a black object defining its 3D shape 27 Diffuse light For more realistic result we can apply both diffuse and ambient light channels The diffuse light represents a light from a light bulb and flashes the front side of the object The ambient light brightens the entire object 28 Specular Light The specular light channel represents the brightest area of the object (the highlight area) The position and the amount of specular highlight is depends on The viewers position The angle between the viewer and the source 29 Emissive Light Emissive light works a little different than the previously explained before types of lights It is responsible for the object material ability to absorb or reflect light Below is the result of object emitting green light with red light source applied 30 Reflections The use of reflections helps to create more realistic objects Remember... You would not see the reflection effect if you don’t have another objects to reflect Reflection looks better on round objects Do not overdo with the reflection effect Reflection mapping saves time 31 Refractions The refraction property defines how much light goes through the object In simple language it controls the opacity of the object Refraction color #000000 == full opacity Refraction color #FFFFFF == full transparency 32 Textures Texturing Essentials Textures? Textures are just simple raster pictures JPEG PNG TGA GIF TIFF Widely used in 3D game modeling 34 Why To Use Them? If you are developing a car racing game you do not need to model all the details on the buildings behind By texturing your object you can add a lot of details on the model without adding any more resolution to it For example you can use a texture of window instead of modeling it 35 Texturing Methods There are several ways to texturize an object Which one is better depends on the object which is going to be texturized In game developing process the basic texturing methods are UVW Mapping Tiling UVW Unwrapping 36 What is Tiled Texture Tiling is another trick which saves a lot of resources To understand it, imagine that you have to represent the facade of a huge building by texturing The idiotic way is to draw a huge texture with a lot and the same windows in it The right way is to draw a texture with only one window on it and multiply it 37 Texture Optimization Tricks Creating details with textures instead of polygons saves render time Do not flood your 3D scene with huge amount of textures Do not use bigger textures than you need Manage balance between quality and size When it is possible use texture modulation 38 Texture Modulation Useful for level editing (creating environment) You want to model brown roof tile and the same ones, but in different colors Use white (or bright) roof tile texture and modulate it with the color of its object You can create many different looking models with the use of one and the same resource 39 Use Transparency OK… We have to create a metal fence But how many polygons we need? First way is to create it as a polygon mesh 100 000 polygons for 1 meter wide fence ?!? The trick to do that is to use a texture of metal fence with transparency at the empty spaces 2 polygons and the result looks the same 40 UV(W) Mapping Projects a texture map to 3D object Assigns pixels of the image on the polygons Allows you to texturize more complex shapes 41 Unwarp UVW A very useful technique for texturing game characters and other complex objects 42 Tools & Software What Software To Use Define Your Goals Your goals are ? Making super cool 3D game models Making very detailed models for commercials, magazine covers, movies, etc. Making 3D models for an industrial goals Level editing for games You are learning 44 Comers & Games Appropriate software 3D Studio Max, Maya Blender, Google SkatchUp Cinema 4D Inappropriate software SolidWorks AutoCAD, ArchiCAD 45 Industrial Appropriate software SolidWorks AutoCAD, Civil 3D ArchiCAD Inappropriate software 3Ds Max, Maya 46 Level Editing Appropriate software Civil 3D 3Ds Max Blender Inappropriate SolidWorks, AutoCAD, ArchiCAD 3Ds Max Blender 47 3D Modeling Essentials Questions?