lineIntersectsSurfaces

From Bohemia Interactive Community
Revision as of 00:01, 13 August 2015 by Das Attorney (talk | contribs)
Jump to navigation Jump to search

Template:Command

Notes

Bottom Section

You can combine with intersect command to find selection names on intersected objects (in this example priority is geom >> ifire >> fire >> view):

<nowiki>arrow = "Sign_Arrow_F" createVehicle [0,0,0];

testFunc = { _ins = lineIntersectsSurfaces [ ATLToASL positionCameraToWorld [0,0,0], ATLToASL positionCameraToWorld [0,0,1000], player ]; if (count _ins == 0) exitWith { arrow setPosASL [0,0,0] }; arrow setPosASL (_ins select 0 select 0); arrow setVectorUp (_ins select 0 select 1); _intDist = (_ins select 0 select 0) distance (ATLToASL positionCameraToWorld [0,0,0]); _sel = ""; _dist = 10000; { _ins2 = [_ins select 0 select 3,_x] intersect [ positionCameraToWorld [0,0,0], positionCameraToWorld [0,0,_intDist + 0.1] ];

{ if (_x select 1 < _dist) then { _dist = _x select 1; _sel = _x select 0 }; } forEach _ins2; if (_sel != "") exitWith {}; } forEach ["GEOM","IFIRE","FIRE","VIEW"];

hintsilent format ["GEOM: %1",_sel]; }; ["sample_id","onEachFrame","testFunc"] call BIS_fnc_addStackedEventHandler;