Skip to main content

Unity3 is released - some thoughts on architectural realtime visualization

The new release of Unity3D is available now. Unity3D is a full game-creation system which you can combine with (almost) any modeling software. You use it as your main game management system, where you import models and textures (assets), create scripts for all interaction and directly assemble game scenes or levels.

It is cross-platform (Windows and OSX) and allows you to make games for Windows, OSX (even if you have the "other" platform only), for a web-browser and with separate licenses for the creation of games for Android, Wii, XBox and iOS (iPhone, iPod Touch or iPad), if I'm not mistaken.

Some thoughts about Unity3D in general

Nice highlights for me:
  • realtime physics
  • prefabs for basic camera navigation
  • easy environment skies
  • directly interact with your game in the Unity editor
  • reasonably straightforward scripting (although I have learned a few things from the Game Development Essentials book as well).
We have used it last year in our CAAD classes to learn (something) about realtime architecture and had reasonably good results importing models from SketchUp and Cinema4D. ArchiCAD models were also attempted, but they passed through Cinema4D as well for best results.

Some thoughts and tips about lights and shadows

There is a free version and a pro-version with more features. For architecture students, the free version is nice, although the pro-version has some better material shaders and support for realtime shadows and occlusion culling. Lightbaking (rendering shadows onto the materials) is quite some process if you're new at it and it took me quite some time to get reasonable results due to some minor Cinema4D limitations, but I documented my process as a screen movie in Vimeo. This was done in Unity 2.x.
Step 1

SKUP2UNITY 5 : Cinema4D Light Baking (1) from Stefan Boeykens on Vimeo.
While the non-free Unity3D Pro has some options for realtime shadows and lighting, it is often quite computationally expensive (takes a lot of CPU cycles for calculations).

The last step(s) are more involved and you can not do this with SketchUp alone... You could use 3ds Max or the LightUp SketchUp plugin or other tools. But as a student you can get a free license for Cinema4D, which can help you with baking the lighting into a texture map. This will render the scene, but instead of showing it on the screen it will be rendered onto a texture map which is wrapped around (a copy of) the model.

Step 1: getting the SketchUp model into Cinema4D (using the FBX file). Set units to Meters in C4D and ensure that all texture maps are properly found. You could rename the textures folder into "tex".

Step 2


SKUP2UNITY 6 : Cinema4D Light Baking (2) from Stefan Boeykens on Vimeo.
Step 2: preparing a Sky, Ambient Occlusion and Global Illumination in Cinema4D. Then start baking the single mesh into an object (include AO and Illuminate and Single Texture). Photoshop file format is fine.

Step 3


SKUP2UNITY 7 : Cinema4D Light Baking (3) from Stefan Boeykens on Vimeo.
Step 3: the baked model is renamed (for clarity in the Unity3D editor) and the model saved. In the background, Unity3D will let Cinema4D generate a proper FBX file for import and load all. Hide the non-baked mesh and only display the baked one. Switch to a Lightmapped Diffuse material and point to the right texture maps for the material.

Beware, there are some minor issues:
* be sure to hide the original mesh in Unity3D
* if you include illumination into the baking process in Cinema4D, be sure to copy the texture map also in the Diffuse channel, to have proper UV-coordinates for the mesh in Unity. Otherwise, you end up with a black mesh.
* Inside Unity3D, hide what you don't need and make sure the correct baked textures are used by the materials.
Release 3 has some support for lightbaking built-in, but as the realtime shadows are not supported in the free version, you would still need a Pro license for full shadow baking (or bake in external rendering software).

Comments

  1. FWIW, the free version of Unity 3 does support shadow baking when you activate shadows on light sources (ignore the warning that shadows are a pro-only feature). It's the realtime shadows that are unavailable.

    The pro-version can mix between baked and realtime shadows and has global illumination in the lightbaking process available.

    ReplyDelete

Post a Comment

Popular posts from this blog

Improve usage of BIM during early design phases

When I was collecting ideas for a book chapter on BIM (that seemed to never have emerged after that), I collected 10 ideas, which I believe still reflect good recommendations to improve the usage of BIM during the early design phases. These ideas are related to BIM software, but you can apply them in any flavor, as long as you can model with Building Elements, Spaces and have control over representation. Introduction This article gives an overview of several recommendations and tips, to better apply BIM applications and BIM methodologies, in the context of the early design phases. Many of these tips are applicable in any BIM application and they are based on experience gathered from teaching, researching and using BIM software. Sometimes they could help software developers to improve the workflow of their particular BIM implementation. Tip 1 : Gradually increase the amount of information In the early design phases, the architect makes assumptions and lays out the main design in...

Getting BIM data into Unity (Part 9 - using IfcConvert)

This is part 9 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss the IfcConvert utility from the IfcOpenShell Open Source IFC Library to preprocess an IFC model for integration with Unity. This is (finally?) again a coding post, with some scripts which are shared to build upon. Conversion of IFC into Unity-friendly formats The strategy with this approach is that you preprocess the IFC-file into more manageable formats for Unity integration. Most Web-platforms do some sort of pre-processing anyway, so what you see in your browsers is almost never an IFC-file, but an optimised Mesh-based geometric representation. However, it wouldn’t be BIM-related if we’d limit ourselves to the geometry, so we will parse the model information as well, albeit using another, pre-processed file. IFC to Wavefront OBJ I used a test IFC-model and used the IfcConvert-utility converted it into OBJ en XML formats. The default way to use it is very simple: ...

Getting BIM data into Unity (Part 8 - Strategies to tackle IFC)

This is part 8 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss IFC as a transfer format towards Unity. As with the previous post, this is not a coding post, although hints and examples are provided. Open BIM and IFC Everybody who ever met me or heard me present on a conference or BIM-lecture will not be surprised to hear that I’m a strong believer in the Industry Foundation Classes (IFC), an open standard, with already two versions published as an ISO standard, being IFC2x2 and IFC4 (but surprisingly not IFC2x3 which is widely used). In the ideal world, this would be the format to use to transfer BIM data into another environment, such as Unity. So what are our options? Looking in the Unity Asset Store Assimp is a library which supports multiple formats, including IFC. https://assetstore.unity.com/packages/tools/modeling/trilib-unity-model-loader-package-91777   I did a few attempts, but alas without any success. It is po...