selectionPosition: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
m (Some wiki formatting)
Line 22: Line 22:
|gr2= Render Time Scope
|gr2= Render Time Scope


|descr= Returns selection position in model space pertaining to the current animation in [[Simulation_vs_Render_Time_Scope|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.
|descr= Returns selection position in model space pertaining to the current animation in [[Simulation vs Render Time Scope|render time scope]].
{{Feature|Important|Sometimes internally "ViewGeometry" could be <nowiki>==</nowiki> "Geometry" and "FireGeometry" could be <nowiki>==</nowiki> "ViewGeometry". In order to pinpoint the actual LOD, use [[allLODs]] and [[LOD_resolutions|LOD resolution]] as argument for selecting the LOD}}
When the default syntax is used, command searches first in Memory level, then in Geometry level, FireGeometry level, LandContact level, HitPoints level and finally in ViewGeometry level and returns the first matching find.
The second syntax allows to specify which one of these levels to search in instead.
{{Feature|important|
Sometimes internally "ViewGeometry" could be equal to "Geometry", and "FireGeometry" could be equal to "ViewGeometry".
In order to pinpoint the actual LOD, use [[allLODs]] and [[LOD_resolutions|LOD resolution]] as argument for selecting the LOD.
}}


|s1= object [[selectionPosition]] selectionName
|s1= object [[selectionPosition]] selectionName
Line 39: Line 44:
|p21= object: [[Object]]
|p21= object: [[Object]]


|p22= [selectionName, LOD]: [[Array]]
|p22= selectionName: [[String]]


|p23= selectionName: [[String]]
|p23= LOD: [[String]] or [[Number]] - can be one of:
 
|p24= LOD: [[String]] - name or [[Number]] - resolution (''since Arma 3 v2.06.147638). [[String]] could be one of:
* "Memory"
* "Memory"
* "Geometry"
* "Geometry"
Line 49: Line 52:
* "LandContact"
* "LandContact"
* "HitPoints"
* "HitPoints"
* "ViewGeometry" (''since Arma 3 v2.06.147636'')
* {{GVI|arma3|2.06|size= 0.75}} "ViewGeometry"
When [[Number]] is used, command searches for a LOD with the similar [[LOD_resolutions|resolution]]
When [[Number]] is used, command searches for a LOD with the similar [[LOD resolutions|LOD resolution]]
|p23since= arma3 2.06


|r2= [[Array]] - [[Position#PositionRelative|relative position]] in model space. If selection does not exist, {{ic|[0, 0, 0]}} is returned.
|r2= [[Array]] - [[Position#PositionRelative|relative position]] in model space. If selection does not exist, {{ic|[0, 0, 0]}} is returned.
Line 58: Line 62:
|s3since= arma3 2.06
|s3since= arma3 2.06


|p41= [object, selectionName, LODIndex, isVisual]: [[Array]]
|p41= object: [[Object]]
 
|p42= object: [[Object]]


|p43= selectionName: [[String]]
|p42= selectionName: [[String]]


|p44= LODIndex: [[Number]] - the index of the target LOD (see [[allLODs]])
|p43= 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]]
|p44= isVisual: [[Boolean]] - (Optional, default [[true]]) [[true]] for Render, [[false]] for Simulation [[Simulation_vs_Render_Time_Scope|time scope]]


|r3= [[Array]] - [[Position#PositionRelative|relative position]] in model space. If selection does not exist, {{ic|[0, 0, 0]}} is returned.
|r3= [[Array]] - [[Position#PositionRelative|relative position]] in model space. If selection does not exist, {{ic|[0, 0, 0]}} is returned.
Line 81: Line 83:
}}
}}


<dl class="command_description">
{{Note
 
|user= Killzone_Kid
<dt></dt>
|timestamp= 20170625151300
<dd class="notedate">Posted on June 25, 2017 - 15:13 (UTC)</dd>
|text= Do use the filter that comes with {{HashLink|#Syntax 2}} to suit your needs. For example [[player]] has 3 selections called "head" and their [[selectionPosition]]s are quite different from each other:
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<code>[[player]] [[selectionPosition]] ["head", "Memory"]; {{cc|[0.173798,0.330415,1.37783]}}
<dd class="note">Do use the filter that comes with Alt Syntax to suit your needs. For example [[player]] has 3 selections called "head" and their [[selectionPosition]]s are quite different from each other:
[[player]] [[selectionPosition]] ["head", "FireGeometry"]; {{cc|[0.14375,0.206039,1.44689]}}
<code>[[player]] [[selectionPosition]] ["head", "Memory"]; // [0.173798,0.330415,1.37783]
[[player]] [[selectionPosition]] ["head", "HitPoints"]; {{cc|[0.144257,0.306769,1.53471]}}
[[player]] [[selectionPosition]] ["head", "FireGeometry"]; // [0.14375,0.206039,1.44689]
}}
[[player]] [[selectionPosition]] ["head", "HitPoints"]; // [0.144257,0.306769,1.53471]</code></dd>
 
</dl>

Revision as of 14:17, 25 January 2022

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 the default syntax is used, command searches first in Memory level, then in Geometry level, FireGeometry level, LandContact level, HitPoints level and finally in ViewGeometry level and returns the first matching find. The second syntax allows to specify which one of these levels to search in instead.
Sometimes internally "ViewGeometry" could be equal to "Geometry", and "FireGeometry" could be equal to "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]
Parameters:
object: Object
selectionName: String
since Arma 3 logo black.png2.06
LOD: String or Number - can be one of:
  • "Memory"
  • "Geometry"
  • "FireGeometry"
  • "LandContact"
  • "HitPoints"
  • Arma 3 logo black.png2.06 "ViewGeometry"
When Number is used, command searches for a LOD with the similar LOD 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]
Parameters:
object: Object
selectionName: String
LODIndex: Number - the index of the target LOD (see allLODs)
isVisual: Boolean - (Optional, default true) true for Render, false for Simulation time scope
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:
modelToWorld selectionNames getAllHitPointsDamage allLODs LOD 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
Killzone_Kid - c
Posted on Jun 25, 2017 - 15:13 (UTC)
Do use the filter that comes with Syntax 2 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]