Difference between revisions of "Talk:nearEntities"

From Bohemia Interactive Community
Jump to navigation Jump to search
(oops posted about different script :()
m (Text replacement - " <!-- (DIS)?CONTINUE Notes -->" to "")
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Faulty example ==
 
  
<!-- CONTINUE Notes -->
 
 
<dl class="command_description">
 
<dl class="command_description">
 +
<dt></dt>
 
<dd class="notedate">Posted on February 3, 2015 - 21:30 (UTC)</dd>
 
<dd class="notedate">Posted on February 3, 2015 - 21:30 (UTC)</dd>
 
<dt class="note">[[User:Pierre MGI|Pierre MGI]]</dt>
 
<dt class="note">[[User:Pierre MGI|Pierre MGI]]</dt>
 
<dd class="note">
 
<dd class="note">
This kind of functions remains FPS killer if you can't manage conditions in order to reduce operations for each entity or, to reduce the number of entities.
+
NearEntities returns many objects like "man" of course but also "animal", "logic" (and there are plenty of with Arsenal openings), "ammoBox_F", each weapon holder created when a unit dies....
One of the most demanding CPU/GPU resource is probably a DrawIcon3D treatment for these entities.
+
Unfortunately, this command reaches the club of the other ones like nearestObjects as FPS demanding command.
Don't stay with a simple radius condition (disk selecting entities).
+
 
Each time you can treat visible entities, as icons displaying, try to restrict this function to your screen.
 
For example: 
 
if (((worldToScreen (visiblePosition _x)) select 0 > (0 * safezoneW + safezoneX)) &&
 
((worldToScreen (visiblePosition _x)) select 0 <(1 * safezoneW + safezoneX))) then {...} foreach _pos nearEntities _radius
 
 
</dd>
 
</dd>
 
</dl>
 
</dl>
<!-- DISCONTINUE Notes -->
 
 
No idea what example is supposed to be but syntax is wrong [[User:Killzone Kid|Killzone Kid]] ([[User talk:Killzone Kid|talk]]) 18:05, 17 October 2015 (CEST)
 
 
No problemo. It works every day for me, as i display icons on each units. (where the code is supposed to be in {...}. I just remarked I get better FPS if i limit the drawIcon3D within the screen frame. No calculation for "out of range" (screen display limit) units. So, i think in that case nearEntities is optimized to the units appearing on screen (a sector rather than a 360° disk). I would like to know how a wrong syntax could work "onEachFrame", several hours a day. I admit my script could be not "optimized" but your remark is as short as a BIKI documentation. Thank you for taking time for a discuss.
 
::if (....) then {...} then {...} foreach _pos nearEntities _radius is invalid construct, sorry, there is nothing to discuss here ;) [[User:Killzone Kid|Killzone Kid]] ([[User talk:Killzone Kid|talk]]) 19:59, 19 October 2015 (CEST)
 

Latest revision as of 01:53, 6 April 2021

Posted on February 3, 2015 - 21:30 (UTC)
Pierre MGI
NearEntities returns many objects like "man" of course but also "animal", "logic" (and there are plenty of with Arsenal openings), "ammoBox_F", each weapon holder created when a unit dies.... Unfortunately, this command reaches the club of the other ones like nearestObjects as FPS demanding command.