Garry's Mod Wiki

Revision Difference

util.PixelVisible#527886

<function name="PixelVisible" parent="util" type="libraryfunc"> <description>Returns the visibility of a sphere in the world.</description> <realm>Client</realm> <args> <arg name="position" type="Vector">The center of the visibility test.</arg> <arg name="radius" type="number">The radius of the sphere to check for visibility.</arg> <arg name="PixVis" type="pixelvis handle t">The PixVis handle created with <page>util.GetPixelVisibleHandle</page>. ⤶ <warning>Don't use the same handle twice per tick or it will give unpredictable results.</warning></arg>⤶ <warning>Don't use the same handle twice per tick or it will give unpredictable results.</warning>⤶ </arg>⤶ </args> <rets> <ret name="" type="number">Visibility, ranges from 0-1. 0 when none of the area is visible, 1 when all of it is visible.</ret> <ret name="" type="number">Visibility, ranges from `0-1`. `0` when none of the area is visible, `1` when all of it is visible.</ret> </rets> </function> <example> <description>Draws a box when the center of the map is visible on your screen.</description> <code> local PixVis function SetupPixVis() ⤶ hook.Add( "Initialize", "SetupPixVis", function() PixVis = util.GetPixelVisibleHandle() end⤶ hook.Add("Initialize", "SetupPixVis", SetupPixVis)⤶ end )⤶ function TestPixelVisibility() local visible = util.PixelVisible(Vector(0, 0, 0), 16, PixVis) hook.Add( "HUDPaint", "TestPixelVisibility", function() local visible = util.PixelVisible( Vector( 0, 0, 0 ), 16, PixVis ) if visible && visible != 0 then draw.RoundedBox( 10, 0, 0, 100, 100, Color(0, 0, 0, 200 * visible) ) if visible and visible ~= 0 then draw.RoundedBox( 10, 0, 0, 100, 100, Color( 0, 0, 0, 200 * visible ) ) end end⤶ hook.Add("HUDPaint", "TestPixelVisibility", TestPixelVisibility)⤶ end )⤶ </code> ⤶ </example></example>