https://wiki.beyondunreal.com/w/index.php?action=history&feed=atom Trace - Revision history 2017-11-17T22:47:44Z Revision history for this page on the wiki MediaWiki 1.25.1 https://wiki.beyondunreal.com/Trace?diff=46319&oldid=prev SeriousBarbie: +function result 2016-03-26T01:48:25Z <p>+function result</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 01:48, 26 March 2016</td> </tr><tr><td colspan="2" class="diff-lineno" id="L12" >Line 12:</td> <td colspan="2" class="diff-lineno">Line 12:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===FastTrace===</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===FastTrace===</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>This function checks only against BSP, Movers and &lt;tt&gt;bWorldGeometry&lt;/tt&gt;<del class="diffchange diffchange-inline">. It only </del>returns <del class="diffchange diffchange-inline">whether there was </del>a hit <del class="diffchange diffchange-inline">or not</del>, but does not provide any information about the hit whatsoever. As the name suggests, this is likely the fastest way to perform a trace, but you are limited in the tracing targets.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>This function checks only against BSP, Movers and &lt;tt&gt;bWorldGeometry&lt;/tt&gt; <ins class="diffchange diffchange-inline">and </ins>returns <ins class="diffchange diffchange-inline">''false'' if </ins>a hit <ins class="diffchange diffchange-inline">is detected</ins>, but does not provide any information about the hit whatsoever. As the name suggests, this is likely the fastest way to perform a trace, but you are limited in the tracing targets.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===TraceActors===</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===TraceActors===</div></td></tr> </table> SeriousBarbie https://wiki.beyondunreal.com/Trace?diff=46318&oldid=prev SeriousBarbie: spell fix 2016-03-17T16:42:22Z <p>spell fix</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 16:42, 17 March 2016</td> </tr><tr><td colspan="2" class="diff-lineno" id="L25" >Line 25:</td> <td colspan="2" class="diff-lineno">Line 25:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If the above functions do not satisfy your needs, there are also other ways to probe for collisions along a certain path.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If the above functions do not satisfy your needs, there are also other ways to probe for collisions along a certain path.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>If everything else fails, you can always spawn an actor with the collision settings you need <del class="diffchange diffchange-inline">an </del>move it along the path you want to trace. You can use its Touch or HitWall events to collect any hits it encounters. To move it along a particular path, you can set up its Velocity and/or Acceleration and then call the '''AutonomousPhysics''' function to have the actor perform its configured physics as if the specified amount of game time passed. Alternatively you can use the '''Move''' function to specify a location offset to move the actor along, but Touch/Untouch notification may not be useful other than signaling that there was a collision.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>If everything else fails, you can always spawn an actor with the collision settings you need <ins class="diffchange diffchange-inline">and </ins>move it along the path you want to trace. You can use its Touch or HitWall events to collect any hits it encounters. To move it along a particular path, you can set up its Velocity and/or Acceleration and then call the '''AutonomousPhysics''' function to have the actor perform its configured physics as if the specified amount of game time passed. Alternatively you can use the '''Move''' function to specify a location offset to move the actor along, but Touch/Untouch notification may not be useful other than signaling that there was a collision.</div></td></tr> </table> SeriousBarbie https://wiki.beyondunreal.com/Trace?diff=46317&oldid=prev Wormbo: Created page with "A '''trace''' is a line check against relevant collision primitives of actors in the level. {{stub}} Category:Programming articles ==Tracing functions== The engine provid..." 2016-03-15T20:13:37Z <p>Created page with &quot;A &#039;&#039;&#039;trace&#039;&#039;&#039; is a line check against relevant collision primitives of actors in the level. {{stub}} <a href="/Category:Programming_articles" title="Category:Programming articles">Category:Programming articles</a> ==Tracing functions== The engine provid...&quot;</p> <p><b>New page</b></p><div>A '''trace''' is a line check against relevant collision primitives of actors in the level.<br /> {{stub}}<br /> [[Category:Programming articles]]<br /> <br /> ==Tracing functions==<br /> The engine provides multiple ways to perform line checks. Additionally it perfoms line checks internally when moving actors.<br /> <br /> ===Trace===<br /> The most obvious choice. The '''Trace''' function performs a line check from a start location to an end location and returns the actor hit closest to the start location. Internally it still needs to find all hits and sort them by distance from the start to find the first hit.<br /> <br /> You can pick whether you want to trace for only world geometry (BSP, movers, anything marked as &lt;tt&gt;bWorldGeometry&lt;/tt&gt;) or all actors a projectile could hit (world geometry and any colliding actors that have &lt;tt&gt;bProjTarget&lt;/tt&gt; or &lt;tt&gt;bBlockActors&lt;/tt&gt;). Certain special cases, like tracing WaterVolumes or limiting trace results to only Pawns, can be enabled via actor properties. You likely won't find regular pickups using the '''Trace''' function, because they are not projectile targets. (Unless, for example, you are playing with &quot;Volatile Ammo&quot;.)<br /> <br /> ===FastTrace===<br /> This function checks only against BSP, Movers and &lt;tt&gt;bWorldGeometry&lt;/tt&gt;. It only returns whether there was a hit or not, but does not provide any information about the hit whatsoever. As the name suggests, this is likely the fastest way to perform a trace, but you are limited in the tracing targets.<br /> <br /> ===TraceActors===<br /> Performs a trace and then lets you iterate over the hits. Like '''Trace''', it will sort the hits by their distance from the start location.<br /> <br /> '''TraceActors''' considers all colliding actors, even if they are not projectile targets, but of course it only returns hits that pass the class filter you specified. This is probably the most complete trace function you will find.<br /> <br /> ===TraceThisActor/TraceThisComponent===<br /> Performs a trace only against the collision primitive of the actor or component it was called on, regardless of that actor's collision settings. You can use this function when you already know what you are likely going to hit, but want to figure out exactly how the hit will connect. This function is even faster than '''FastTrace''', but obviously has different applications than that.<br /> <br /> ==Alternative ways of tracing==<br /> If the above functions do not satisfy your needs, there are also other ways to probe for collisions along a certain path.<br /> <br /> If everything else fails, you can always spawn an actor with the collision settings you need an move it along the path you want to trace. You can use its Touch or HitWall events to collect any hits it encounters. To move it along a particular path, you can set up its Velocity and/or Acceleration and then call the '''AutonomousPhysics''' function to have the actor perform its configured physics as if the specified amount of game time passed. Alternatively you can use the '''Move''' function to specify a location offset to move the actor along, but Touch/Untouch notification may not be useful other than signaling that there was a collision.</div> Wormbo