OFPEC Forum

Editors Depot - Mission Editing and Scripting => OFP - Editing/Scripting General => Topic started by: Captain Winters on 07 Sep 2002, 23:34:30

Title: Shake Cam
Post by: Captain Winters on 07 Sep 2002, 23:34:30
whats the coditions for the shakecam.sqs ([?,?])

Thanks In Advance
Title: Re:Shake Cam
Post by: Bremmer on 08 Sep 2002, 01:04:03
Hello again Cpt  ;)

Getting a camera to shake is actually very similar to making it track - all you need is to vary the camera position slightly. You can do this by adding a small random component to the x,y,z positioning of the camera. The magnitude of the shake will be determined by the random factor you use (I find 0.3 about right for that hand-held camera effect) - play around with it until your happy.


;shakey_camera.sqs
;initiate with [name,x,y,z] exec "shakey_camera.sqs"
_unit = _this select 0
_x = _this select 1
_y = _this select 2
_z = _this select 3
stoptracking = false

_cam = "camera" camcreate [0,0,0]
_cam cameraeffect ["internal", "back"]
_cam camSetTarget _unit
_cam CamSetFOV 0.7
   
#loop
~0.05
_cam camSetRelPos [_x + random 0.3,_y + random 0.3,_z + random 0.3]
_cam camCommit 0
? not stoptracking : goto "loop"
_cam cameraeffect ["terminate", "back"]
camdestroy _cam
exit
Title: Re:Shake Cam
Post by: crow on 08 Sep 2002, 07:06:46
 :cheers:If it is the script from Drak try this;
use: [cameraname, shakiness] exec "shakecan.sqs"

; Shaking camera script - by Drak
; This will shake the camera, until 'endshake' becomes true

; use: [cameraname, shakiness] exec "shakecan.sqs"

_cam = _this select 0
_shakiness = _this select 1

_ox = getPos _cam select 0
_oy = getPos _cam select 1
_oz = getPos _cam select 2

endshake = 0

#shake
_rx = (random(_shakiness)) - (_shakiness / 2)
_ry = (random(_shakiness)) - (_shakiness / 2)
_rz = (random(_shakiness)) - (_shakiness / 2)
_cam camSetPos [_rx + _ox, _ry+_oy, _rz+_oz];
_cam camCommit 0
~0.05
_cam camSetPos [_ox, _oy, _oz];
_cam camCommit 0
~0.05
? (endshake==0) : goto "shake"

exit
 :cheers: