modelToWorld: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "PositionAGL" to "PositionAGL")
m (Text replacement - "PositionRelative" to "PositionRelative")
Line 29: Line 29:
|p1= model: [[Object]]
|p1= model: [[Object]]


|p2= position: [[Position]] - [x,y,z] offset relative to the model centre, format [[PositionRelative]]
|p2= position: [[Position]] - [x,y,z] offset relative to the model centre, format [[Position#PositionRelative|PositionRelative]]


|r1= [[Array]] - translated world position, format [[Position#PositionAGL|PositionAGL]]
|r1= [[Array]] - translated world position, format [[Position#PositionAGL|PositionAGL]]

Revision as of 17:04, 5 January 2022

Hover & click on the images for description

Description

Description:
Translates relative position from object model space into world position.
This command will take into account vectorUp of the object when calculating relative coordinates. For ASL version see modelToWorldWorld
For scaled objects, the relative position will first be multiplied by the object scale.
For example, if the object scale is 2, _obj modelToWorld [0,1,0] will be offset 2 meters from the model center ([0,0,0]).
Groups:
Positions

Syntax

Syntax:
model modelToWorld position
Parameters:
model: Object
position: Position - [x,y,z] offset relative to the model centre, format PositionRelative
Return Value:
Array - translated world position, format PositionAGL

Examples

Example 1:
_aboveAndBehindPlayer = player modelToWorld [0,-1,3];

Additional Information

See also:
vectorModelToWorldmodelToWorldVisualworldToModelmodelToWorldWorldmodelToWorldVisualWorldselectionPosition

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
Posted on 16 Feb, 2007
Dr_Eyeball
The worldPos parameter appears to be a relative offset to the position of object, so it can often simply be [0,0,0].
Example: to position an object _obj relative to the position of another object _relObj with on offset of _offset, try: _offset = [_x,_y,_z]; _worldPos = _relObj modelToWorld _offset; _obj setPos _worldPos;
Posted on 16 Feb, 2007
Manny
The object model space has got its Z-Axis along the object's vectorUp, its Y-Axis along the object's vectorDir, while its X-Axis goes along vectorDir x VectorUp (meaning as the X-Axis in a right-handed cartesian coordiante system).
Posted on 8 May, 2008
Dr_Eyeball
If your object requires a new direction, ensure you call setDir prior to setPos when using modelToWorld. Calling setDir afterwards will skew its position otherwise. _ladder setDir _angle; _ladder setPos (_building modelToWorld [_x, _y, _z]);
Posted on 6 Feb, 2011
Hduregger
The z height returned changes dynamically with the height of waves beneath the object, if the object is located over sea. The z height returned by getPosATL and getPosASL does not change like this. This was tested by continuously retrieving the position of a static object, like the cross in the empty/corpses category, placed over sea or land. modelToWorld behaves similar to getPos but it does not give the same result, therefore _obj modelToWorld [0.0, 0.0, 0.0] is not the same as getPos _obj.