"This came in earlier today but I am just now looking at it. Please read and look then let's discuss. It would be nice if we had something like Bryce or other 3-D graphics program."
I sighed inwardly. It was the night before Thanksgiving and the email from my new MacSurvivor team-mate John enclosed requirements for a "3D map of the island of Castillo" to be completed by the 30th of November - just the latest task in the long-running Mac Guild Survivor competition. This task included a new twist that each of us would be paired with a former adversary from the opposing team and pitted against our original team mates.
This brought to mind Bryce - you could call it a 3d fractal landscape creation tool. Even if Bryce still existed - and I was sure I had let it slip through my fingers forever some years previously - there was probably no chance of obtaining a copy in time to work with it and make the map. With low expectations, I set out with Google to find out if an out-of-date version of Bryce was somehow available.
I first got to know Bryce many years ago when a save-disabled copy turned up on a magazine disk. On the 100 MHz Mac I had at the time, experimentation was painfully slow and there was no manual. It was easy to make a landscape with some rough terrain, sky and ground/sea, but impossible to figure out where to go with it and how to make the wonderful sci-fi images in the gallery. The full version cost hundreds of dollars and was out of reach for a casual purchase.
Over the years I kept my eye on Bryce. One day I noticed it had been taken over by Corel. There was a PC version as well as the Mac version, and it had come down to the hundred dollar range. Unfortunately, by the time I had made up my mind to buy it, the Mac version was discontinued.
Back to the present... To my surprise, my internet searches soon turned up Bryce 5.5 alive and well for PC and Mac, and available for purchase from a company called Daz 3d. Better still, it was available for download as well as on disk. I thought about it overnight, but it was a no-brainer. I couldn't lose another opportunity to get Bryce - whether or not it was suitable for the competition task or not.
Thanksgiving day: illness in the family destroys our plans to drive off to spend the day with friends. Instead, we settle down with bread, water, tylenol, the boxed set of "From Earth to the Moon" on DVD... and Bryce 5.5.
Bryce, Daz Studio and Tellware
Daz 3D offers Bryce in high and low bandwidth download versions as well as a boxed version. Additionally, there's a 3D starter bundle with Daz Studio content including a male and female figure, a cat, a dog and a dragon. At the time of my purchase, the high bandwidth download price was the same with and without the 3D starter bundle - around $100. However, when I set up the account required to do the transaction, I was given a $30 discount certificate which I was able to use to bring the price down to under $70.
The Daz Studio application itself comes free with Bryce and is also "tellware" - free to download as long as you tell at least 2 other people about it. Daz Studio allows you to pose and render human figures and animals; you can then import these into a Bryce model. The content for Daz Studio is available from the Daz 3D site. You can sign up for a membership deal for discounts, and every month new content is made available (e.g., new models or accessories such as hair and clothing for existing models). New Bryce content is also available (such as, in recent days, a set of palm trees was offered for $9.07).
The Bryce purchase and download worked flawlessly first time. I installed Bryce on my admin account and found it wouldn't work from my user account; apart from this issue, the installation was easy.
The effectively free Daz Studio starter bundle was more difficult to download, but I finally managed it with help from Daz 3D's technical support. The Daz Studio starter bundle has its own installer which doesn't seem to know where to put the content. Daz Studio can't open the content files unless you put them in Applications\DAZStudio\content.
The Scale Problem
The MacSurvivor task was to produce a 3d version of the Castillo Island map, with all paths, lakes, forest, mountains and buildings in their correct locations. We were only given the following sketch to start with.
Sketch of Castillo Island
In previous contest activities, we had learned that the island was 360 miles across its maximum dimension. Right away it was evident that a scale map of the whole island would not be able to show the buildings and paths. After some discussion, we settled on a 3D-cartoon approach, where we would aim for a degree of realism, but have oversized buildings and paths.
Down to business
A Bryce model is built by selecting objects - planes, terrains (3D landscapes), trees and geometrical objects such as spheres and cubes - all of which can be resized, stretched and distorted before rendering in a variety of textures. Taking shape in my head was the notion of layering different terrains on top of each other, each with a different texture for water, beach, mountain and forest. Oh, and don't forget the volcano!
The problem was, how to get the random terrains generated by Bryce to resemble the shapes required for the map. Another problem was Bryce's user interface. At first glance, it's designed for point and click, but as you get into it, you notice it has many aspects that are quirky or downright cryptic. There was really nothing left to do but to break out the manual.
The manual is an excellent, beautifully structured PDF containing both tutorial and reference material. As I explored it and opened up more and more of the bookmarks, I began to realize it was somewhat larger than it looked at first appearances. In fact, it's over 500 pages long. But don't be put off - a properly bookmarked PDF is very easy to read online, and you can easily skip to the sections you need to know about.
The breakthrough came when I learned how to import an image and make it into a terrain. Obviously, the solution was to create a Photoshop file with a layer for each terrain, export each layer to a separate image, and import each image into a Bryce terrain.
Here's an early rough of the Photoshop file showing all layers:
Photoshop Rough Image
As well as the hand drawn map, we also had screenshots from an earlier activity in the MacSurvivor contest of island terrain contained in a 1st person shooter game. These were used to add the detail of the huts and buildings, as well as the Merlin Caves.
Screent shot from Game Map
From Photoshop to Bryce
Here's how the layers of the Photoshop file became a model island in Bryce.
Select the command to add a new terrain to the Bryce model. Bryce creates a new terrain with random elevation. The following screenshot shows just the working area excluding the palettes at the top, left and bottom of the display:
Creating a Bryce Terrain
Bryce user interface quirks for this step include:
Select the E from the tiny menu to get to the terrain editor:
Bryce Terrain Editor
This shows a birds-eye view of the terrain with the height indicated by grayscale value (white is highest). There are many tools for changing the height, either with painting operations or by applying various transformations to the whole picture. Note the tiny red square in the menu on the left - this is used to set the paintbrush elevation; miss it with the mouse and you simply drag this palette around the display.
The first step is to import one of the layers from the Photoshop file and apply it to the terrain:
Importing Photoshop file into terrain
On exit from the terrain editor, the edited terrain can now be seen as a wireframe:
Select the M option from the menu to choose a material for the terrain:
Texturing the terrain
Many other materials are available, including different water conditions, opaque and transparent minerals, concrete, buildings and lava.
Now render the image:
Rendered terrain with textures
Obviously, this is far from realistic. The next step is to move away from the cookie cutter approach, and start by adding random elevation. We do so by adding fractal elevation and erosion. Go back to the terrain editor and select Fractal:
Adding Fractal Elevation and Erosion
There are many options under the fractal pulldown, and as you can see, the default one is unnaturally spiky when it is rendered:
First attempt at terrain elevation
This was maybe okay for the Grand Canyon, but not for a tropical island. So back once more to the terrain editor to apply erosion, which resulted with the following rendered terrain:
Improved terrain and erosion
Water is more or less transparent depending on the water texture and angle of view. It's good to be able to see some of the rock through the water, but not the edges of the square terrain. The way I chose to deal with this was to add a false floor at a specific height under the water but above the bottom of the terrain:
Adding a false floor to prepare for water
Finally add the water plane and choose a suitable texture for it:
Adding the transparent water
In the following screenshot, the view has been tilted to show the sky, which has actually been present in the model from the start. The position of the sun is controlled by a trackball - if you drag it to the horizon, a sunset appears. Naturally, Bryce offers a variety of cloud textures as well as fog and haze.
Adding clouds, fog and haze
That's how it goes for a single terrain. The final model contained many more terrains - including forest, huts, castle, volcano, lava inside the volcano, beaches and lakes. Each had different degrees of noise and erosion added. Using uneroded terrains for the buildings rather than attempting to construct them out of cubes and planes saved a lot of time and also allowed the floor plan from the game screenshots to be used.
The Boat Dock
The dock was constructed as a separate Bryce model. I took a cube and altered its dimensions to make a plank, and then duplicated the planks for the sides and floor. I used cylinders for the legs. All were rendered in wood.
Initial difficulties with this step were due to the difficulty of direct manipulation in 3 dimensions. I would think I had everything solidly lined up, but viewed from another angle, the floor planks would be hovering above the surface. After fixing this problem, I'd view from the original angle and see that they were now at the correct level, but not on top of the side pieces any more. The only cure for this is to work exclusively in Bryce's orthogonal views (top, right, front) rather than director's view. Once everything was neatly arranged, I rotated each floor plank a degree or two to make it all look rickety and treacherous, in keeping with the desert island feel.
I grouped the whole thing into a single object, then merged it into the island model and resized it to fit. My only regret about the boat dock was that it's so small in the final model that it doesn't show all the detail.
Putting it all together
An early rough of the whole island shows some of the problems encountered in trying to assemble an island in this way. There were unnatural cliffs everywhere, including the glassy side of the lake in the middle of the island. The boat dock appeared to be floating above the water, and everything was too high.
Earlier Rough of Entire Island
After a few evenings of iChat discussions, tweaking, fixing and addressing feedback comments, I came up with the final island before the map legends were applied:
Final Castillo Island Map - Before Labels
John applied the labels, compass rose and watermark in Photoshop:
Final Castillo Island Map - Labels applied
With Bryce, it's very easy to angle and turn to create alternate views.
Alternate View of Castillo Island
Alternate View of Castillo Island
I had hoped there would be time to learn the animation features and render an animation in time for the deadline - but there wasn't. After the competition was over, I was still curious about the animation and determined to bring the island model to life in a helicopter tour video.
Bryce allows you to select between views of your model, including orthogonal views (top, right, front, etc), a director view and a camera view. So far I had done all my work in the orthogonal and director views, although I had often seen the camera hovering above the model in wireframe mode. The manual starts by describing how to animate objects in the model, and later explains that the camera is animated like any other object. This seemed backwards - I thought it would be simpler to start by flying around a static model and then learn to make the static model move.
Nevertheless, now I knew how to set about moving the camera. First set up the total animation time and frame rate - I chose 30 seconds at 15 frames per second. By default, Bryce records each object movement. To create a new keyframe, simply move the marker on the timeline to a new second, then move the camera. Clicking inside the camera and moving the mouse drags the camera to a new location, pulling out a smooth Bezier curve as it goes. Clicking the grab handle on the curve adjusts the position of the camera at that point in time. Each point on the camera track was adjusted in top view and a side view in order to ensure the correct position in 3D space.
Camera Path from the side - Showing elevation changes
Camera Path from the top - Showing camera angles
One more nuance was aiming
the camera. It's possible to point it manually at each key frame, but as a videographer
I was aware that any random movements would be disorienting to the audience. I found
that the camera can be pointed at a particular object in the model, and so I chose
Now it was time to render. Bryce calculates all the frames between each keyframe and renders each as an image with optional anti-aliasing, and saves it as a movie with your choice of codec. A thumbnail render of an animation this size takes a few minutes. My initial attempts at rendering a full size video indicated that it would take over a day to complete on my 1GHz iMac. Cutting the rendered view down to 320 pixels wide and turning off anti-aliasing allowed the render to complete in a couple of hours. Adding anti-aliasing took a bit under 9 hours. The choice of codec also influenced the time taken and size of the final quicktime file. Unlike the Mac OS 9 days, it's quite possible to do other things with your Mac while the render is in progress - read the online manual, work in Photoshop, iChat with friends or surf.
After the initial render was complete, and the soundtrack had been added, it was clear that the helicopter orbit of the island was too low to see much of the interior. I went back to the wireframe view and raised the height of all the key frames in the orbit section. The beauty of this arrangement is that it has no effect at all on the position in time of the keyframes, the synchronization with the soundtrack or the overall length of the movie.
The helicopter tour of Castillo was eerily silent. I imported my quicktime movie into iMovie and browsed the sound effects. Cold wind and a lapping water sounds were a good start. I also layered on a jungle sound as the helicopter moved over the island, and a thunderclap at the point where the camera spins around over the volcano. The helicopter itself was no problem thanks to the owner of an Alesis Airsynth - a kind of electronic theremin which offers a helicopter sound as one of its many effects. I connected its red and white audio outputs to my iMac's mini-jack sound in port and recorded some helicopter flight in Sound Studio as the video played. That too was loaded into iMovie. Finally, I scoured the internet and found a free seagull sound for the fly-out section at the end. End result - a sonic cartoon in keeping with the cartoon aspects of the visual model.
Just one problem - iMovie was going to recompress the video and this would reduce the image quality. So I exported just the soundtrack from iMovie and used Quicktime Pro to add the soundtrack to the original rendered movie from Bryce.
Using Bryce for this competition task was my team-mate John Gebhart's idea, so I have to thank him for re-introducing me to one of my favorite applications. He provided Photoshop material for the island terrains and design critiques as the design developed. He also produced the text layer and assembled the final map submission. We spent several hours on iChat, sending images back and forth with comments, waiting as the latest image rendered, discussing how to deal with problem areas of the map, stretching the limits of the deadline as far as our different timezones would allow.
The short timescale of the competition task imposed a severe trade-off between learning Bryce and finishing the task within the deadline. The constraints of the task also led to a somewhat unrealistic final product. Picking a single scale and using more of Bryce's features (such as the tree editor or the palm tree pack) would allow a more realistic model to be created. On the other hand, the task was to create a "3D map", not a model - and we had to keep reminding ourselves of this as Bryce continually drew us towards the modeling aspects of the task.
Overall, I found Bryce to be a fun environment to try out 3D modeling. It's easy to create beautiful random landscape images, and the more you study the manual, the more you can impose your will on your creations. Getting Daz Studio and some human and animal models was an unexpected bonus - not required for the map task, but certainly useful for future projects.
During my re-introduction to Bryce, I heard about some other 3D modeling applications which are also worth investigation: