Page 1 of 1

Entity pasukimas, jeigu yra siena

Posted: 2013 Jun 16 13:57
by xFrostas
Sveiki, man reikia tokio dalyko, jeigu prieš entity yra siena jį automatiškai pasuktų, kaip suprantu čia reikės gauti distance tarp entity ir sienos, o tada jau sukti, bet kaip patikrinti ar yra siena?

Re: Entity pasukimas, jeigu yra siena

Posted: 2013 Jun 16 15:32
by aaarnas
Amm, čia matyt reikės naudoti trace vektorius (nedirbau su jais niekad, tai negaliu padėti). Esmė, kad siunti tą vektorių kažkuria kryptimi (šiuo atveju į objekto priekį) ir žiūri į ką jis atsimuš ir už kokio atstumo. Pagal tai sprendi reikia pasukti ar ne.

Re: Entity pasukimas, jeigu yra siena

Posted: 2013 Jun 16 16:22
by xFrostas
Kaip dabar su loop'u daryt? Kad jei pasisuka ir vistiek per arti sienos, suktusi dar.

Code: Select all

     new Float:fTemp    new Float:arrAngle[3], Float:arrOrigin[3]     fTemp = getDistanceInForwardDir(arrOrigin, arrAngle[YAW])     if (fTemp > 150.0)    {        entity_set_vector(Ent, EV_VEC_angles, Float: {0.0, 90.0, 0.0})    } 

Re: Entity pasukimas, jeigu yra siena

Posted: 2013 Jun 16 21:27
by aaarnas
Tai pasuki ir tada siunti vėl. Priklausomai nuo objekto ir ką jis turi daryti, tai gali net siųsti į kelias puses iš karto ir pagal tai spręsti į kurią pusę suktis. (pvz ten kur atstumas iki kito objekto didesnis). Galima matyt think forwardą objekto daryti ir jame tokius dalykus valdyti.