Script intro
you believe we happened for a reason fibromyalgia plastic pants access multiple criteria security job listing teen smoking rates map action busses timetable painting mfa fabric shower curtain motorola razor cell phone florida beaches public usenet news servers air asbestos cause pollution stock quotes for wal mart active control flow gas turbine v drive parts interpretacao sonhos nato intelligence music software 2007 toyota camry self storage hollywood replica designer handbags lortab prescription sofia vergar warcraft pergola designs kid listen time discount tire et fr futuna wallis datin pen scanners wedding ring armani watch president bush iraq speeches maine county song probation violation sentencing canon printers hardware free dates iceberg records private schools traders general car insurance surf runner radio mitchells bay ontario wholesale cellular phone covers estate houston industrial real mac network games oesophageal cancer symptom tivo faqs young angelina jolie pics www viagra canada motorcycle trailers motivation case studies california state tax average variable cost formula so help me god book 5 dallas in nbc nostra montreal quebec canada better business bureau samsung e315 san diego 211 walmart customer service phone number chadwicks 2004 auto shows homepage coin value top ten mortgage company with out me video aquarium screensaver advance australia fair wood real estate auto gate motor imaging programs t mobile eva air unique wedding invitation 2005 cadillac picture url software for cnc international travel systems t mobile to go phone formal evening dress example of arrays permutation groups oil is christopher reeves dead cheap replica watch anon list proxy metro gun club mn island map philippine street the freedom to marry home index los angeles jewelers one safe place media corp rugby conditioning indias hottest girls page tv message boards Template:Wrongtitle
Entity description
The script_intro entity is a singleplayer only entity that is used extensively in the intro sequence for Half-Life 2. It makes use of DirectX's buffer blending capabilities to overlay a second camera onto the main camera, i.e., the player's view, and to blend between the two views using various effects. This is also useful for doing traditional A-B camera exposition sequences.
Some of the possible uses for this entity include hallucination effects, and dream sequences, traditional A-B camera work for machinima, and so on.
The main issue with understanding this entity is the workflow isn't the same as other entities, in that it's highly time based. You don't just set keys and it works, but rather you'll have to trigger it at intervals using inputs, so a good working knowledge of Source's entity I/O system is required.
Using script_intro
There's only one key that you have to deal with on this entity, and that's it's targetname. Once you have a name to refer to the entity by, all the work is done by sending it inputs. First thing that you have to do to use script_intro is to send in an Activate input. This will (I believe) initialize the secondary framebuffer it uses.
There are several inputs you have to send to 'initialize' the entity, before it functions the way you expect it to. Each will be explained. They are SetCameraViewEntity, FadeTo, SetNextBlendMode, and SetNextBlendTime.
Start by sending the SetCameraViewEntity input, with the name of the point_camera entity that you'll be using as the second view as a parameter. Remember, the player's viewpoint is the first camera, so in traditional film terms, the player is the A camera, and the point_camera that script_intro is using is the B camera. You'll send further inputs to script_intro to control blending between the A and B cameras.
You'll use the FadeTo value to tell the second camera what Alpha value it should display at. This is what controls how transparent the camera will be when it's overlayed over the first view. You use the input by sending a parameter with it with two values separated by a space. The first value is an integer with a range of 0-255, where 255 is completely opaque, and 0 is completely transparent. The second value is a number in seconds, that the fade will occur over. Next you'll want to use the SetNextBlendMode and SetNextBlendTime to accompish effects. SetNextBlendMode with a parameter of '6' is the most natural of blend modes. It will produce a straight fade between the two cameras. The other blend modes will produce special effects, such as the black and white and inversion effects seen in HL2's intro. Send a SetNextBlendMode input with a integer parameter of 0 through 6, each produces a different effect. This sets up the blend; you next send an input of SetNextBlendTime to execute the blend, with a parameter that equals the time value that you want the blend effect to occur over, in seconds. The blend mode will cause the camera to change effects when executed; so it will blend from one effect to the next.
Of note, the FadeTo input is used hackishly in the intro sequence to fadeout the player's view. This is because the env_fade entity can't be iterated, i.e. you can't have two env_fades, and fade from one to the other.
Blend modes
This is an incomplete list of the apparent function of the blend modes. These can be set in the entity by sending it a SetNextBlendMode and SetNextBlendTime or just SetBlendMode.
values:
1: Inverted Black & White with levels. This appears to map the screenbuffer to grayscale, invert the colors, and apply some sort of posterize filter.
2: Black As far as I can tell, this blanks both primary and secondary screen buffers.
3: Black & White Blend This maps the screenbuffers to grayscale, and blends between them.
4: A cam is normal, B is black This appears to blank the secondary screenbuffer, and leaves the primary unaffected.
5: B cam is normal, A is black This is the reverse of 4.
6: Normal mix, Overlay This appears to be the most straightforward mix between the two screenbuffers, applying a straight blend.
Keyvalues
- If set, the script will match env_zoom's FOV transition.
Inputs
- Activate
- Take control of the player's view and start blending the two scenes.
- Deactivate
- Stop controlling the view.
- SetCameraViewEntity <target_destination>
- Set the viewpoint to blend with the player's viewpoint.
- FadeTo <string>
- Fade to a specific alpha amount over a specified amount of time.
- Format:
<alpha> <duration>
- SetFadeColor ⇆#000000rgb(0,0,0)⇆
- Set the fade color.
- SetBlendMode <integer>
- Set the blending mode to use.
- SetNextBlendMode <integer>
- Set the blending mode to blend to over time. Follow this with a SetNextBlendTime input to start the mode blend.
- SetNextBlendTime <float>
- Set the amount of time it should take to blend to the next mode, and start blending.
- SetFOV <integer>
- Set the fov for the second camera.
- SetNextFOV <integer>
- Set the FOV to blend to over time. Follow this with a SetFOVBlendTime input to start the fov blend.
- SetFOVBlendTime <float>
- Set the amount of time it should take to blend to the next fov target, and start blending.