Quantcast
Top
Mar 20, 2020
in

3D Digital Reconstruction | Bond University

Post by 
Ben Donaldson
—··
Meet The Legend

Immersice World

Legend is a powerful UI kit template for design studios and creative agencies. It will help you to create a stunning portfolio website in record time.

Bond Open Day

Interactive Campus Life Experience

—01

Bond Island | Animated Digital Reconstruction

An animated visualisation of Bond Campus | Seasons, weather, day and night

—02

Alias | Rex

Augmented Reality 3D Puzzle App

—03
B

ond Lego Life is an interactive game where players can experience life on the Gold Coast and the Bond University campus. It is a mobile game simulation of the real-world environment set at Bond University allowing players to explore and interact with landmarks and facilities around campus, learning about life in Australia, experiencing what it’s like to be on campus and even play some mini-games at the ‘Bond Open Day’ event.

The project is an assessment piece for the Animation and Prototyping course under the B. Interactive Media and Design degree, at Bond University. It is a digital reconstruction project that serves as a pre-visualisation exercise as part of the development of the application.

The Arch | Bond University

Scene Selection and Planning

As our application is designed as an immersive experience, we used 360 images from google maps as a visual reference, allowing us to compare 360-degree captures of the physical environment with our digital reconstruction from multiple locations and viewing angles. We performed a series of experiments and tests aimed at determining the best technology to achieve our desired visual results, at optimal Performance on our targeted platform.

Scene reference images

The creation of assets and artwork will need to be done in alignment with the technology to create a balance between the visual quality of game components, and the performance of the application.

Quadrangle | Bond University
The Quadrangle

The Quadrangle Courtyard is the main focus of the scene and will feature a denser population of assets. As much as possible, we limit instances of:

  • High poly models
  • Multi or high-resolution textures
  • Procedurally generated terrain
  • Procedurally spawned trees and objects
Quadrangle | Water Fountain

Geometry

We need to use low poly geometry for all ground surfaces within the bounds of this area, and will utilise lightweight materials and textures to simulate the real-world environment in matching tone with our game colour and the Lego asset artwork.

A large part of the modeling workload was reconstruction of the main building model. The structure and fragmented multi layered state of the architectural model contributed towards the complexity of the exercise. As the goal was to facilitate navigation around and through the building, geometry had to be carefully crafted throughout to ensure the model performed from all angles both internally and externally. In addition to completion of the structure, penetrations were also made throughout the building to place stairs and access points for character navigation.

Geometry | Deconstruction

Layers were also dissected separately, creating specific meshes to be individually textured in the scene. Additional models were created as needed for other geometrical objects in the scene, with more expected to be required as the scene is expanded beyond the courtyard.

Feature models

We modeled and edited meshes and UV maps in Maya, exporting FBX to Unity with Maya Game Exporter directly to our Unity prefabs folder. This allows us to modify the models afterwards in Maya and simply overwrite our previous exports which are instantly updated in our Unity project folder and within the scene. We fixed a number of missed UVs this way, which saves on re-positioning and scaling or copy pasting component values repeatedly. This method also ensures we are never editing the Models currently being used in our project.

Geometry | Modeling detail

Preliminary tests with imported architectural models demonstrated expense on performance due to multi-layered assemblies. While this will be improved by the reduction of geometry and layers during the construction of the model, an entire rebuild would be needed for an optimal performance game-ready model.

The initial test saw a drop from a capped 75 fps to 37-42 fps on a clean scene setup running our character controller and game API. As we can see, it is valuable testing in this manner as we can see which components and detail level we can afford while optimising graphics and performance for our target platforms.

Runtime test with scene assets returning 60+FPS
Following the initial setup, builds of the application were converted and tested across all targeted platforms and devices including:
  • Mac | 1080 and 4k resolution Builds
  • Android | Samsung Galaxy S20, Galaxy Tab S7
  • iOS | iPhone 12 Pro Max, iPad Pro 12.9

