5. 3D Modeling Essentials - 3D Graphics and Game Development Course

2,787 views
2,588 views

Published on

In this presentation, part of the 3D graphics and game develpment course, we discuss what is 3D modeling, the high poly and low poly modeling, the smoothing, the abstract types of light, the textures, the transperancy and level editing.
The website and all video materials are in Bulgarian.
Main topics:
http://academy.telerik.com/.../3d-game-development-opengl
Telerik Software Academy: http://www.academy.telerik.com
The website and all video materials are in Bulgarian

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,787
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
199
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • GPU’s – GPUsVBO’s – VBOsEasy – easilyTo create best – to create the bestRepresentation of object – representation of the objectWith by less possible resources – with the least possible resources
  • computationally intensive it is to display– така не звучи много правилно и не мога да схвана точно какво имаш предвид. Но ако го схващам вяро трябва да стане – it is computationally intensive to display
  • It vary – It varies
  • The time the meshes were designed - The time in when the meshes were designed
  • Low poly objects does not always has – Low poly objects do not always have
  • There is – There areIt is important to understand haw - It is important to understand how
  • by the objects surface – by the object’s surface
  • independent each other - independent of each other
  • light component can has - light component can have
  • When sun ray hit - When sun ray hitsThe result is averagely brightening whole object - The result is average brightening of the whole object
  • light cast by a light source - light casted by a light source
  • we can apply the both - we can apply both and flashing the – and flashes the
  • is depending on – depends onViewers position – The viewers position
  • Emissive light is working - Emissive light worksthan the explained before types of lights – than the previously explained types of lights
  • You wont – You won’tif you don’t have another objects to reflect - if you don’t have another objects to reflect onDo not overdo with the reflection effect - Do not overdothereflection effect
  • Why You Have To Use Them? – Why Do You Have To Use Them?
  • There is several – There are several
  • You want to model brown one and the same roof tiles, but in different colors - You want to model brown roof tile and the same ones, but in different colors
  • 5. 3D Modeling Essentials - 3D Graphics and Game Development Course

    1. 1. 3D Modeling Essentials Introduction To 3D ModelingGeorge GeorgievTechnical TrainerGeorge AtanasovFront-End Developerhttp://academy.telerik.com
    2. 2. What is 3D Modeling? 3D Modeling process  Representing any 3 dimensional surface  Automatic or Manual 2
    3. 3. 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
    4. 4. Splines & NURBS Vector design is better for industrial goals  Hands of the Craftsman vs. CPU Lathe 4
    5. 5. Polygon Mesh Objects Polyhedral object Best for games and physical simulations 5
    6. 6. Polygon Mesh Objects Polygon mesh sub-object level  Vertex  Edge  Face  Polygon 6
    7. 7. 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
    8. 8. 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
    9. 9. High Poly Modeling Explaining High-Poly Design
    10. 10. 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
    11. 11. Low Poly Modeling Explaining Low-Poly Design
    12. 12. 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
    13. 13. Why Low Poly? Why we need to create low-polymodels 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
    14. 14. 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
    15. 15. 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
    16. 16. 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
    17. 17. 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
    18. 18. SmoothingSmoothing techniques
    19. 19. 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
    20. 20. 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
    21. 21. Mesh Smoothing Mesh smoothing affects directly the geometry of the object Can be used many times on the same objects Iteration value With each iterationincrease, the resolution of the object increases by square 21
    22. 22. LightsUnderstanding Lightning in 3D
    23. 23. 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
    24. 24. 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
    25. 25. 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
    26. 26. 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
    27. 27. Diffuse Light Diffuse lightrepresents 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
    28. 28. 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
    29. 29. 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
    30. 30. 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
    31. 31. 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
    32. 32. Refractions The refraction propertydefines 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
    33. 33. TexturesTexturing Essentials
    34. 34. Textures? Textures are just simple raster pictures  JPEG  PNG  TGA  GIF  TIFF Widely used in 3D game modeling 34
    35. 35. 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 texturingyour 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
    36. 36. 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
    37. 37. 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
    38. 38. 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
    39. 39. 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
    40. 40. 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
    41. 41. 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
    42. 42. Unwarp UVW A very useful technique for texturing game characters and other complex objects 42
    43. 43. Tools & Software What Software To Use
    44. 44. 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
    45. 45. Comers & Games Appropriate software  3D Studio Max, Maya  Blender, Google SkatchUp  Cinema 4D Inappropriate software  SolidWorks  AutoCAD, ArchiCAD 45
    46. 46. Industrial Appropriate software  SolidWorks  AutoCAD, Civil 3D  ArchiCAD Inappropriate software  3Ds Max, Maya 46
    47. 47. Level Editing Appropriate software  Civil 3D  3Ds Max  Blender Inappropriate  SolidWorks, AutoCAD, ArchiCAD  3Ds Max  Blender 47
    48. 48. 3D Modeling Essentials курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET http://academy.telerik.com/ програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезаниякурсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране безплатен курс "Качествен програмен код" безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно
    49. 49. Free Trainings @ Telerik Academy 3D Graphics and Game Development  academy.telerik.com/.../3d-game- development-opengl Telerik Software Academy  academy.telerik.com Telerik Academy @ Facebook  facebook.com/TelerikAcademy Telerik Software Academy Forums  forums.academy.telerik.com

    ×