04. Modelling

Modelling describes the process of creating the geometry used by a game engine or 3D-software. A 3D-model is a numerical description of the geometry – this means Modelling is about form and shape of objects.

Unity has only basic modelling capabilities. This is an overview of the different methods you can use to get geometry in:

Tool Capabilities Complexity/Challenges
Unity (w/o Addons) Only Basic shapes like Cuboids, Spheres, Cylinders; Some special things like Terrain Low
ProBuilder Addon More complex shapes and texture mapping possible, organic shapes, sculpting and animations hard Medium
External Tools Depends on the Tool, but potentially Everything High

In the gaming industry mostly external modelling tools like Blender, Modo, ZBrush, Rhino, Sketchup, AutoCAD, Cinema4D, Maya, 3DsMax, etc. are used, the ProBuilder-Addon is used mostly for Greyboxing (Greyboxing is drafting a Level with basic blocks, just to get something that plays well before adding more Detail). Which tool you use doesn't matter, as long as it gets you the result you want to get. As long as your tool can export a fbx, obj or glb (GLTF) you are good to go. If your 3D-Software can't export that format, maybe you can take intermediate step (e.g. if you use a CAD software that can only export STEP files, you could use Blender to convert to obj, fbx or gltf).

If you don't know any 3D-Software yet, but want to learn one I'd recommend Blender – it is free, open source, runs on nearly every computer, is under active developement, has a big and friendly community, a ton of tutorials and it is no worse than any commercial competitor for >2k€.

If you don't want to learn a new Software, good ways of getting decent results are if you use free models you find online (be aware of possible license issues tho) or 3D-scan your own objects.

ProGrids & ProBuilder

If you want to power up Unity's internal editing capabilities it makes sense to install both the ProGrids and the ProBuilder Addons. Unity seems to plan to add these per default in the new 2020-Version of Unity, but at the point of writing you still need to install it yourself.

Installation in Unity (may be unnecessary in Unity 2020):

  1. Open the Package Manager: Window > Package Manager
  2. Make sure the option Advanced > Show preview packages is active
  3. Search for _ProGrids" and click the Install</kbd>-Button
  4. Search for _ProBuilder" and click the Install</kbd>-Button
  5. Activate ProGrids using Tools > ProGrids > ProGrids Window, you should see a new panel in the Scene view and the Grid should change color
  6. Activate ProBuilder using Tools > ProBuilder > ProBuilder Window, drag the Window somewhere useful, press the -Button in the window and select Use Icon Mode if you like

The ProGrids-Module allows you to snap objects to the grid (make sure the switch is set to On). Adjust the grid scale with a click on the number or using the + and --Keys on your keyboard.

The ProBuilder-Module adds many new capabilities. If you want to learn it, this videotutorial is a good starting point, but youtube is full of tutorials on it : )

Blender import Workflow

If you want to import models from Blender there are multiple things to consider:

There are multiple possible transfer formats that allow you to move models from Blender to unity:

Format How Pro Con
Blender .blend Simply drag the .blend files into the Unity Assets window Very straightforward and easy Will import the whole Blender scene, No Materials, Animations etc
.obj and .mtl Drag both into the Unity Assets window Universal and easy Limited support for Textures, Shaders and Animations
.fbx Drag into the Unity Assets window Old and trusted for transfering stuff, works well with Animations Limited Shader support
GLTF: .glb Install GLTFUtility Allows you to use everything from the principled BSDF-Shader (like Roughness, Metallic etc), Works with animations, Preserves Hierarchy and object names Doesn't work without Addon

To install the GLTFUtility open the Window > Package Manager, click on the +-Button and add the git-Url that you can find in the readme here: https://github.com/siccity/gltfutility.git