{"name":"checkVisibility","title":"checkVisibility","type":"command","url":"https://community.bistudio.com/wiki/checkVisibility","revid":377827,"updated":"2026-01-03T04:27:56Z","groups":["Math - Geometry"],"status":"ok","games":{"arma3":"1.56"},"since":"arma3 1.56","arma3_since":"1.56","description":"| Affected by | Not affected by |\n|---|---|\n| - terrain grid<br>- obstacles<br>- particles<br>  (with `blockAIVisibility = 1`) | - daylight<br>- distance<br>- overcast<br>- fog |\n\nChecks if one position is visible from another position and how much.\n\n> [!NOTE]\n> 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.","syntaxes":[{"syntax":"[ignore, LOD, ignore2] checkVisibility [beg, end]","params":[{"name":"ignore","type":"Object","description":"object to exclude from calculations","type_expr":"Object"},{"name":"LOD","type":"String","description":"level of details to use. Possible values are: `\"FIRE\"`, `\"VIEW\"`, `\"GEOM\"`, `\"IFIRE\"`, and Arma 3 v2.02 `\"PHYSX\"`","type_expr":"String"},{"name":"ignore2","type":"Object","optional":true,"default":"objNull","description":"second object to exclude from calculations","type_expr":"Object","since":"arma3 1.62","text":"ignore2: Object - (Optional, default objNull) second object to exclude from calculations"},{"name":"beg","type":"PositionASL","description":"start position","type_expr":"PositionASL"},{"name":"end","type":"PositionASL","description":"end position","type_expr":"PositionASL"}],"returns":{"type":"Number","type_expr":"Number","description":"how much end position is visible to start position in range 0..1, where 1 is fully visible."},"form":"binary","left":{"text":"[ignore, LOD, ignore2]"},"right":{"text":"[beg, end]"}}],"examples":[{"code":["private _canSee = [objNull, \"VIEW\"] checkVisibility [eyePos player, eyePos unit1];"]}],"see_also":["lineIntersectsWith","lineIntersectsSurfaces","lineIntersectsObjs","intersect","terrainIntersect","terrainIntersectASL","terrainIntersectAtASL","lineIntersects","cursorObject","cursorTarget","disableRemoteSensors"]}