This confirmed the assets would work for the intended goal and scope of the project and serve as a solid environmental foundation for future projects.

Shaders and Materials

Much of the projects was dedicated to clouds, water, reflections and terrain shaders. The Gaia System is on the heavy side for mobile but we have been able to optimise our build by only using essential components configured sensibly. We give attention to each component to optimise performance and achieve the desired aesthetic results within our visualisation.

Gaia | Procedural sky

We are targeting simple materials that match with the basic lego theme while blending with our procedural environment. The emotion and mood will then be set using environmental variables such as lighting, time of day, weather, water and terrain.

Characters | materials

One trick to help blend different asset types within the same project is to share materials between them. We find the ones that work together and compliment the scene, reusing and modifying them as necessary. Custom materials were applied using Substance plugin for Unity, allowing extended visual customisation and post editing flexibility.

Structural materials

Textures and UV Mapping

In most cases, textures will be selected based on their real-world counterparts, reusing materials with varied tiling on primitives or simple geometry wherever possible. This is important due to the scope of the project and scale of the environment and the targets Mobile and VR platforms.

Materials | Textures

If maps are not available for textures, bump and normal maps are created in photoshop and as necessary. Substance was used for special materials such as glass, aluminium cladding, pavers, tiles and other structural decals.

Texture Maps | Building Block wall

As much of our geometry workload involved creating new geometric elements using existing architectural models, we aren’t focused on meticulous UV mapping fo those as new meshes need to be modelled from scratch prior to this in future. The models we are using will serve as good placeholders for this project, and allow us to visually communicate our idea and story to the audience.

Materials

For trees and plants, we chose specifically low poly low res models for areas in high concentration. Procedurally spawning our broader biome allows greater control over concentration and resolution of environmental assets in a non-destructive and adjustable manner.

Walls and columns | Stone blocks

Lighting and Rendering

Realtime Lighting

One of the biggest advantages of the Gaia Pro asset is the ability to modify and test the realtime lighting and VFX in play mode. Performance testing is done using builds to combinations of Mac, Android, iOS builds to ensure maximum compatibility and identify problems during development.

We implemented procedural lighting to simulate time of day, generating varying atmospheric visuals using:
  • Runtime Procedural Scene lighting
  • Fog, Shadows and reflections
  • Texture-based particle systems
  • Runtime water and weather systems
Smoke on the water

We were able to achieve the required 50% increase in culling distance on standard shadows, maintaining optimal performance at 60+ fps. This is on top of serving 110% increase in environment and terrain render distance in the water reflection layers.

Procedural Lighting | Harmony between softness and resolution of shadows and reflections
We were able to compensate performance by:
  • Excluding cloud shadows on water
  • Removing VFX reflections
  • Reducing ‘transparent FX’ and ‘ignore raycast' render distance values.

We are quite happy to leave post processing off, taking advantage of the plain styling of the Lego asset and using similar materials where possible. This saves us on performance and is more than made up visually by our procedural environment and biome.

Procedural Lighting | Balancing of rendered light source reflection and shadow

We can update the resolution of terrain and biome object textures dynamically, allowing us to trial different quality settings configurations, reducing the values as required or desired during development. Tests using Desktop quality resolution settings returned an average of 30fps, with Mobile/VR resolution delivering an optimal performance of 60+ fps consistently in a populated scene including our architectural models.

Trees | Biome

Cinemachine was use for camera setup and video rendering. A dolly and track are attached to the camera, using an animator and timeline to automate smooth camera motion. The camera position is fixed to the dolly path and look direction centred on the statue under the arch. We used Unity recorder to capture video in play mode however screen-recording the built application gave better resolution and frame-rate. Next render we will try image sequence and gif formats to experiment with any potential there.

Cinemachine Dolly and track
View on
Instagram
View on
Instagram
View on
Instagram
View on
Instagram
View on
Instagram
View on
Instagram