Friday, December 01, 2006

Canoma to Google Earth Workflow

A few people have asked me about the details of getting models from Canoma into Google Earth.

Here is the process:

First export your model/scene from Canoma to an OBJ file.

Import the OBJ files into 3ds Max (I am using 3ds Max 8). At this point the textures will not show up, or appear linked. In order to get them to show up, you have to save the scene as a max file (I saved mine within the same folder as the textures and OBJ file). Now the materials will point to the textures correctly. That part took me forever to figure out!

You still won't see the textures in the viewport (only in the render view). In order to get the textures to show up in the viewport, you have to toggle visibility for each diffuse texture within the multi/sub-object material. This can be very tedious. The maxscript "Showmap" by Michael B. Comet comes in handy for this, which allows you to toggle all diffuse textures visible on or off with one button.

Once in Max, you can tweak the model, and bake lighting into the texture. You can also render the multiple textures to a single texture with customized UV layout. This has little effect on the final model in Google Earth, but useful if you want to consolidate the textures for post-processing.

As for exporting to Collada, I did not have any luck with 3ds Max's default exporter. Luckily, Feeling Software has created another exporter which does the trick! (Free with registration on their website.)

Once you have your Collada DAE file, you can drag and drop it directly into Google Earth. When your model shows up, a yellow bracket appears around it. Clicking and dragging the center of the bracket allows you to position the model. You can drag the corners to scale the model proportionately, or drag the edges to scale along that axis. There is a small diamond on one side that lets you rotate the model.

There are also a couple options in the properties dialog to configure the altitude of the model. If you want to place the model's alititude below 0, it's a little unintuitive. You have to first increase the altitude by any value, then switch the mode from "Clamped to ground" to "Absolute". Then scrub the altitude slider to find the rough elevation, and fine tune with the numeric input.

For simplicity's sake, you can group several structures into a folder in Google Earth, and in the folder properties you can uncheck "Allow this folder to be expanded", and the folder will collapse into a single element in your "Places". This can always be undone later if you want to make changes to the individual models again.

From Google Earth, you can right click the model or folder in the Places list and click "Save As" to export a KMZ file or "Share" to export to the Google Earth community forum. Too bad you can't upload Collada files to Google's 3D Warehouse, that would be easier for users to find your model with the 3D Warehouse layer you can turn on in Google Earth. But you can still share on the forum, and link to that as well.

If you are fortunate to have a copy of Canoma, it's a very intuitive tool, and great for creating content for Google Earth. Robert Seldi, one of the Canoma creators, mentioned he might be able to streamline this process by creating a Collada exporter for Canoma.

For those not familar with Canoma, you can find more info at Resources for Canoma Users. Digitally Distributed Environments recently posted an article about Canoma as well. Another great blog to check out!

Thursday, November 23, 2006

3D Cities in Google Earth


Miramar Pyramid - San Diego
View in Google Earth

The past few days I have been experimenting with creating photo textured buildings for Google Earth. When it became a free download last year, I spent several hours exploring the satellite photos around the world. Now all the major mapping services offer free satellite views and hybrid views. Microsoft recently added full 3D cities to their Virtual Earth. This got me wondering what it would take to make full 3D cities for Google Earth.

A couple years ago, I attended the Game Developer's Conference in San Jose, and came across a booth with some brochures promoting a new 3d modeling app called SketchUp by @Last Software. I had heard the name before and knew it was a 3d modeling program, but I didn't know what advantages there were to using it. Also, since they were advertising at the Game Developer's Conference, I was curious how it could help in the game industry.

So I asked the representative what SketchUp could do, and his response was: "It does 3D." I asked if there were advantages or specific uses I would want to use SketchUp for, instead of 3ds Max or Maya. His response was: "No, you're better off using those other programs."

Obviously this guy was not in the mood to talk. Regardless, I never looked into SketchUp again. I figured, "Why be interested if they aren't interested in it themselves?" Atleast, that was the impression I got from GDC.

It wasn't until Google bought SketchUp and made it free to use that it caught my interest again. A couple weeks ago I downloaded the latest free version and went through the video tutorials. I was pretty impressed. Compared to higher end modeling packages, it's still pretty basic, but it's very easy to learn, and seems efficient for what it does. Recently Google added texture support as well. It's exciting to see Google backing a 3d modeling program, and making it accessible to the public.

