• Welcome to Freedom Reborn Archive.
 

Stutter Functions

Started by Conduit, April 14, 2007, 12:42:30 PM

Previous topic - Next topic

Conduit

Over the course of the Matrix Mod Reloaded's development, I made and used several new functions I've termed stutter functions.  They all follow the same principle, that of making slight changes to something many times a second, so that it appears to be a gradual change.  The Stutter module comes with the Matrix Mod Reloaded, or you can download it by itself here.  It requires the missionobjvar module to work.

It contains the following functions:

Object_StutterMove: Moves an object to a given position and heading.  You can set either the time it takes to get there or the speed it moves.

Object_Sutter_Track: Makes an object track another object.  That is, makes it stay in the same position as the other object.  Positional and heading offsets can also be set.  These offsets can be gradually changed using the Object_Stutter_Track_Change function, which is very similar to Object_Stutter_Move.

Camera_Stutter_Track: Makes the camera track an object.  Unlike the ingame function to do this, this allows you set the camera to any viewpoint.  It also allows you to track the object's heading and set positional and heading offsets.  It also can be changed with the Camera_Stutter_Track_Change function.  Among other things, that function allows you make the camera look up and down.

Mission_Sunlight_Shift: Gradually changes the sunlight values.

Mission_Shadows_Shift: Gradually changes the shadow values.

Some example uses:

Phasing-

The stutter moving functions will move an object directly to the destination, through anything that is in the way.  In the Matrix Mod Reloaded, I used 3 different methods to simulate the Twins' phasing abilities.

1. This is probably the most likely to be used in some FFX phasing attribute.  I made the Twins turn to the destination, then destroyed them, spawned an invisible object in their place, played an appropriate effect on that and used Object_StutterMove to move it to the destination.

2. During the freeway mission, when one of the Twins phases out of their car and moves to the player's, I had a 'leader' character in a wide open space a good distance away from the freeway area.  I stutter tracked an invisible object to the leader with the offsets so that it was in the freeway area, and played an appropriate effect on the object.  I also stutter tracked a target object to the player car with offsets opposite to that of the proxy object.  Then I added a kill goal to the leader character to attack the target object.

3. When the Twin is defeated and goes back to their car, I stutter tracked an invisible proxy object to the Twins' car, with the offsets set so it was in the same position as the player's car.  Then I used Object_Stutter_Track_Change to move it back to the Twins' car.

In all cases, the effect I used was a copy of the Twin character.nif with the 'fly' animation added to it using NifSkope, a rather tedious process.  The character.nif of the character should work in a pinch, though it would look weird.

Vehicles-

The movement of some vehicles may be best simulated by the stutter moving functions.  They are used to move the hoverships in the Matrix Mod Reloaded.

Passengers-

In the Freeway mission, I created skins for the tiggot character that had the same portraits as Morpheus and the Keymaker, then stutter tracked them to the player car.  Their portraits appeared in the lower left corner of the screen, and if the player double clicked on the portrait, the camera would go to the car.  It may be possible to get the same effect by simply making the character invisible.

Lunarman

wow, that is totally awesome. It's a bit above my head but the effects it can create are awesome. Well done!