setVelocityTransformation: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(note added)
m (code fix)
Line 60: Line 60:
   _tempTime = _tempTime + _fps;
   _tempTime = _tempTime + _fps;
   [[if]] (_tempTime >= _startTrackingTime) [[then]] {
   [[if]] (_tempTime >= _startTrackingTime) [[then]] {
         _dataOld = _capturedData [[select]] _step0;
         _dataOld = _capturedData [[select]] _stepOld;
_dataNext = _capturedData [[select]] _step1;
_dataNext = _capturedData [[select]] _stepNext;
_stepOld = _stepOld + 1;
_stepOld = _stepOld + 1;
_stepNext = [[if]] (_stepNext >= ([[count]] _capturedData)) [[then]] [{_step0},{_step1 + 1}];
_stepNext = [[if]] (_stepNext >= ([[count]] _capturedData)) [[then]] [{_stepOld},{_stepNext + 1}];
_tracker [[setVelocityTransformation]]  
_tracker [[setVelocityTransformation]]  
[_dataOld [[select]] 0,_dataNext [[select]] 0,_dataOld [[select]] 1,_dataNext [[select]] 1,
[_dataOld [[select]] 0,_dataNext [[select]] 0,_dataOld [[select]] 1,_dataNext [[select]] 1,

Revision as of 13:23, 6 August 2014

Hover & click on the images for description

Description

Description:
Interpolate and sets vectors. For additional info see this resource.
Groups:
Uncategorised

Syntax

Syntax:
objectName setVelocityTransformation [position1, position2, velocity1, velocity2, direction1, direction2, up1, up2, time]
Parameters:
objectName: Object
position1: Number
position2: Number
velocity1: Number
velocity2: Number
direction1: Number
direction2: Number
up1: Number
up2: Number
time: Number
Return Value:
Nothing

Examples

Example 1:
_tracker setVelocityTransformation [ getPosASL _currentPos, getPosASL _nextPos, velocity _currentVelocity, velocity _nextVelocity, vectorDir _currentVectorDir, vectorDir _nextVectorDir, vectorUp _currentVectorUp, vectorUp _nextVectorUp, _timeDiff ];

Additional Information

See also:
velocity, velocityModelSpace, setVelocity

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Posted on Aug 4, 2014 – 12:35
ffur2007slx2_5
(A3 1.24) Generally speaking setVelocityTransformation is more likely a combination of setPosASL, setVectorDirAndUp (or BIS_fnc_setPitchBank) and time multiplier. It can be used as a position tracker with all necessary information collected, copied and then released within one function. Here’s a simple reproduction on how setVelocityTransformation works in game: private ["_dataOld","_dataNext","_capturedData","_obj","_fps","_startTrackingTime","_stepOld","_stepNext","_tracker","_tempTime"]; _stepOld = 0; _tempTime = 0; _stepNext = 1; while {true} do { _capturedData = _capturedData + [[ getPosASL _obj,velocity _obj,vectorDir _obj,vectorUp _obj]]; sleep _fps; _tempTime = _tempTime + _fps; if (_tempTime >= _startTrackingTime) then { _dataOld = _capturedData select _stepOld; _dataNext = _capturedData select _stepNext; _stepOld = _stepOld + 1; _stepNext = if (_stepNext >= (count _capturedData)) then [{_stepOld},{_stepNext + 1}]; _tracker setVelocityTransformation [_dataOld select 0,_dataNext select 0,_dataOld select 1,_dataNext select 1, _dataOld select 2,_dataNext select 2,_dataOld select 3,_dataNext select 3,1]; }; }; Tracker starts coping the route and stance from the object when time start counting. TimeDiff determines the distance multiply between the current position and the next position.

Bottom Section