This brings up the connection with Google Earth. Google has setup a website that lets users of SketchUp create models, and upload them to the Google 3D Warehouse. You can also export your SketchUp models directly into Google Earth and share them online. I really like SketchUp now, and the texturing capabilities are promising. It's true, you can map a photograph onto a model in SketchUp, but it's still tedious compared to a photogrammetric system which allows a user to create geometry over photographs which are then projected onto the model. This way you're modeling and texturing in just one pass.

I was curious if I could find a better solution that let me recreate buildings with photo projected textures relatively quickly and accurately, then import them into Google Earth.

The first thing I needed were suitable photos of buildings from multiple angles. I realized Microsoft's Live Local Search was the perfect place since last year they added a new type of map view called Bird's Eye view. Basically they have aerial photos of the major cities taken at an angle from each direction. If you have ever played SimCity, it looks eerily similar. This is also perfect for getting aerial shots of any building from all four directions! (Note: As Frank Taylor from Googe Earth Blog pointed out, Microsoft naturally wouldn't allow Google to use their photos for mass use, so unfortunately users would have to find other sources to draw from.)

The next application I tried out was Realviz ImageModeler. After assigning a dozen calibration points for each photo, you draw faces over the photos, extrude them where you want, repeat and tweak. It works fairly well and straight forward, although there's a lot of setup time in the beginning and I often got some bizarre results in the end. I felt like it was still not user friendly enough. PhotoModeler by EOS Systems is also a very powerful photogrammetric package, but even less user friendly.

So, I dusted off my old cdrom of Metacreations Canoma. The last time I used Canoma was in high school before I barely knew anything about 3d modeling. But I fondly remember recreating parts of my home town in full 3d with this little gem. Then Metacreations disappeared and sold all their products to other companies. Canoma was sold to Adobe. Many people expected Adobe to release an update afterwards. It never happened. There were rumors the technology might be integrated into Adobe Photoshop. Instead, Canoma quietly disappeared.

Adobe later released Adobe Atmosphere, which was a 3d modeling tool and browser. Whether Canoma was something they planned to integrate or not, the "virtual world / web 3d" technology didn't catch on, and Adobe Atmosphere was discontinued. That's where the trail to Canoma ends.

So with a bit of nostalgia, I reinstalled Canoma. I imported my four photos of a building from each direction. I chose one of the preset primatives and aligned it to each photo. As you create more objects, you are continually recalibrating and fine tuning the scene as you go. After checking the scene in the 3d view, I pushed the render button, and almost instantly I had a photo mapped texture based on my four photos on a relatively accurate model. I was (re)amazed how quick and easy it was to make.

Unfortunately if you didn't buy Canoma before it was sold to Adobe, it's tough to find now. Why isn't there something else like this available?

Realviz does make another product that comes close, and that's Realviz VTour. It too is very easy to use, and the results are impressive. The downside is that the current version only supports one photograph or one panoramic image to be mapped onto your scene. I would like to see Realviz make their other program, ImageModeler, just as easy to use as VTour.

So after a few trials, I was able to quickly recreate buildings and structures from aerial photos in Canoma. I exported the results to OBJ files, imported them into 3ds Max, and from there I exported as a Collada file, which is the supported import 3d format of Google Earth. Once the textured model was in Google Earth, I was able to scale it and fix the orientation in the correct location on the map.

So it could be done! But my method still isn't the most streamlined, and requires me to use several chained applications. I can't see a casual user going through the same process, besides the fact that some of the software I used is discontinued.

Google has been funding projects to map cities with lasers at street level. I wouldn't be surprised if that somehow ends up in Google Earth. That would be amazing and provide all kinds of new uses. But that won't get skyscrapers, buildings and anything else above street level. Chances are those Google lasers won't be in every neighborhood. Other researchers are combining street level scanning with aerial photos, with encouraging results.

Google Earth first has to handle the increased amount of geometry better than it does now if you want to have cities in full 3D. Mipmaping the textures of the models within the engine, and some kind of LOD system for the meshes might help. Whatever it takes, Microsoft seems to have pulled it off with Virtual Earth. I would love to see it happen with Google Earth.

SketchUp should take cues from Canoma, perhaps have a wizard that lets the user perform similar functions of photo projecting onto a model and combining textures from multiple photos. Canoma proves it's possible to streamline this process. Users can then upload straight to Google 3D Warehouse. Within Google Earth, users could specify a filter as to what models they want streamed, based on ratings, themes, regions, etc.

Certainly not every building in the world is going to be recreated with this method, but the potential to increase the amount of realistic 3d content could be huge, and on a global scale. It could give Google even more edge over Microsoft's teams of modelers recreating only major U.S. cities. Watch out for Photosynth though, if Microsoft eventually merges it with Virtual Earth, they will have a killer app.

Google is on the right track integrating SketchUp with Google Earth. My hope is they are already developing new tools for SketchUp that will let users create more realistic textured models from their photos as well as improving Google Earth to load these models in larger quantities. Realviz has also been making a point that their software can now export to Google Earth. There are a lot of technologies and possibilities on the horizon, I am looking forward to seeing even more of this potential realized.

[Google Earth]

[Microsoft Virtual Earth]

[Google SketchUp]

[Google Earth Blog]

[Resources for Canoma Users]

[Realviz]

[EOS Systems]

[Microsoft Labs Photosynth]

Labels: , ,

Wednesday, November 22, 2006

CGFeeds


Over the past couple years my friend Victor Soto and I played around with the idea of creating a blog based on a mailinglist we created. Every week Victor would create a list of links to websites and posts on forums we came across related to the CG industry. I would then help organize them, create some thumbnails and we would send them out to coworkers at Sony. These were also shared with our friends at Sigil and some other studios.


A few months ago, Freshlab Creative offered to host a website that would take the place of our mailinglist, and also be more accessible to everyone. Our design goal was to keep it very simple and focus on the links. We wanted to make sure there were RSS feeds for each category. We also developed a Yahoo "Widget" that lets you preview the latest posts including the associated thumbnails, conveniently on your desktop. A few meetings and mockups later, CGFeeds went live.

Our intention is to have an outlet to share some inspiring art and news with anyone that is interested. If you get a chance, please check the website out. We hope you enjoy.

Thanks to Alberto Torres from Freshlab Creative for all the help with the code, and Brian Cowan for helping with the Yahoo Widget!

[CGFeeds]

Tuesday, August 22, 2006

Office Miniature



Have you seen the "bumps" on Adult Swim with the photos of cities and boats that look like miniatures? Well, I have.

Now you too can make your own with Fake Model Photography tips by Christopher Phin.

Inspired by the photography of Olivo Barbieri and the bitter*girls.

And if you like that, you'll enjoy "Think Small for a New Photographic Perspective". Now I want to get some miniature people too!

[via Photojojo]

Wednesday, June 28, 2006

Blood, Sweat and Pizza



I'm getting so close to finishing work on Untold Legends - Dark Kingdom, but there's still plenty to do. We are all working very hard and very late, and I've been getting used to eating dinner in my office every night. Such is the glamourous life of a game developer.

What is the outside world like these days? Please tell me. I still manage to keep a glowing tan thanks to being surrounding by flatscreens and tv sets.

Here are a couple previews that are available now:

Game Trailers: Untold Legends - Dark Kingdom E3 preview

Untold Legends - Dark Kingdom: Game Development News

And here are a some screen shots I can show:



Friday, March 17, 2006

Dark Kingdom Announced



The latest project I have been working on, Untold Legends - Dark Kingdom for Playstation 3, has now been officially announced by Sony. I can now tell my family and friends why I commute on an unmarked airplane to work everyday. I wish I knew.

IGN Preview with screenshots and Video interview

Untold Legends - Dark Kingdom Official Website

Gamespot Preview with screenshots

Friday, January 20, 2006

The Legends can now be told

Here are some more videos and screenshots of my work on Untold Legends - The Warrior's Code for PSP. I was given the opportunity to create unique UI for each playable character as well as create effects for all the spells and environments. I had a lot of fun working on this project, and made friendships with practically everyone on the team. Out in stores for PSP this March.



Gameplay Video 01



Gameplay Video 02



Gameplay Video 03


UI Menus:


The Guardian


The Disciple


The Mercenary


The Prowler


The Scout

Screenshots:

The Guardian casts a cold-based spell.


The Mercenary casting a fire-based spell.


Context sensitive HUD with Attack of Opportunity gauge.


Resource widget displays player's Health, Mana, Experience, Beast Essence, Beast Form Status, Ammo and Player Color Gem.


The Mercenary's Specials menu. Each character has their own unique spells. One of 9 unique in game menu screens per playable character. Over 40 unique UI menu screens in game for single and multiplayer.


The Scout casts four element-based effects combined for a boss encounter.

Preview at BonusStage:
http://www.bonusstage.com/article.php?artid=3264&pg=1&comments=