checkVisibility: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "|size=0.75" to "|size= 0.75")
(Fix description)
Line 6: Line 6:
|gr1= Math - Geometry
|gr1= Math - Geometry


|descr= Checks if one position is visible from another position and how much.
|descr= {{{!}} class="wikitable float-right"
The results can be affected by [[getTerrainGrid]] value, especially if position is near the ground.
! Affected by
Particle effects such as smoke can also affect the results.
! Not affected by
{{!}}-
{{!}}
* [[getTerrainGrid|terrain grid]]
* obstacles
* particles<br><span style="font-size: .9em">(with <syntaxhighlight lang="cpp" inline>blockAIVisibility = 1</syntaxhighlight>)</span>
{{!}}
* [[time|daylight]]
* [[distance]]
* [[overcast]]
* [[fog]]
{{!}}}
Checks if one position is visible from another position and how much.
 
{{Feature|informative|Particles that have {{hl|blockAIVisibility}} set to 1 will influence the result, but will never make [[checkVisibility]] return 0; an extremely small number will be returned instead.}}


|s1= [ignore, LOD, ignore2] [[checkVisibility]] [beg, end]
|s1= [ignore, LOD, ignore2] [[checkVisibility]] [beg, end]
Line 28: Line 42:


|seealso= [[lineIntersectsWith]] [[lineIntersectsSurfaces]] [[lineIntersectsObjs]] [[intersect]] [[terrainIntersect]] [[terrainIntersectASL]] [[terrainIntersectAtASL]] [[lineIntersects]] [[cursorObject]] [[cursorTarget]] [[disableRemoteSensors]]
|seealso= [[lineIntersectsWith]] [[lineIntersectsSurfaces]] [[lineIntersectsObjs]] [[intersect]] [[terrainIntersect]] [[terrainIntersectASL]] [[terrainIntersectAtASL]] [[lineIntersects]] [[cursorObject]] [[cursorTarget]] [[disableRemoteSensors]]
}}
{{Note
|user= BaerMitUmlaut
|timestamp= 20160808223800
|text= Particles that have blockAIVisibility set to 1 will influence the result, but will not make [[checkVisibility]] return 0. Instead an extremly small number will be returned.<br>
Distance, fog, overcast, rain and nighttime have no effect on the result.
}}
}}

Revision as of 13:08, 10 April 2023

Hover & click on the images for description

Description

Description:
Affected by Not affected by
  • terrain grid
  • obstacles
  • particles
    (with blockAIVisibility = 1)

Checks if one position is visible from another position and how much.

Particles that have blockAIVisibility set to 1 will influence the result, but will never make checkVisibility return 0; an extremely small number will be returned instead.
Groups:
Math - Geometry

Syntax

Syntax:
[ignore, LOD, ignore2] checkVisibility [beg, end]
Parameters:
ignore: Object - object to exclude from calculations
LOD: String - level of details to use. Possible values are: "FIRE", "VIEW", "GEOM", "IFIRE", and Arma 3 logo black.png2.02 "PHYSX"
since Arma 3 logo black.png1.62
ignore2: Object - (Optional, default objNull) second object to exclude from calculations
beg: Array - start position in format PositionASL
end: Array - end position in format PositionASL
Return Value:
Number - how much end position is visible to start position in range 0..1, where 1 is fully visible.

Examples

Example 1:
private _canSee = [objNull, "VIEW"] checkVisibility [eyePos player, eyePos unit1];

Additional Information

See also:
lineIntersectsWith lineIntersectsSurfaces lineIntersectsObjs intersect terrainIntersect terrainIntersectASL terrainIntersectAtASL lineIntersects cursorObject cursorTarget disableRemoteSensors

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