- 1 Unreal Engine 4
- 1.1 Getting started with Unreal Engine for VR
- 1.2 The Unreal Editor
- 1.3 3D Models
- 1.4 Importing models from Rhino
- 2 Coming Soon
Unreal Engine 4
This is a beginners guide for Unreal Engine 4. This guide will go through the basic tools and features that are required to make an architectural visualization. The main focus will be creating a virtual reality experience, but this documentation is also usable for making a video sequence or high quality render images. The guide explains the basic topics in a brief and to-the-point manner, if you are looking for in-depth information you should check out the official Unreal Documentation or look at the huge amount of community made video tutorials.
Getting started with Unreal Engine for VR
Installing Unreal Engine
The Unreal Engine is a game engine that is developed by Epic Games. It is a very popular engine that has been developed and used for many games since 1998. The current release is Unreal Engine 4, and is updated constantly with new features and improvements. One of the reasons to use Unreal is because it comes with a lot of starting templates and pre-built features to give you a quick start into setting up a virtual reality scene. For instance Unreal has a powerful material editor that allows you to easily set up realistic materials, and together with the accurate lighting options you can create high quality environments in a short time.
You can download the Unreal Engine from the Epic Games website. In order to do this you have to create a (free) Epic Games Account. The Unreal Engine is free to use for non-commercial projects, so as a student you will have full access to all the features for as long as you like.
For information about installing the Unreal Engine, take a look at the @hok Student ICT Support page.
After downloading and installing the Epic Games Launcher, start it up from your desktop or start menu. The Launcher manages all applications that are developed by Epic Games. In the top left click Unreal Engine, and then select Library in the menu below. This page will show you the installed engine versions.
Make sure you install the latest version of the engine to get all the new fixes and the most optimized VR experience. When the engine version is installed, click on the ‘Launch’ button to start a project. If you already have existing projects, you can also select one in the ‘My Projects’ overview.
Creating a new VR project
After launching the editor from the Epic Games Launcher, a new window will appear. To start a new project, click the New Project tab at the top.
In this window you can set up the base of your project. The upper left part shows a overview of different templates to start out with. These templates come with functionality that the developers of Unreal have set up, and will allow you to play your project right away.
Unreal scripting works with either the widely used programming language C++, or the visual scripting language Blueprint, which is developed by Unreal themselves. Since no programming knowledge is required for these tutorials, we are going to work with the Blueprint system. Blueprints allow you to quickly add functionality and interactivity to your project, without prior programming knowledge.
Since we are creating a VR scene, we are going to select the Virtual Reality template from the template list. This template will start out with a fully functional setup for the HTC Vive headset and the Motion Controllers. It will come with a simple level with interactive blocks that you can pick up and throw. The appearance of these blocks can be easily swapped out with your own 3D models, for example, so you can pick up and inspect your own models.
In the settings make sure it’s set to Desktop / Console, Maximum Quality, and make sure you include the Starter Content. The Starter Content will give you some basic objects, materials and special effects (and more). These can be useful while experimenting and learning the Unreal Engine.
Last but not least fill in the location where you want to save your project and give your project a proper name so you can find it back later. If everything is filled in, click the green ‘Create Project’ button to confirm your project. It might take a minute for your computer to create your project, just be patient and wait until it’s done loading.
The Unreal Editor
Opening the VR template
After creating your new VR project, the Unreal Editor will open up, and will look something like the image on the right.
The environment you’re seeing is Unreal explaining that there are two versions of the VR template. The left version is for using VR glasses in combination with a mouse and keyboard, or a regular game controller. This is for seated experiences, for example for the older VR sets that didn’t allow you to freely walk around. We will not be using this one. The right version is for VR glasses that use room-scale tracking and motion controllers. This is the version we use for the HTC Vive, since it will give you the full freedom of walking around in a 2x2 meter space and picking objects up with your hands.
To load up the motion controller VR template find the Content Browser at the bottom of your screen and navigate to the VirtualRealityBP folder, and inside here select the Maps folder. After opening the Maps folder you will see three Maps, which are game levels in Unreal. The one we are using is the MotionControllerMap. Double click it to open the correct VR template.
After loading the MotionControllerMap, you will see an enviroment like the image on the right.
To start off we will explain the editor’s interface, where features are located and what they do. The editor is divided in a number of windows, we will go over these windows one by one. The placement of these windows in your editor are entirely flexible, and you might want to move windows around later, by dragging the tabs, to create your own personalized interface.
The first window you probably notice is the viewport. This is the center window and will give you a look into the level that is currently loaded. In this case it is the MotionControllerMap. In the viewport you can move the camera around by clicking and dragging or using the keyboard. More about this in the chapter Camera Controls.
The Content Browser can be seen as the library of all items that are included in your project. These are for example: static meshes (3D models), textures, materials, sounds, maps, animations, Blueprints, particle systems, and more. You can drag items from the Content Browser into the Viewport to place them in your VR scene. It is highly recommended to create a logical folder structure in your Content Browser so you have a good overview on your project files and can easily find anything you need.
By default the Modes window will be on the left side of your editor, but sometimes it is hidden behind another tab. If any of the windows are not visible in your editor you can always select the Windows button at the top and open the window you are looking for through there. The Modes window is like a toolbox with a lot of basic elements you can add to your scene. At the top there are a number of tabs that open different categories. In the first tab you will find elements to place in your scene, for example: lights, basic shapes, camera’s, visual effects. There is also a tab that allows you to sculpt mountains or place foliage in your scene.
The World Outliner is a list of all objects that are currently present in your scene. Whenever you cannot find something in the Viewport, it will be somewhere in the World Outliner, otherwise it’s not in your scene. You can easily search for objects using the search bar at the top, and it will filter out the results. In the World Outliner it is also recommended to create a folder structure to organize the objects in your level, to prevent it from becoming cluttered. You can for example create folders for Lighting, Geometry and Blueprints.
In the lower right you will usually find the Details window. If nothing is selected this window will be empty, but after selecting an object in your viewport it will give you an overview of all the properties that can be configured for that object. If you select a light for example, you can change the intensity or the color of that light in the Details window.
This window is usually hidden behind the Details window, but can be show by clicking the World Settings tab. If this tab is not visible, go to the Windows button at the top of the editor and open World Settings from there. The World Settings window will show you a number of general settings that are applied to the map that is currently loaded. For example here you can change the gravity of the physics, the Game Mode that is being played, the quality of the baked lighting, or the scale of the VR world.
Back to the main Viewport window. By default the Viewport is set to Perspective mode. In Perspective mode you can fly around with your camera to look around in your scene and see what you are working on. There are a number of ways to control the camera.
Holding Left Mouse Button will move the camera horizontally through the scene.
Holding Scroll Wheel will move the camera vertically through the scene.
Holding Right Mouse Button will rotate the camera around it’s axis.
However, one of the more preferred ways to navigate through your scene is using the same controls are most first person shooter games use. To activate this hold your right mouse button anywhere in the viewport so you can look around. Now while holding right mouse button, you can use the WASD keys on the keyboard to move around. W = Forward, A = strafe left, S = Backwards, D = strafe right. Pressing E will make you fly upward and Q will go downwards. You can also increase or decrease the camera speed by scrolling the mouse wheel while flying like this. Usually the quickest way of navigating is holding right mouse button and using these controls to fly around.
F to Focus
Another useful key is the F key. Pressing the F key after selecting an object in your scene will make the camera focus on that object. This allows you to quickly center the viewport on the object you are working on. Another way to use Focus is by first selecting the object in the World Outliner, and then pressing F to find it in your Viewport.
After selecting an object in your scene, there are three main transformation tools you can use on it. The selected object will show a icon with three arrows in the x, y and z direction. This is called the Pivot.
By default translation is on, but the hotkey for this is the W-key. While in translation mode you will see a pivot with three arrows pointing in the x, y and z directions. By dragging these arrows you can move the object around in your scene and place it wherever you like. You can also drag the cornerpoint of two arrows to move your object in two axis or drag the center to drag it relative to you camera view.
By pressing E you will switch to rotation mode. This will show three handles that you can drag to rotate your object in either roll, pitch or yaw rotation.
Press the R key to switch to scaling model. Now the pivot will have handles that allow you to scale the object in any of the three directions. Clicking and dragging the white center will allow you to scale the object equally.
At the top right of the viewport there is a row of buttons to toggle snapping for the pivot. You can turn on snapping on a grid, rotation angles and steps in scaling. There is also a usefull button that switches the pivot between relative and absolute position. The last button in the row is used for controlling the camera speed.
Importing 3D models from Maya
Now that you know how to use the basic navigation in the editor, it's time to import your own 3D models into Unreal. This instruction will show you how to export a 3D model from Maya and import it into Unreal. The filetype that we're going to use is .FBX, which is commonly used for 3D models.
Open up your 3D model in Maya and make sure the scale is correct. If you prefer working on a different scale, make sure you adjust the scale accordingly in the export or import options later.
Select the object you want to Export (you can select more than one), and go to File and click Export Selection. This will bring up the export window. Make sure the file type in the bottom of the window is set to "FBX export". On the right side you will find a list of many export options. By default most of these options will be fine, however there is one you must check; under File Type Specific Options > Geometry make sure you have Smoothing Groups enabled. If you don't have this enabled you will get an error after importing to Unreal, which will remind you that you forgot to do this. It is also a good idea to create a logical folder structure for your FBX exports. Ideally make an Export folder next to your Unreal Project folder (not inside the Unreal project folder). Click the Export button to confirm your export.
Switch over to your Unreal project and take a look at the Content Browser. In the Content Browser create a folder for your FBX imports. Open up the new Import folder and find the big Import button at the top of the Content Browser. Select the FBX file you exported from Maya. Now the FBX Import window will appear with a lot of options. We will go over the most important ones. Some of the options are hidden under the white triangle buttons, so make sure you open those for the full range of options. If you're having trouble, click the Reset to Default button at the top and try importing the default settings first.
FBX Import Options
Leave this unchecked to import your 3D object as a Static Mesh. A static mesh is the basic 3D object in Unreal and you will use this for the most part. Only check this if you want a Skeletal Mesh, which is used for animated objects like characters, animals, moving machines / exploded views, etc.
If you didn't combine your meshes in Maya and are importing a selection of multiple meshes, having this unchecked will also import them into separate parts in Unreal. If you do check this option it will merge the separate parts together into one solid block in Unreal. Recommended is to leave this unchecked, but Combine your object in Maya first. (Grouping is not Combining, and will still have your object import into small parts)
Import Uniform Scale
If you have been working in centimeters in Maya you can leave this at 1.0. If you are working in a different scale use this value to adjust it.
Uncheck this if you don't have any textures set up in Maya, otherwise it will import the default grey color from Maya, which you don't need.
Uncheck this if you don't have any textures set up in Maya, otherwise it will import the default grey color from Maya, which you don't need.
Importing models from Rhino
It is possible to export your 3D models from Rhino and import them into Unreal, to create your VR scene. To do this you must export the models from Rhino in .fbx format. FBX is a general 3D model format that is used across many 3D modelling programs.
From Rhino (To Maya) To Unreal
In Rhino select your entire model, go to Properties > Material and set Assign material to Layer It is important that the materials are applied by layer, so you would have for example Wood, Concrete, Steel layers, or Floor, Columns, Roof layer, with each of the layers a material assigned to them. It’s up to you how to structure it, just know that all objects in a specific layer will get the same material. If you are grouping objects together, for instance to make a window frame, place the grouped object in a Sub-Layer. So for example, your building has 3 window frames layered:
Layer >Window Frames Sub-Layer Frame A Frame B Frame C
This will ensure that you can easily select the grouped objects layer on.
After properly layering your project, select the objects that you want to export. With the objects selected, go to File and Export Selected. In the new windows select Motionbuilder (.fbx) as the file type to be saved. Check the ‘Save Textures’ option at the bottom of the window. Click Save and a new options window will pop up with FBX Export Options. Make sure you select Meshes only (as Unreal cannot handle NURBS). The other settings are fine by default, click Export. A final window will appear with Polygon Mesh Options. This has a slider that controls the level of detail of your model. If you are exporting a simple model it is fine to put the slider to More Polygons or leave it centered. If you are exporting a complex model that might be heavy, try lowering the number of polygons. Click OK and your model will be exported to FBX format.
Switch over to your Unreal project and locate the Content Browser on the bottom of your screen. The content browser will have a Import button at the top of the window. This Import button will import the file into the folder that is currently shown in the Content Browser. When importing Rhino files it is highly recommended to create a new folder in your Content Browser, dedicated for Rhino imports. For this click Add New, and select New Folder. This way you can clearly see the result of your imported files and keep your files organized. After creating this import folder click the Import button. Navigate to the location where you exported your Rhino FBX file and double click it. A new Import window will appear.
This window has a lot of options, but most of them are fine by default. By clicking the white arrows it will show even more hidden options. A few important options are:
Make sure this is OFF.
Having this selected will merge all your objects together into one solid object. This can be useful if your Rhino model existed out of many small parts, and you don’t need to have these parts separate anymore. Do note that combining meshes can also combine the material of your object into one.
Import Normals and Tangents
Models exported from Rhino are often rotated 90 degrees by default. In order to fix this early you can fill in -90 as X value to counter this.
Import Uniform Scale
This is the scale that your model will be after importing. Unreal works with centimeters, and so if your Rhino model is also built in centimeters you can leave this value at 1. If you already know you need to scale up or down your model, you can already adjust it here. If you’re not sure about this, you can always scale your models after importing.
Click the Import button and Unreal will start importing the files into your project. After importing is complete you will probably get error messages. This is because Rhino models are not optimized for use in Unreal. One of the common errors is about Smoothing Groups not being enabled. You can ignore these for the most part. If you encounter visual errors you should bring your models into a program like Autodesk Maya first, and clean them up.
The imported models can now be easily dragged from the Content Browser into the Viewport to be placed in your scene. You will notice that models from Rhino are often rotated 90 degrees. You can fix this by rotating them back -90 degrees, or setting this into the Import Rotation Options before import. If your import resulted in multiple parts, you can also select all of them by holding the Shift key, and dragging all of them into the Viewport at the same time. This way all parts will be in the right position.
- Watch out with importing complex models from Rhino, like trees. Some detailed trees in Rhino have their leaves all modeled individually resulting in a really heavy mesh with high polygon count. Importing this into Unreal will take a long time and will slow down the performance of your VR scene a lot.
- Check the file size of your FBX before importing. Files with sizes above 100 MB are probably already too big and might contain models that are too complex. Go back into Rhino and see if you can remove the complex models, or split the files up into multiple smaller FBX files. Importing too large FBX files into Unreal can take can a really long time.
- It can be useful to export your models into separate FBX files. If there is an error with one of your objects, it will be easier to figure out where the problem lies.
Placing your object into your scene
When your import was successful you can easily get your object into your scene by clicking and dragging the Static Mesh into the Viewport.
- Simple Collision
- Complex Collision
- Collision View
Types of Light
- Point Light
- Spot Light
- Directional Light
- Sky Light
Creating your own material
- Base Color
- Emissive Color
- World Aligned Texture
- Moving Texture (Panner)
- Special effects
- Fire / Smoke / Electric Sparks
- Simulating Physics
- Finetuning the scene
- Saturation / Contrast / Color filters
- Interactive lights / doors / elevator
- Customizing the player character
Finalizing your scene
- Making High Quality Screenshots
- Packaging to executable
- Zipping up project