selectionPosition: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 51: Line 51:


|r2= [[Array]] - relative position in model space. If selection does not exist, {{ic|[0, 0, 0]}} is returned.
|r2= [[Array]] - relative position in model space. If selection does not exist, {{ic|[0, 0, 0]}} is returned.
|s3= '''selectionPosition''' [object, selectionName, LODIndex, isVisual] {{Since|arma3|2.06.147648|y}}
|p41= [object, selectionName, LODIndex, isVisual]: [[Array]]
|p42= object: [[Object]]
|p43= selectionName: [[String]]
|p44= LODIndex: [[Number]] - the index of the target LOD (see [[allLODs]])
|p45= IsVisual (Optional): [[Boolean]] - [[true]] for Render, [[false]] for Simulation [[Simulation_vs_Render_Time_Scope|time scope]]. Default: [[true]]
|r3= [[Array]] - relative position in model space. If selection does not exist, {{ic|[0, 0, 0]}} is returned.


|x1= <code>_inModelPosition = [[player]] [[selectionPosition]] "head_hit";</code>
|x1= <code>_inModelPosition = [[player]] [[selectionPosition]] "head_hit";</code>

Revision as of 13:20, 21 May 2021

Hover & click on the images for description

Description

Description:
Returns selection position in model space pertaining to the current animation in render time scope. When default syntax is used, command searches first in Memory level, then in Geometry level, FireGeometry level, LandContact level, HitPoints level and finally in VewGeometry level and returns on the first matching find. The alt syntax allows to specify which one of these levels to search in instead. If a selection does not exist [0,0,0] is returned.
Sometimes internally "ViewGeometry" could be == "Geometry" and "FireGeometry" could be == "ViewGeometry". In order to pinpoint the actual LOD, use allLODs and LOD resolution as argument for selecting the LOD
Groups:
Object ManipulationRender Time Scope

Syntax 1

Syntax:
object selectionPosition selectionName
Parameters:
object: Object
selectionName: String
Return Value:
Array - relative position in model space. If selection does not exist, [0, 0, 0] is returned.

Syntax 2

Syntax:
object selectionPosition [selectionName, LOD] Template:Since
Parameters:
object: Object
[selectionName, LOD]: Array
selectionName: String
LOD: String - name or Number - resolution (since Arma 3 v2.06.147638). String could be one of:
  • "Memory"
  • "Geometry"
  • "FireGeometry"
  • "LandContact"
  • "HitPoints"
  • "ViewGeometry" (since Arma 3 v2.06.147636)
When Number is used, command searches for a LOD with the similar resolution
Return Value:
Array - relative position in model space. If selection does not exist, [0, 0, 0] is returned.

Syntax 3

Syntax:
selectionPosition [object, selectionName, LODIndex, isVisual] Template:Since
Parameters:
[object, selectionName, LODIndex, isVisual]: Array
object: Object
selectionName: String
LODIndex: Number - the index of the target LOD (see allLODs)
IsVisual (Optional): Boolean - true for Render, false for Simulation time scope. Default: true
Return Value:
Array - relative position in model space. If selection does not exist, [0, 0, 0] is returned.

Examples

Example 1:
_inModelPosition = player selectionPosition "head_hit";
Example 2:
_inModelPosition = player selectionPosition "pelvis";
Example 3:
_inModelPosition = player selectionPosition "head";
Example 4:
_inModelPosition = player selectionPosition "camera";

Additional Information

See also:
modelToWorldselectionNamesgetAllHitPointsDamageallLODsLOD resolutions

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 June 25, 2017 - 15:13 (UTC)
Killzone Kid
Do use the filter that comes with Alt Syntax to suit your needs. For example player has 3 selections called "head" and their selectionPositions are quite different from each other: player selectionPosition ["head", "Memory"]; // [0.173798,0.330415,1.37783] player selectionPosition ["head", "FireGeometry"]; // [0.14375,0.206039,1.44689] player selectionPosition ["head", "HitPoints"]; // [0.144257,0.306769,1.53471]