PDA

View Full Version : Real-time architecture walk around.



Lude
01-13-2005, 11:36 AM
Do you think there are any game engines or other real-time viewers that could handle a Lightwave scene of a housing estate and let you move around it in real-time?

Lamont
01-13-2005, 03:13 PM
Well, I would say yes and no.

Unreal, Lithtech, HL2, Doom3, CryEngine can handle it. But it's going to take a h3ll of a lot of work to get it to run at a good framerate. A lot of optimizations will have to be done because you can't just start dropping data in with disregard to the engine abilities. You're going to have to tell the engine when to draw things with ocluders, rebuild the walls... fix textures, ect.

Mipmap
01-14-2005, 04:37 AM
Game engines are designed to have the levels broken into pieces and have only what needs to be seen be rendered. Little 3D props can usually be seen in games disappearing with distance, but even major structures in the level will have pieces of them or the entire thing vanish when they are not visible. This is why games usually have paths at some point that will take you around an "L" or "U" shaped turn or tunnel, so that the engine can more easily figure out that the previous part of the level is no longer visible.

So like he said, just dropping in a huge 3D object wouldn't work unless you pretty much redid the entire thing. Your whole object would be rendered at once which would kill framerate, and all the textures seen on your model would have to probably be remapped with UVs. You'd have to relight the whole thing in the engine as well.

Lamont
01-17-2005, 03:13 PM
If you have already made the object, go ahead and seperate it into seperate objects. The home without furniture would be your world. And that needs to be broken up by room. Take note of the position of all the objects, and do a rest_on_ground for all of them.

Make sure they are all UV mapped and textured.

