Jump to content

Overview: Static Objects


moonsense715

Recommended Posts

Author: Westwood Studios

Skill level: 3

 

 

By Greg Hjelstrom

 

Introduction

 

A level for Renegade is composed of static and dynamic objects. This document will give you a brief overview of the types of static objects you can create.

 

Static objects never move and cannot be created or destroyed in game. That being said, you can do a lot of things with animated static objects (including hiding or un-hiding the object, achieving the effect of creation or destruction). In the Renegade level editor, there are two categories of static objects: Terrain and Tiles. These two types are handled significantly differently.

 

 

Terrain

 

A terrain for Renegade is treated as a collection of individual meshes. A terrain cannot be animated or changed in any way. The bulk of the geometry for any given level is in the form of one or more terrains. Terrains should always be exported with the Renegade Terrain option in the

 

 

Tiles

 

Tiles are static objects that can animate in various ways. Doors, elevators, damageable objects, and building aggregates are all examples of tiles. The physics model you select when you set the tile up in the editor defines the logic that controls how a tile animates. Below is a list of the physics models available to tiles:

image-34-INDEX.4.JPG

 

 

StaticPhys

 

An object that uses the StaticPhys physics model is just a static object in the level. This is the simplest type of static object and cannot animate. The only two parameters are the model name and a checkbox indicating whether this object is an occluder.

 

 

StaticAnimPhys

 

This is a simple animating object. This can be used to make trees that sway, radar dishes that spin, etc. All of the other physics models in this document are derived from StaticAnimPhys and have all of its parameters.

 

 

Animation Settings:

image-34-INDEX.5.JPG

 

Collision Mode: The most powerful feature of animated tiles is the ability to animate the physically collideable meshes in your model. You can select from several collision modes: none, stop, push, and kill.

 

Probably the most useful of these is the push mode. The push mode will cause the physically collideable meshes in your tile to push the dynamic objects in the game. One limitation must be kept in mind when you use this mode however you may only use translation on meshes that are animating with collision mode push. Elevators (called lifts in other games) simply use the push collision mode on their mesh to move characters and vehicles around.

 

Animation Mode: There are three animation modes: loop, target, and manual. Loop is the most common mode and simply causes the object to play its animation over and over. Target and manual are used when there is other code controlling the animation of this object.

 

Animation Name: Normally, a StaticAnim object will use the animation built into its w3d file (just use the Hierarchical Animated Model option in the exporter). However, if you want to play a different animation on the object, you can specify that animation here. Typically it will be in the fully qualified form: .. For example, if you export an object named MyTree. Then you create a separate animation called WaveAnim, then the full name of the animation will be MyTree.WaveAnim. This parameter is often needed if your tile is an aggregate model created in the w3d viewer by attaching emitters to another model.

 

 

Texture Projector Settings

image-34-INDEX.6.JPG

Enable Projector - Does this tile have a texture projector.

 

Perspective Projection - Should the texture projection be perspective (default is orthographic)

 

Projector Is Additive - should the texture projection be rendered additive. The default is to render multiplicative which is useful for creating shadows; additive can be used to create spotlights.

 

Projector Is Animated - indicates to the engine that the projector is moving and should be re-checked for culling each frame

 

Ortho Width - width of the orthographic projection (used when Perspective Projection is false)

 

Ortho Height - height of the orthographic projection

 

Horizontal FOV - Field of view of the perspective projection.

 

Vertical FOV - Field of view of the perspective projection

 

Near Z - near z clipping plane for the projector, only used for rough culling, not clipping

 

Far Z - far z clipping plane for the projector

 

Intensity - The darkness of the projector (or brightness if it is additive)

 

Texture Name - name of the tga file to project

 

Bone Name - name of the bone to attach the projector to.

 

 

Shadow Settings

 

Tiles may have a static shadow projector that is automatically generated at level load time. An example of this feature is the trees in various levels in Renegade. When dynamic objects move into the shadow volume of the tree, the tree shadow is projected onto them. The engine will share the shadow projection texture between multiple instances of an object whenever possible so you can have lots of shadow projectors in your level. Unfortunately, these projectors do not currently project onto static geometry because we used light-mapping for the static shadows.

 

Below is a screenshot of the shadow parameters available to static animated objects:

image-34-INDEX.7.JPG

 

ShadowDynamicObjs - this checkbox enables or disabled the entire shadow feature.

 

ShadowIsAdditive - (may be obsolete) can be used to make stained glass window types of effects where the shadow is an additive effect rather than a black silhouette effect.

 

ShadowIgnoresZRotation - allow instances of this tile to share the shadow texture even when they are rotated. This works well for trees where you cant really tell the difference in the shadow anyway.

 

ShadowNearZ - near z clipping plane of the shadow

 

ShadowFarZ - far z clipping plane of the shadow

 

ShadowIntensity - how dark (or bright if its additive) the shadow is.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...