selectionPosition: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) No edit summary |
(Add selectionVectorDirAndUp to see also) |
||
(33 intermediate revisions by 4 users not shown) | |||
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 [[ | |descr= Returns selection position in model space pertaining to the current animation in [[Simulation vs Render Time Scope|render time scope]]. | ||
When the default syntax is used, command searches first in Memory [[LOD]], then in Geometry LOD, FireGeometry LOD, LandContact LOD, HitPoints LOD and finally in ViewGeometry LOD and returns the first matching find. | |||
The second syntax allows to specify which one of these LODs 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 | |s1= object [[selectionPosition]] selectionName | ||
|p1= object: [[Object]] | |p1= object: [[Object]] | ||
Line 30: | Line 36: | ||
|p2= selectionName: [[String]] | |p2= selectionName: [[String]] | ||
|r1= [[Array]] - relative position in model space. If selection does not exist, | |r1= [[Array]] - [[Position#PositionRelative|relative position]] in model space. If selection does not exist, [0, 0, 0] is returned. | ||
|s2= object [[selectionPosition]] [selectionName, LOD, returnMode] | |||
| | |s2since= arma3 1.50 | ||
|p21= object: [[Object]] | |p21= object: [[Object]] | ||
|p22= [ | |p22= selectionName: [[String]] | ||
|p23= LOD: [[String]] or [[Number]] - can be one of: | |||
* {{hl|"Memory"}} | |||
* {{hl|"Geometry"}} | |||
* {{hl|"FireGeometry"}} | |||
* {{hl|"LandContact"}} | |||
* {{hl|"HitPoints"}} | |||
* {{GVI|arma3|2.06|size= 0.75}} {{hl|"ViewGeometry"}} | |||
When [[Number]] is used, command searches for a LOD with the similar [[LOD resolutions|LOD resolution]] | |||
|p23since= arma3 2.06 | |||
|p24= returnMode: [[String]] - (Optional, default {{hl|"FirstPoint"}}) can be one of: | |||
* {{hl|"FirstPoint"}} | |||
* {{hl|"AveragePoint"}} | |||
* {{hl|"BoundingBox"}} | |||
|p24since= arma3 2.08 | |||
|r2= [[Array]] - [[Position#PositionRelative|relative position]] in model space. If selection does not exist, [0, 0, 0] is returned. If returnMode is {{hl|"BoundingBox"}}, [[Array]] of [[Array]]s | |||
|s3= [[selectionPosition]] [object, selectionName, LODIndex, isVisual, returnMode] | |||
| | |s3since= arma3 2.06 | ||
| | |p41= object: [[Object]] | ||
| | |p42= selectionName: [[String]] | ||
| | |p43= LODIndex: [[Number]] - the index of the target LOD (see [[allLODs]]) | ||
| | |p44= isVisual: [[Boolean]] - (Optional, default [[true]]) [[true]] for Render, [[false]] for Simulation [[Simulation_vs_Render_Time_Scope|time scope]] | ||
| | |p45= returnMode: [[String]] - (Optional, default {{hl|"FirstPoint"}}) can be one of: | ||
* {{hl|"FirstPoint"}} | |||
* {{hl|"AveragePoint"}} | |||
* {{hl|"BoundingBox"}} | |||
| | |p45since= arma3 2.08 | ||
|seealso= [[modelToWorld]] | |r3= [[Array]] - [[Position#PositionRelative|relative position]] in model space. If selection does not exist, [0, 0, 0] is returned. If returnMode is {{hl|"BoundingBox"}}, [[Array]] of [[Array]]s | ||
|x1= <sqf>_inModelPosition = player selectionPosition "head_hit";</sqf> | |||
|x2= <sqf>_inModelPosition = player selectionPosition "pelvis";</sqf> | |||
|x3= <sqf>_inModelPosition = player selectionPosition "head";</sqf> | |||
|x4= <sqf>_inModelPosition = player selectionPosition "camera";</sqf> | |||
|x5= <sqf> | |||
stomper selectionPosition ["wheel_1_1", "HitPoints", "FirstPoint"]; // [-0.774058,0.860854,-1.40365] | |||
stomper selectionPosition ["wheel_1_1", "HitPoints", "AveragePoint"]; // [-0.597142,1.35486,-1.58345] | |||
stomper selectionPosition ["wheel_1_1", "HitPoints", "BoundingBox"]; // [[-0.774058,0.860854,-2.07746],[-0.420225,1.84887,-1.08944]] | |||
</sqf> | |||
|seealso= [[selectionVectorDirAndUp]] [[modelToWorld]] [[selectionNames]] [[getAllHitPointsDamage]] [[allLODs]] [[LOD resolutions]] | |||
}} | }} | ||
{{Note | |||
|user= Killzone_Kid | |||
|timestamp= 20170625151300 | |||
|text= Do use the filter that comes with {{Link|#Syntax 2}} to suit your needs. For example [[player]] has 3 selections called "head" and their [[selectionPosition]]s are quite different from each other: | |||
<sqf> | |||
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] | |||
</sqf> | |||
}} |
Latest revision as of 20:46, 16 August 2023
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 LOD, then in Geometry LOD, FireGeometry LOD, LandContact LOD, HitPoints LOD and finally in ViewGeometry LOD and returns the first matching find. The second syntax allows to specify which one of these LODs to search in instead.
- 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, returnMode]
- Parameters:
- object: Object
- selectionName: String
- since 2.06
- LOD: String or Number - can be one of:
- "Memory"
- "Geometry"
- "FireGeometry"
- "LandContact"
- "HitPoints"
- 2.06 "ViewGeometry"
- since 2.08
- returnMode: String - (Optional, default "FirstPoint") can be one of:
- "FirstPoint"
- "AveragePoint"
- "BoundingBox"
- Return Value:
- Array - relative position in model space. If selection does not exist, [0, 0, 0] is returned. If returnMode is "BoundingBox", Array of Arrays
Syntax 3
- Syntax:
- selectionPosition [object, selectionName, LODIndex, isVisual, returnMode]
- 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
- since 2.08
- returnMode: String - (Optional, default "FirstPoint") can be one of:
- "FirstPoint"
- "AveragePoint"
- "BoundingBox"
- Return Value:
- Array - relative position in model space. If selection does not exist, [0, 0, 0] is returned. If returnMode is "BoundingBox", Array of Arrays
Examples
- Example 1:
- Example 2:
- Example 3:
- Example 4:
- Example 5:
- stomper selectionPosition ["wheel_1_1", "HitPoints", "FirstPoint"]; // [-0.774058,0.860854,-1.40365] stomper selectionPosition ["wheel_1_1", "HitPoints", "AveragePoint"]; // [-0.597142,1.35486,-1.58345] stomper selectionPosition ["wheel_1_1", "HitPoints", "BoundingBox"]; // [[-0.774058,0.860854,-2.07746],[-0.420225,1.84887,-1.08944]]
Additional Information
- See also:
- selectionVectorDirAndUp 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
- 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:
Categories:
- Scripting Commands
- Introduced with Armed Assault version 1.00
- ArmA: Armed Assault: New Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Object Manipulation
- Command Group: Render Time Scope