This museum scene contains around 750K triangles. 3DWorld can handle scenes up to around 12M triangles, so I could have 16 of these museums in my scene and still draw it in realtime. The original file was untextured, with no normals or texture coordinates. I had to use textures that I found online and create the normal maps using a trial version of CrazyBump. The textures are applied using standard {X, Y, Z} triplanar texturing where the texture coordinates are determined by the dominant direction of the normal. It's difficult to generate automatic texture coordinates for scenes with curved geometry without using a 3rd party tool. Vertex normals are generated from the face normals by 3DWorld. Some of the triangle faces in the model have the wrong clockwise vs. CCW winding order, which causes black spots and smeared textures, but it's not too noticeable.
There are several light sources in this scene:
- Sun direct and indirect lighting with shadows
- Sky/cloud indirect lighting
- Local diffuse + indirect indoor light sources (2 yellow lanterns and 4 blue ceiling lights)
Museum scene from the front stairs. |
Museum scene from the ground floor in the back. |
Museum scene from above near the ceiling. |
This is a fully collision and physics enabled scene in 3DWorld. The player can walk around and collide with the geometry, shoot things, and play in game mode against the smiley AIs. There are a few holes in the floor that the player can fall though, but I think I mostly fixed those problems.
That's it for now. I'll write something longer next week when I have more time.
This comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteNice texturing work! I like that the engine can be used for rendering, as well as gameplay.
ReplyDeleteThanks. The engine is mostly for rendering. I started off with gameplay, but most of the later posts are rendering and procedural content creation. I have a later post with this museum scene with reflective floors, and another with the building arrayed out 100x100 times.
ReplyDelete