Modelling for real-time rendering isn’t about using less “polys”. It’s about understanding how things work under the hood, and adopt the best strategy to avoid artefacts and performance hits, while delivering the most accurate and good looking result, taking into account the target platform and level of interactivity we want.
This course will deliver short theory lectures on technical knowledge you need to take any model into Unity and make it look awesome.
Beyond theory, it’ll put everything in practice, using “real” models from places such as Google Sketchup 3D Warehouse.
No programming skills required. All scripts are included. For programmers, there will be lectures going through the core principles.
Introduction
Welcome video and course description.
This is the course road map and ETA on lectures.
Let's first review what CAD is about.
What can real-time vis bring to your game as a designer ?
Introduction to Unity Editor and Build Process
In this chapter, I'm going to touch on using Unity Editor to setup a project, organise game objects in a scene, create and import assets such as materials and textures, using the Asset Store to import pre-made models and scripts, and in the end, build a stand-alone app.
I'm also going to touch Unity fundamentals, such as Game Objects, Components, Assets and Prefabs.
If you are already familiar with Unity, I recommend you skip to the next chapter.
Use the Hierarchy View to create and organise scene objects.
Navigate the Scene with ease using all the shortcuts.
Manipulate objects in the Scene View.
Using the Project View to create folders, materials and import assets, such as textures.
Using the Game View to preview what the app will look like.
Using the Inspector to edit game objects and assets, and make assignments.
Open and arrange other windows and save "task oriented" UI layouts.
GameObjects, Components, Assets and Prefabs are core concepts in Unity.
Referencing is also a very important concept in a Unity project. Here's a few caveats on common scenarios and other Unity features such as Layers and Tags.
Prototyping can be very quick using content from the Asset Store.
If you're an Interior Designer looking for furniture, it's full of well optimised content ready to be laid out in your designs, and scripts to help adding interactivity too.
Building a stand alone app from the Editor is now just a few click away.
Importing CAD data.
Every type of design has its own objectives and constraints, and CAD software developers use the most appropriate math and data to help designers express their ideas.
While generic CAD 3D drawings are easily imported in Unity, some will require 3rd party software to be converted.
A list a websites featuring free CAD models.
A list of CAD formats conversion tools and services.
A list of articles on complete solutions and initiatives on the topic.
Importing a model in Unity is fairly straightforward.
Importing a native SketchUp file is similar to importing an FBX or Collada file, with a few extra options.
Some model files contain embedded textures that we can extract, and materials can only be edited in Unity once we've extracted them into the project's folder.
Most industrials get picky when it comes to respect their design's accuracy.
There isn't much to worry about as long as we respect a few rules.
Caveats!
In this lecture, we're going to add furniture models from the Asset Store, and place them in our model using Snapping.
Pro Grids is a free extension (package) available from Unity's Package Manager, adding grid and snapping features.
When importing models from CAD or DCC software, Cameras will often come along, and this is a great feature. But you need to be careful about it, as Unity's rendering a bit different from DCC software.
Cinemachine is a free extension (package) available from Unity's Package Manager, taking Cameras management to a whole new level.
When Unity imports an Asset, we can automate some tasks, such as finding all Camera components to replace them with Cinemachine Virtual Camera components.
This requires some simple Editor scripting (the script is included with this lecture).
NOTE : as Udemy doesn't allow uploading .cs files, please rename scripts to remove the trailing ".txt"
Let's have a look at how Layers work in Unity and what we use them for.
When targeting multiple platforms, like iOS and Android, or Mac and Windows, switching from one to another takes a while when you have a lot of assets in the project.
Using the Cache Server allows for much faster switching.
Modelling for Rendering.
Modelling for real-time rendering isn’t about using less “polys”.
In visualisation, light is our primary supply.
How dynamic lighting is sampled will influence our strategy.
When using Forward Rendering, splitting geometry allows accounting for pixel lights limitations.
When using Light-Mapping, to store pre-computed lighting, splitting geometry appropriately allows saving room in light-maps and increasing pixel density for important parts.
Using Pro Builder to prototype or remodel architectural spaces.
Installing and using ProBuilder to prototype architectural spaces.
Let's touch on more Pro Builder features to complete this interior space.
Modelling for animation requires taking care of pivot point placement.
Prefabs allows instancing a same object in different locations, with local differences (overrides).
Use a face selection to model the window frames, panes and glass panels, then assign them different colours to better make the difference between them.
Just like a DCC or CAD software, Pro Builder let us assign materials to objects or face selections.
To properly position textures, Pro Builder allows us to edit Mapping Coordinates.
To properly place mapping coordinates and/or material IDs, topology can make a big difference.
To achieve the amazing results you see in demos, we often need to remodel part of the CAD models.
3rd Party Solutions
Tridify Convert allows converting CAD and especially BIM (Building Infrastructure Modelling) and importing them in Unity, taking care of most of the painful work. Let's have a look at how this works.
PIXYZ also allows converting CAD models, especially in Industrial Design and Engineering.
Rendering : Standard Pipeline (default Renderer)
Before we start with rendering, let's take a quick look at all the parameters involved. Don't get overwhelmed, this is seriously technical, but most of the time, the default parameters will work just fine.
The Color "Space" sets how colors will be mixed throughout the rendering process.