VERC: The X-Ray Effect Last edited 1 year ago2022-09-29 07:55:41 UTC

Introduction

One of the things people have wondered about is how Gearbox achieved the x-ray effect in the of3a6 map. The effect consisted of the player looking through an X-Ray screen, being able to see the skeletal frame of some subjects sitting behind it. When the player went around to the other side of the screen, the subjects appeared normal (ie: fleshy).

Setup

It's really a fairly simple procedure. Below is an overhead view of the entities (as taken from the example map).
User posted image
  1. trigger_multiple activates bones_togglemm (E)
  2. trigger_multiple activates flesh_togglemm (F)
  3. monster_human_grunt_ally_dead (deadsci_flesh) and monster_skeleton_dead (deadsci_bones) (note that the skeleton needs to be offset from the body by a small amount)
  4. monster_cleansuit_scientist_dead (deadsci_flesh) and monster_skeleton_dead (deadsci_bones)
  5. multi_manager bones_togglemm activates trigger_flesh2 (G) and trigger_bones2 (H) env_renders
  6. multi_manager flesh_togglemm activates trigger_flesh1 (I) and trigger_bones1 (J) env_renders
  7. env_render trigger_flesh2 makes flesh transparent
  8. env_render trigger_bones2 makes bones visible
  9. env_render trigger_flesh1 makes flesh solid
  10. env_render trigger_bones1 makes bones invisible
  11. func_illusionary "x-ray" field
  12. func_wall "x-ray" window to look through

A. trigger_multiple

This is the trigger that is activated as you go outside the x-ray machine. It's purpose is to activate the multimanager E that will trigger some env_renders to make the bodies transparent and the bones solid. Following are its important properties. When you go through this trigger, the bodies and bones will look like the following picture:
User posted image

B. trigger_multiple

This is the trigger that is activated as you go inside the x-ray machine. It's purpose is to activate the multimanager F that will trigger some env_renders to make the bodies solid and the bones invisible. Following are its important properties. When you go through this trigger, the bodies and bones will look like the following picture:
User posted image

C. monster_human_grunt_ally_dead and monster_skeleton_dead

This is the grunt's body and skeleton. Note that the skeleton must be offset by about 8 units to account for a slight difference in the model sizes. Below are the important initial properties of the two entities.

D. monster_cleansuit_scientist_dead and monster_skeleton_dead

This is the scientist's body and skeleton. Below are their important properties.

E. multi_manager

This multi_manager controls making the bodies transparent and the bones visible. It is activated by trigger_multiple A. Below are its properties. For more information, see the multi_manager entity description.

F. multi_manager

This multi_manager controls making the bodies solid and the bones invisible. It is activated by trigger_multiple B. Below are its properties. For more information, see the multi_manager entity description.

G. env_render

This is the env_render that makes the flesh transparent. Below are its properties.

H. env_render

This is the env_render that makes the bones visible. Below are its properties.

I. env_render

This is the env_render that makes the flesh solid. Below are its properties.

J. env_render

This is the env_render that makes the bones invisible. Below are its properties.

K. func_illusionary

This is purely for effect. It simulates a bright area of flashing x-rays. Create the brush so its "streaming" from the window (look at the example map for the idea) then turn it into a func_illusionary. Set its properties as listed below. The above properties will turn the block into a flickering barely visible greenish "light" to simulate the x-ray field. Because you're using the Color render mode, the actual texture of the object isn't important as it will take on a solid color as specified by the FX Color, with a transparency value determined by FX Amount. The Slow Ficker render fx is added to for a nice flickering effect.

L. func_wall

This is simply the window that the player will look through to see the "x-ray" scene. Create the window and turn it into a func_wall. Set the following properties for it. As with the func_illusionary mentioned above, the texture of the window is unimportant since the render settings control that.

Notes

When you come upon the x-ray setup, it is active. Looking through the window, you'll see the transparent bodies and their skeletons. If you walk around the window to look at the bodies, you pass through trigger B which activates a number of env_renders that make the bodies solid and the skeletons invisible. If you return to your position in front of the window, you pass through trigger A which activates a different set of env_renders that make the bodies transparent and the bones visible. Simple as that. Swanky huh?

Example

For a more concrete illustration, check out the example map linked below.
This article was originally published on Valve Editing Resource Collective (VERC).
The archived page is available here.
TWHL only publishes archived articles from defunct websites, or with permission. For more information on TWHL's archiving efforts, please visit the TWHL Archiving Project page.

Comments

You must log in to post a comment. You can login or register a new account.