Durk van der Meer shared some advice on how to build amazing 3d environments with awesome detail.
Durk van der Meer shared some advice on how to build amazing 3d environments with awesome detail.
Introduction
My name is Durk van der Meer. I graduated art school in 2003 where I mainly focused on painting. In the following years, I taught myself 3ds Max and Vray, and eventually started as an architectural visualizer. 5 years ago I started as a freelancer working on a range of visualization projects.
Since a couple of years, I’ve been working on projects with Happyship, a company in my hometown of Groningen. The first project I assisted on was an animation called Polska Warrior which received a golden calf, a Dutch film prize. The other projects range from VR, AR to Realtime Visuals, where I do level design using Unity 3d.
Over the years I’ve done work for several architects, filmmakers, as well as clients such as RedBull and the EDC festival.
Voynich Temple
How many sci-fi movies do you know that present a world you would want to live in? Probably not that many. Most of them are pretty dystopian, and in this project, I just wanted to do something a little less bleak and a little more low tech. So when I went through the concept art provided by Unity and I came across ‘Wetland’ Kegiri Mudhut Village by Georgi Simeonov, I liked its lack of (advanced) technology. I started thinking about the connection between ‘neon’ (which stylistically would imply emissive materials of some sort) and the image of a ‘wetland’ in a daytime setting.
The idea of bioluminescent algae came to mind, being harvested to make luminescent paint, which
could be used to paint their huts and temples with symbols that would only be visible at night. I decided this would the basic concept of the project. The symbols I took from the Voynich manuscript, a famous undeciphered text, so that’s where the project got its name.
Visually I knew I wanted to do slow camera movements like in nature documentaries, and do detail
shots with a zoom lens. I started out with a lot of fog because it seemed obvious (with the water and
all), but in the end, I felt it desaturated the colors too much.
Normally I don’t tend to set technical goals, but let the idea dictate what I need to learn.
This time my main goals were learning the basics of cine machine and timeline since they were
required, and I’m glad I did. It’s a very powerful combination for creating a camera system, and when
you are animating and cutting to your different cameras, the audio stereo image is updated
accordingly. It really immerses you in the world you are creating.
Process
Since I wasn’t going for a typical sci-fi look I thought it best to create as many of the models myself as I could. I started with the hut from the concept art and created some variations. I made some smaller ‘fisher town’ type assets to scatter around, and some large rocks for the surroundings. I textured everything with Substance Painter.
I found a nice rock material on the Substance Source library that I also wanted to apply to the terrain, so I needed to render out a tileable texture from substance painter. I found a neat little trick on the internet for that: In your 3d modeling software you take a square plane and copy it to all sides so it looks like an unfolded box. Don’t unwrap it just let it use the default uvs. Import it into Substance and when you paint on it, you’ll see the same thing on all 5 planes (since those uvs are overlapping) and you can create a perfectly tiling texture.
I really believe in first getting the broad brushstrokes right, so I started over with the terrain several times, changing it from a bay to an island, to a canyon, to a small island inside of a canyon. For this, I used the GAIA terrain tool, which works with the standard Unity terrain. It comes with a great selection of stamps that you can combine, and it paints the terrain textures based on height and/or angle of your terrain. After that, you can go in and paint and sculpt any adjustments by hand.
There are also a lot of procedural scattering options, but I tend to paint the foliage on the terrain by hand. At this point, there are already some preliminary cameras floating throughout the scene, and I find it useful to take them into account while painting trees for example.
When it comes to planning animations, things really changed with the real-time render engines such as Unity 3d and the Unreal Engine. The workflow to render out an animation with 3ds Max and Vray, for example, is totally rigid in comparison. I’ve done those in the past, and at times I found myself more
concerned with render times then with the quality of the animation. In Unity 3d editing cameras,
setting up lighting and sculpting the terrain, don’t have to be done in any particular order. If you get
stuck just work on something else and come back to it later. Just make sure that with all of that
freedom you still make the threads connect in the end.
Vegetation
Around the time of the challenge I was looking at some art by Moebius and his colorful style is what
inspired me to do the same with the vegetation. I used SpeedTree modeler to create the trees and change the colors of the leaves. I avoided green to make the world feel more alien.
When using trees with unity terrain you can change the hue color and variance of the leaves. I increased the hue variance quite a bit and ended up with this pallet. The rock material of the terrain I had already turned to yellow to contrast with the bluegrass and the trees seemed to fit nicely in between those colors.
Water
The water is basic unity water shader where I just adjusted the reflection/refraction colors, wave scale and upped the resolution. In the low tide shots, the reflection of the puddles of water is all in the materials. I used a plane with a custom material for that because you can’t get that effect with the standard terrain shader. In the evening shots the water is more transparent and shows the low tide material underneath, and it creates some extra depth.
Lighting
Because I started over a couple of times with the terrain, I didn’t have a lot of time to spend optimizing the scene for light baking, and I didn’t use real-time or baked GI at all. For a sunshine/daytime scene, more then 1 bounce is usually not that visible, so no light baking is necessary as long as we stay outside. With interiors, you’re really going to miss those extra bounces of light.
I am using a directional light, a blue sky color and some ambient occlusion to make everything connect a little better. Most of the ambient occlusion is baked into the textures, then some screen space ambient occlusion is added to taste with the unity post processing stack.
The nighttime is a slightly bluer skylight and a bunch of scattered point lights and is a little heavier on ambient occlusion. The lanterns have an emissive material but since we’re not baking anything, this isn’t added to the lightmap. So in some cases, I added a point light to them. The materials of the houses have the symbols painted on them in an emissive channel, which by adding bloom will get you that glow effect. All the lights in the scene are real time., so it’s important to set the camera to deferred.
The post effect I ended up using: ambient occlusion, bloom (use a lens blur texture), depth of field, color grading (set to neutral), and I made a custom lut for some final color grading.
Explore and create
The way I like to look at creating real-time 3d worlds like these is that you are an explorer as much as a creator. So you want to have a plan, but you also want to discover things and increase the possibility of happy accidents.
In an earlier project, I was creating some small mountains with a path running through it. I was trying to do both at the same time, sculpting the rocks in the terrain and at the same time carving out a path. This ended up looking very unrealistic and forced. I then just created the mountains and rocks until they looked good and I walked around the scene. Quickly it was clear what the best route would be. I adjusted the mountains where necessary, and this time it looked much better.
Some building projects in the Netherlands don’t immediately lay down the walkways for the pedestrians. Everything is covered in grass, and after a few weeks of use the natural pathways become visible and are then paved. This is a kinda real-life example of that principle, and as I’m getting more and more involved in VR projects, I feel it’s becoming more relevant.
As far as tools for world creation in Unity 3d I can highly recommend the GAIA terrain tool, SpeedTree
modeler, and cinemachine. You can find them all on the unity asset store. For the entire list of the assets used check the article on Unity Connect.