Hi
I have used the Acedirctor script from the forum and it works OK. it could be extended to move the camera around further.You would need further invisible models and extra actions for them.
Here is the documentation from it, I hope its alright for me to post this as its the property of Ace. It refers to the office level which is now no longer a part of 6.4 but it should work if you are using an older version.
Now, I made this cutscene on the Office level. To test it out, you just need to place 2
invisible/passable markers in the office level, and give them the actions:
action cs_marker_gun1
{
cs_mark_gun1 = me;
}
action cs_marker_office1
{
cs_mark_office1 = me;
}
gun1 is placed near a rotating gun model that is on the hill.
office1 is placed up on a corner of the office building.
Now this is just an example, play around with the placement to see how it all runs.
Once youve placed the markers, open office.wdl and put test_cutscene(); at the end of
the main function. Then copy and past the script at the bottom of this file, into
the end of office.wdl.
Dont forget to put include <acedirector.wdl>; at the end of the other includes!
Heres what the function does. The level starts, and the screen fades out.
It fades in facing the gun from above the office, then turns to face the player.
Near the end of the turn, it flys over to the gun, while still locked on the player.
Once it reaches the gun, the screen fades out, and then fades back into the normal
player view.
The function should make sense once you see it in action. Then it should be a
snap for you to make your own cutscenes.
function test_cutscene()
{
cs_fade(2,3); // Fade screen out
while(cs_fade_stat != 2) { wait(1); } // Wait for screen to fade to black
cs_widescreen(1); // Start widescreen mode
cs_scene(1); // Start cutscene mode
cs_jump(cs_mark_office1); // Snap to point 1
cs_faceSnap(cs_mark_gun1); // Face the gun
cs_fade(1,3); // Fade screen back in
while(cs_fade_stat != 0) { wait(1); } // Wait for screen to fade in
cs_face(player,3); // pan to the player
while(cs_face_stat != 0) { wait(1); } // Wait for camera to finish facing target
cs_flyTo(cs_mark_gun1,2); // Fly to the gun
while(cs_flyTo_stat == 1) // And while flying,
{
cs_faceSnap(player); // Lock onto the player
wait(1);
}
while(cs_flyTo_stat != 0) { wait(1); } // Wait for flying to finish
cs_fade(2,3); // fade out
while(cs_fade_stat != 2) { wait(1); } // Wait for screen to fade to black
waitt(16); // Short delay, so it isnt sudden
cs_widescreen(0); // Wide mode off
cs_scene(2); // stop cutscene
cs_fade(1,3); // fade back in
}