Skip to content

Latest commit

 

History

History
60 lines (57 loc) · 8.55 KB

3DModelling.md

File metadata and controls

60 lines (57 loc) · 8.55 KB

3D Modelling

3D modelling is generally the process of creating digital representations of surfaces in three dimensional spaces. For the purposes of game development, this will be either through poly modelling or sculpting. A common workflow in game development might look something like Modeling -> UV Mapping -> Texturing -> Baking -> Rigging -> Animation -> Export, but many steps like baking and rigging may not be necessary depending on the model's purpose. It is important to note that many programs disagree on how to handle 3D space or express textures.

This document is currently trying to provide an introduction to each discipline and software referenced.

Poly Modeling

Blender

Blender is a free and open source 3D Modelling suite with a large online community. Tutorials from before Blender 2.8 will be very hard to follow, 2.8 and onward will generally be quite similar.

Maya

Maya is Autodesk's industry standard 3D Poly Modelling software. A student license can be acquired for free, for learning and non-commercial use by sending Autodesk evidence of enrollment.

3DS Max

Maya is Autodesk's other industry standard 3D Poly Modelling software. A student license can be acquired for free, for learning and non-commercial use by sending Autodesk evidence of enrollment.

Sculpting

Sculpting is a technique that is often used with poly modeling to add detail. Using extremely dense meshes, high levels of detail are painted onto models. This can be a very effective way to create detailed models, but often the dense models are not viable for use in games. This requires retopology, the creation of a low polygon approximation of the high poly model, and baking, creation of a detail map to transfer the detail from the high poly model to the low poly model.

Blender

Blender supports sculpting competently for a generalist, free 3D software. It misses some optimizations available to dedicated sculpting packages. Many tutorials produced in Blender 2.8 will reference tools that may have moved in the UI, but can often be located by name through search, the default hotkey to search by name is F3.

ZBrush

  • ZBrush is an industry standard sculpting software that is extremely well optimized for sculpting. It is incredibly unintuitive and has a steep learning curve, but is very powerful. It is quite expensive. Maxon offers a reduced annual subscription for students.

Texturing

Texturing is broadly the process of describing how a 3D model is rendered. Nearly every 3D software tool will have different systems for this process. Broadly, a material is created as a collection of properties that describe the behavior of light hitting the model. One of the most efficient techniques and transferrable techniques is baking procedural designs or layers of painted textures to a single image for each property of the material that is being used, because it will be applied similarly in each tool. For every thorough description of modern rendering and materials the PBR Book

Blender

Substance Painter

Substance Painter is a professional grade 3D texturing software, which reflects many similar industry tools like Mari. It was bought by Adobe, and may be part of the Adobe Student license. Perpetual licenses with one year of updates are available through Steam. It is a layer based 3D painting system, that can be used to

3DCoat

3DCoat, produced by Pilgway, is another suite with baking, texturing and sculpting abilities. It has educational licenses and perpetual licenses. The texturing is another layer based 3D Paint tool like Substance Painter.

Common Pitfalls

Differences between softwares

  • Different 3D softwares will define certain aspects of 3D space differently. Partly due to rendering backends, as well as due to debates about how to project three dimensions into the two dimensional space of the screen, there are two key dimensional differences. Left-handed vs Right-handed and Y-Up vs Z-Up are the primary ways of sorting 3D programs. Left and right handedness describes the direction of the axis of depth, the one that goes into or out of the screen, often X by default. In a left handed coordinate system, that axis increases in the positive direction as it goes away from the viewer and into the screen, while a right handed system will increase positively going toward the viewer, coming out of the screen. Similarly, systems do not agree as to whether the Y or Z axis should be the one that points up on the screen by default. Y up might be imagined as drawing an X-Y plane on a piece of paper laying flat, then rotating it so that it now stands and faces you as if pressed against your monitor, and the missing axis, that of depth would then be Z. Z Up might be imagined as taking that flat paper with X-Y plane, and adding the third dimension, height, and naming that as your Z axis. There are arguments for each system, but if you export a 3D model from one software to another, and it is unexpectedly rotated, these differences in coordinate system are likely culprits, and can often be solved in export settings. image
  • If baking a normal map, there are many different formats that can be used in calculation. Most commonly three channels of an image, Red, Green, and Blue, are used to encode information about the X, Y, and Z axes accordingly. If a baked map from one program does not look correct in another, a common culprit is that the other program is using an inverted green channel. Using a filter in a photo editing software is a quick fix. Maya is the most common software that uses an inverted green channel in bakes, but it is common in Game Engines as well, because of the different backends used. Blender and many open source tools will often default to the OpenGL system while game engines like Unreal Engine will often use the DirectX system.