This is the first step. If you are going into UT2k4 you are going to need more work (I don't think anyone wants to see the UT2k4 load-screen ;) ). But there is a real-time viewer for LWS/LWO files. It's on Flay.com (recent).

LW is kinda slow for baking in shadows. And I think that if you do that you will get more problems with the seams of the texture showing up in lower resolutions.

Go ahead and work on getting some things into that viewer.

Remember: Power of two textures (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 no need to go larger) , no long tri's...

trick
01-17-2005, 03:38 PM
If we are talking for exportable solutions, they are mentioned above.

The only applications I know of, that can handle the original large and textured scene files, that are usually also used for stills and animations. are RTRE for MAX and Lightscape. RTRE takes the original MAX-files and makes a kind of interactive format that can be presented with an external player. Next to the cost for MAX this will set you back $695. Lightscape (RIP) also has an external application in which you can interactively move through a LS (solution) file...

Lamont
01-17-2005, 09:49 PM
Here you go:

http://www.render-blade.com/

A.Russell
01-18-2005, 04:27 AM
Probably just about any 3d engine would do. It depends on the render features that you want. If you want the best per pixel lighting, then I think you may have to go to the high end engines, but middleware should be ample.

You'd be best to go for an engine that uses octee culling and polygon collision, otherwise you might find you need to do all kinds of things to get your geometry into the engine, like with BSP where you can't use any concave shapes.

Also, an engine that renders in a clolour depth of 24 to 32 bit. If you are using baked textures (which would look best since RT3d engines don't have the luxury of taking overnight to render one frame) 16 bit depth is likely to leave noticable gradients around lit areas.

Texture memory is very important with 3d engines. If you go over what you can fit in your VGA cards RAM, images will need to be swaped out of VGA ram for regular RAM. This is slow. To see what I mean, try opening a whole heap of image files in Photoshop at once. The first files will open quickly, but once you run of VGA memory they will open more slowly, and finally when you also run out of RAM the images will need to be swapped off the hard drive, and that is really slow. This is a very important consideration when you are using surface baked textures as opposed to the shading provided by the engine. When using surface baked textures you are better to use lots of small ones rather than a few huge ones.

Another thing you can do is make a render in Lightwave and use it as a texture. This will save you on geometry, but look best from a distance/same angle. Take a look at my most unpopular (on this forum at least) Pachinko game post. The case of the pachinko machine is actually only 2d with a Lightwave render of a high poly version used as a texture. It has an alpha channel to make the window into the playing board of the machine.

You also only want to use images that are a size that is a power of 2 (64X64, 128X128, 64X128....) These render more quickly, and the optimum size for most video cards is 256X256.

I made this in Lightwave and exported it painfully to a RT3d engine that uses BSP. It was technical and time consuming:

http://www.clubvarie.com/pictures/teahouse3dgs.jpg

The same scene in Lightwave:

http://www.clubvarie.com/pictures/teahouserender7.jpg


Not all items are surface baked in the game engine version. The shoji screens are all the same so that they could be animated and used in any part of the scene. Not all the details were make in Lightwave either. The panels were made as 2d textures in Photoshop before baking. With RT3d you have to watch the number of polygons that are rendered at any one time. In a complicated scene, like city, this might mean cliping far objects and hiding them with fog.

So basically, you could do it in a lot of engines, you just have to watch your texture memory comsumption and the amount of geometry you have on screen at any time. Considerations like culling method and collsion detection (if there are to be any animate objects, otherwise don't worry) are also important.



EDIT> More specifically. Perhaps Quest, Radish, Irrlicht or Torque. Engines like CRY or Unreal, some of the others suggested by Lude, are certainly fantastic, but are in the big boy's league. Though, if you've got a few hundred grand to throw around, go for it. Unreal does have a version that you can use free for non commercial projects.

A.Russell
01-19-2005, 12:18 PM
Even better than baking your textures, go for an engine that allows for arbitrary geometry rather than CSG geometry. That way you can save on memory by scaling, or reducing the colour depth, of the lightmaps. Baked textures are not reusable and are not useful for calculating the level of lighting for arbitrarily placed models.

Lamont
01-19-2005, 03:55 PM
Baked textures aren't needed for the latest and greatest engines of course. But if you are using that previewer then it's needed. I get very nice results with vertex colors in many places, and at work it's the only way we light things.

An architectural walkthough is fine for baking, nothing is moving.

How is the progress? Have you tried anything yet?

You know what would be sweet for lightwave? Is that there is a render to vertex inside the render/lighting panel. ANd it would automaticly create a vertex map per object and apply it. And the vertex maps have different blend modes... I'd be happy.

Ron Schatz
01-19-2005, 10:00 PM
Great tech base on limits of textures and other things are importent, but nothing on the PIPE line to get lwo's quickly(easy) into a game platform. The point of this is to view a scene linearly or nonlinearly. We need use content manager to collect the scene parts up and take the folder of parts and go to any computer with a color display and show builders,homeowers, architects, THE GUY with the $$$$$$

In past few months I have loaded lw on to customers computers and give an easy class to around lw. They have enjoyed this and always happy with just OpenGL viewing,

Render blade works ok but is limited and not long enough and my 1gig texture lib is 98% jpg's

On this broad gentelmen and ladies, WE are the big boys and girls in the 3d world today, So can we share ? What programs loads lwo direct into What engine. like in burnout3 what is used after the models and scene files are made to finish the game, what ?

I hope it can done

Lamont
01-19-2005, 10:33 PM
Doom 3 (Per pixel lighting/normal maps) and Unreal 2k3/2k4 bring in LWO's natively. My opinion UT2K3/4 are more documented so you'll find stuff on the net. Oh and you can use the Quake engine...

Renderblade is not very optimized to handle a 1 gig texture lib, 1 gigs of textures is not very reasonable for real-time artwork unless it's got some serious paginig abilities.

So you want to make walkthroughs in real-time, grab Unreal or Doom 3 retail (30 bucks each). They are powerfull, and since there will be no AI/characters going, you will get better performace. It's not something you can just drop your artwork into, it will take a lot of work.

Ron Schatz
01-19-2005, 11:35 PM
Sorry, the 1gig texture refrence was because render blade texture map images need to be bmp's or tga's and not jpg's like 98% of my hole library is made.
I been making Architecture in lw since 95 and waited for the little 68030-30hz to show anything, today my Boxx w/dual Zeons flys great but I know I choke it if I get sloppy with image maps and polys.

Quote: It's not something you can just drop your artwork into, it will take a lot of work.

So, what kind of work? I'm not afraid

I have UnrealII the awakening does this work?

Thanks for the progs list

A.Russell
01-20-2005, 04:56 AM
I wasn't aware that there were any engines that you could drop LWO or LWS objects into. On the other hand, there are engines that you can drop .X files or .3DS files into. Lightwave is particularly unfriendly in this regard , since you really have to export from Layout to have your lighting and animation information. Some other Lightwave users and I got together to commision a programmer to write a plugin for exporting objects to our game engine.

In any case it's a good idea to convert your objects to whatever the propriety format for the engine is. Game engines can't use all the information included in formats for high end modelers and all that unnecessary data will be striped in the conversion.

The reason I recommended an engine with octree culling is that it is much simpler to just drop a large model (like a builing) into it. It doesn't render quite as fast as a bsp engine, but you don't have all the issues with geometry or needing to chop your model into sections to prevent too much of it being rendered per frame.

For you, since you just want to make and light the building in Lightwave, then export it to your RT3D engine to distribute to clients with the minimum of technical hassles, you might want to take a look at Virtools (http://www.virtools.com/). I haven't used it, but it sounds like it might be what you are after. Here is an archatectural project made with this engine: http://www.virtools.com/applications/elearning-artearchi.asp

You'd be best to ask the company or on any user forum to find out how easy it is to get content from Lightwave into the engine.

kopperdrake
01-20-2005, 09:00 AM
Lude - it's going to be one big can of pain preparing something like that to work in a games engine if you want a quickish solution. The whole process of modelling and texturing is different from the way you work in Lightwave and sets of rules need to be adhered to. Don't laugh, but have you considered VRML? Lightwave supports it natively and you can also prepare scenes for internet access.

I did a very basic test here http://www.kopperdrake.plus.com/baslow

You'll need to download the Cortona viewer, there's a link on the page. This was made using very quickly built trees and textures, but the geometry was converted from a print resolution scene. It probably took a couple of days to convert the source geometry and textures to this stage. Obviously there'd be loads of work to get it finished, textures baked etc. The only problem is that VRML can only use one layer of texture afaik, so if every house is going to have its own baked texture then the file will be huge - not a problem if you're viewing it on a laptop :)

Dunk

MentalFish
01-20-2005, 09:16 AM
Might I jump in here and suggest ShockWave3D? I am aware of the limitations of ShockWave, but it supports multitexturing (for effects such as LightMaps). If you stick to using 256 x 256 16bit textures and less than 10.000 polygons, it should play back nicely on most computers.

I am making a tutorial soon for creating interactive arcitectural walkthroughs with baked radiosity by combining LightWave and ShockWave.

Just as a little side note on ShockWave performance, on my 2 GHz P4 Centrino with 2 gigs of ram and Radeon 9700 128 MB gfx card I get smooth playback of scenes with several million polygons.

Lude
01-20-2005, 09:29 AM
Thanks for the great response here guys. At the moment the game engines just sound like way to much work and although crap in comparison to unreal etc, this VRML/shockwave might be the way to go.

To use the game engines it would really need to be a labour of love, and I canít charge for my loving, at lest not without putting a red light in my room lol.

Thanks very much kopperdrake for showing us your experimentation, thatís a big help it shows us really good starting point. At lest I know it's becoming more possible now.

kopperdrake
01-20-2005, 10:00 AM
No probs Lude, it's an area I've been looking at since I started up 7 months ago and I really think it's something just waiting to happen :) The reason I started looking at VRML was that I heard a rumour that the next version of browsers may have some type of VRML integrated, but still waiting to see if that's the case.

I can't wait to see your sample Petterms, using Shockwave. I hadn't considered this to be an option! With a reasonably quick conversion process from print-ready models to realtime models, it'd be invaluable for clients! As long as you can convince them that spending just a little bit more is worth it :D

Dunk

MentalFish
01-20-2005, 10:30 AM
Just to let you guys get a preview of how it can look:
http://www.illustrata.no/Home/Gallery/Realtime%20Graphics/popup.html

Use arrowkeys to steer (click on the 3d viewport if nothing happens at first).

This is how it looks (screenshot):
http://www.illustrata.no/Home/Gallery/Realtime%20Graphics/illustrata-rt-shot.jpg

kopperdrake
01-20-2005, 11:40 AM
Lovely :D Is the reflection built into Shockwave? I assume the walls have baked textures? How much tweaking did you have to do outside LW?

MentalFish
01-20-2005, 01:09 PM
In short:

Slightly transparent surface for the floor, with a duplicate (inverted) model underneath it.

One unwrapped UV of the whole model to bake out the lighting, then apply the base textures such as wood and apply the lightmap on top, using Lingo scripting inside Director.

I will try to create a generic script so its just a matter of importing the W3D and press play to make it work. But before that, a little tutorial is coming up.

Ron Schatz
01-20-2005, 01:53 PM
Great. So what parts of macromedia do we need to have work with the w3d file?

Yesterday a client ask if this can played on a DVD player, people are starting to ask the fun questions, I told him I was not sure and that I will ask around alittle.

MentalFish
01-20-2005, 02:10 PM
To create interactive 3D you need Macromedia Director MX 2004. It can create program files for both Mac and Windows, as well as web based ShockWave3D.

To create DVD videos you need to make pre rendered animations/videos. A DVD player does not have processing power for realtime 3D.

Ron Schatz
01-20-2005, 03:23 PM
So it is time for a casting call, outstanding.

yeh I did not think a DVD was smart enough but did hope we had some pixie dust somewhere.

Ok, what about burning a disk for PS2, Xbox, or Gamecube, is pratical?

What dose it take?

Lamont
01-20-2005, 03:41 PM
X-Box, PS2 and DreamCast are more easy to get home-brew applications made for them.

Dreamcast: www.dcemulation.com

X-Box, just look on the net.

PS2 - Get the Linux kit ($200)

kopperdrake
01-20-2005, 04:52 PM
In short:

Slightly transparent surface for the floor, with a duplicate (inverted) model underneath it.



Ah, the same technique used to create lovely reflective floors on console game development then...and memory hungry too!

Cheers for that :)

MentalFish
01-20-2005, 05:20 PM
Don't think it eats up that much mem, as the model itself is very low poly and the textures are the same as on the original unflipped model (one texture used twice does not eat up 2x graphics RAM, to my knowledge atleast). I think new games especially for x-box use a render to texture feature to create floor reflection and such.