Jump to content


Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Posted Image Posted Image

Guest Message by DevFuse
 

Dopasowanie osi modela do osi podłoża.


  • You cannot start a new topic
  • You cannot reply to this topic
1 reply to this topic

#1 Thilidric

    Początkujący

  • Użytkownik

  • Reputacja: 4
    Nowy

  • Postów:11
  • Imię:Krzysiek
  • Lokalizacja:Piła
Offline

Posted 17.02.2014 23:20

Witam.

 

Szukam sposobu, który pozowoli mi dopasować kąt (oś) modelu do podłoża na jakim znajduje się byt player. Model jest zwykłą płaszczyzną więc nie powinno być dużych problemów, pytanie tylko w jaki sposób mogę pobrać kąt podłoża na jakim stoi postać?

 

Pierwsza moja myśl skierował mnie na "pev_groundentity" jednak to mi zwróci tylko index, a jak wiadomo powierzchnia tego bytu może być o różnym kształcie, ma ktoś jakiś pomysł?

 

Pozdrawiam, Thilidric.


  • +
  • -
  • 0

b_350_20_323957_202743_F19A15_111111.png


#2 R3X

    Godlike

  • Przyjaciel

  • Reputacja: 2,987
    Godlike

  • Postów:4,248
  • Lokalizacja:Nie
Offline

Posted 23.02.2014 14:35

Cześć,

 

może Ci się przydać tracing.

 

 

Pobierz origin bytu, odejmij tak z 1000 na osi pionowej origin[2] i miedzy tymi punktami puść TraceLine.

 

Wersja z fakemeta

new Float:vfStart[3], Float:vfEnd[3];
new tr2 = create_tr2();

pev( ent, pev_origin, vfStart);
vfEnd[0] = vfStart[0];
vfEnd[1] = vfStart[1];
vfEnd[2] = vfStart[2] - 1000.0;
engfunc( EngFunc_TraceLine, vfStart, vfEnd, IGNORE_GLASS|IGNORE_MISSILE|IGNORE_MONSTERS, ent, tr2);

new Float:vfNormal[3];
get_tr2( tr2, TR_vecPlaneNormal, vfNormal );

Wektor vfNormal[] jest teraz wektorem prostopadłym do podłoża pod obiektem `ent`. Możesz go zamienić na kąt obrotu bytu np. angle_vector();

Będziesz musiał odwrócić któreś z osi przed angle_vector mnożąc przez -1, wydaje i się że pierwsze 2 osie. Tej części nie jestem pewien, ale to będziesz coś w stylu:

vfNormal[0] = -vfNormal[0];
vfNormal[1] = -vfNormal[1];

ange_vector( vfNormal, ANGLEVECTOR_FORWARD, vfNormal );
set_pev( ent, pev_angles, vfNormal );

Edited by undefined, 23.02.2014 14:36.

  • +
  • -
  • 0




  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In