real time cutscenes

Blitz3D Forums/Blitz3D Programming/real time cutscenes

skyfire1(Posted 2005) [#1]
how do you make real time cutscenes using the blitz3d's renderer?


BlackD(Posted 2005) [#2]
Write a scripting engine for your scene, to automate camera movement, zoom, model placement, etc. Then write a script for your cut-scene and make the map, models, etc.

Then put it all together? What exactly do you want to do? It's a pretty broad question you're asking. :)

+BlackD


skyfire1(Posted 2005) [#3]
i want to be able to make a cutscene that can be viewed from alternative camera angles.


jfk EO-11110(Posted 2005) [#4]
I think the easiest way is to control all actors manually then record your actions, then replay them parallely. Finally the user may control the camera while the actors/objects replay the recorderd actions. I'd suggest to use t fixed framerate to keep things simple, eg. 30 fps.


skyfire1(Posted 2005) [#5]
okay, thanks.


Naughty Alien(Posted 2005) [#6]
this is the one simple way...you can add walk/record waypoints if you want to...if you dont have time, or just dont want to waste time, I'll give you already done waypoints system..anyway, here is small, simple example..


;Small changes added by me


Graphics3D 800,600
SetBuffer BackBuffer()
Global a#,b#,c#
Global tackica
Global cam = CreateCamera()

Global cam_piv = CreatePivot()

Global waypoint_number = 1

light = CreateLight()

Restore startdata

Type waypoint
Field x#
Field y#
Field z#
Field ent
Field num
End Type


Global no_of_waypoints = 72 ; number of way points you want
For loop = 1 To no_of_waypoints ; set up waypoints
w.waypoint = New waypoint
Read wax#
Read way#
Read waz#
w\x = wax#
w\y = way#
w\z = waz#

w\ent = CreateSphere()
PositionEntity w\ent,w\x,w\y,w\z
EntityColor w\ent,200,200,200
w\num = loop
Next

tackica=CreatePivot()

While Not KeyHit(1)



update_waypoints() ; call the function to update the cameras position
UpdateWorld
RenderWorld
Text 0,0,waypoint_number
Flip

Wend
End

Function update_waypoints()
For w.waypoint = Each waypoint

If waypoint_number = w\num Then ; if the waypoint number in the type object is the same as the current waypoint then continue
PointEntity cam_piv,w\ent ; point the camera pivot at the waypoint
MoveEntity cam_piv,0,0,0.1 ; move the camera pivot at a speed. increase for faster tracking

PointEntity cam,cam_piv ; point the camera at the camera pivot
MoveEntity cam,0,0,EntityDistance#(cam,cam_piv)/40 ; move the camera based on the distance between the camera pivot and the camera

If EntityDistance#(cam_piv,w\ent)<1 Then ; if the camera pivot gets close to a waypoint, move it onto the next waypoint
waypoint_number = waypoint_number + 1
If waypoint_number > no_of_waypoints Then waypoint_number = 1
End If
End If

Next
End Function




.startdata
Data 19.32,3.00,12.81
Data 0.07,3.00,-69.00
Data 66.00,3.00,-109.30
Data 74.30,3.00,-97.60
Data 73.10,3.00,-43.00
Data 88.50,3.00,-34.20
Data 88.90,3.00,-19.30
Data 65.00,3.00,-15.80
Data 71.40,3.00,-26.04
Data 88.80,3.00,-14.60
Data 89.19,3.00,-79.30
Data 84.50,3.00,-77.03
Data 89.33,3.00,-45.20
Data 77.96,3.00,-39.02
Data 71.28,3.00,-67.30
Data -19.82,3.00,-94.39
Data -19.41,3.00,-78.92
Data 37.67,3.00,-65.59
Data 37.69,14.02,-33.40
Data 63.67,21.34,-35.94
Data 59.86,21.34,-47.38
Data 24.34,31.00,-47.02
Data -0.48,31.00,-85.08
Data 5.27,31.00,-91.62
Data 39.53,31.00,-67.05
Data 70.08,31.00,-112.27
Data 38.20,31.00,-69.32
Data 72.82,31.00,-73.96
Data 85.12,31.00,-63.25
Data 7.39,31.00,-83.77
Data 24.44,31.00,-9.08
Data 57.48,31.00,1.01
Data 51.48,31.00,4.76
Data -1.48,31.00,-31.76
Data 39.35,31.00,-33.01
Data 62.90,38.88,-32.90
Data 64.98,38.88,-46.35
Data 36.05,48.90,-42.81
Data 63.76,57.52,-33.89
Data 36.75,68.53,-46.11
Data -12.10,69.00,13.63
Data 21.93,69.00,-117.77
Data 72.95,69.00,-114.43
Data 77.63,69.00,-84.60
Data 71.52,69.00,-61.39
Data 89.25,69.00,-13.80
Data 79.99,69.00,-18.44
Data 71.07,69.00,-54.03
Data 38.41,69.00,-89.84
Data 24.69,69.00,-51.76
Data 25.64,69.00,-12.67
Data 86.43,69.00,6.64
Data -10.58,69.00,13.00
Data 38.94,69.00,-46.49
Data 65.85,57.52,-45.00
Data 61.60,57.52,-29.21
Data 35.28,48.90,-40.80
Data 65.82,38.88,-47.30
Data 63.38,38.88,-33.93
Data 22.60,31.00,-35.19
Data 39.96,31.00,-47.75
Data 66.12,21.34,-47.68
Data 62.82,21.34,-29.65
Data 39.19,14.02,-32.80
Data 34.60,3.00,-75.19
Data 10.09,3.00,-94.12
Data -3.69,3.00,-80.31
Data 8.33,3.00,0.53
Data 45.38,3.00,8.83
Data 48.05,3.00,15.12
Data 38.88,3.00,18.14
Data 19.32,3.00,12.81