Componentele constrângerii fizice funcționează în același mod ca și actorii de constrângeri fizice. cu excepția faptului că sunt utilizate în bluprints sau pot fi create în C ++.
Având în vedere flexibilitatea blururilor și puterea C ++, puteți folosi legături fizice pentru orice obiect din proiect cu componentele fizice de constrângere.
Acest document va acoperi creația și tinctura de bază ale componentei Constrângeri fizice în bluprini.
utilizarea
- Creați componente care vor fi utilizate pentru interacțiune. Pentru această demonstrație vor fi utilizate două statici ale ochiului de plasă sub forma unui cub.
- Adăugați Component => Constrângere fizică.
- Instalați componenta Constrângeri fizice. în locul în care ar trebui să existe o articulație.
- Trebuie să introduceți manual numele componentelor pentru interacțiuni. Introduceți numele primei componente: Component Name 1 => Name Component.
- Apoi introduceți numele celei de-a doua componente: Component Name 2 => Nume Component.
- Setați proprietățile proprietății Constrângere:
- Angular Swing 1Motion și Angular Swing 2Motion în Limit.
- Swing 1Limit Angle și Swing 2Limit Angle la 45 de grade.
- Dezactivați leagănul limită soft.
Constrângerea fizică - un obiect special care vă permite să legați un obiect fizic la altul (fizic sau nu). În acest caz, legarea nu va fi strictă, ceea ce înseamnă că obiectul va fi legat ca pe o frânghie sau o balama, permițând obiectului fizic să se miște liber sau limitat față de punctul de contact.
Condiția fizică este potrivită pentru crearea ușilor care sunt deschise prin împingerea unui alt obiect sau a unui candelabru oscilant pe tavan.
Legați obiectele prin Constrângere
Componenta Fizică Constrângere
Parametrii constrângerii fizicii
Dacă aveți nevoie să creați un candelabru oscilant, o roată de apă sau pur și simplu doriți să salvați fizica corpului într-o zonă comună, constrângerea fizică este ceea ce aveți nevoie. Acest document va acoperi utilizarea Constrângerii fizice.
Constrângerea fizică vă permite să conectați doi actori împreună (probabil unul este fizic) și să le aplicați diferite constrângeri sau forțe.
Unreal Engine 4 are un sistem de constrângeri foarte flexibil, care permite dezvoltatorilor să facă mai multe tipuri diferite de conexiuni pur și simplu prin schimbarea unor parametri.
Motorul are tipuri încorporate de mai multe conexiuni de bază (cu bile, prismatice, bucle), dar ele diferă numai în setările lor.
Fizica Constrângere actor
Conexiuni cu ochiuri scheletice
Dacă utilizați o plasă scheletică, va trebui să specificați numele Constantului osos. Plasa în acest caz va fi atașată la osul specificat.
Componente ale obiectului
Dacă doriți să utilizați o conexiune similară pentru anumite componente dintr-un obiect, puteți utiliza numele acestei componente în câmpul corespunzător.
Dacă acest câmp este lăsat necompletat, va fi selectată componenta rădăcină. Cu toate acestea, dacă utilizați nume valide ale componentelor în Actorul 1 restricționat și / sau Actorul 2 limitat,
atunci componenta va deveni parte a acestei conexiuni. Dacă această componentă este o plasă scheletică, trebuie să specificați și numele osului în câmpul corespunzător.
După ce ați specificat numele componentei Actori constrânși. În jurul acestei componente apare un volum de limitare. Dacă volumul delimitat nu este afișat,
verificați numele componentei dvs. și asigurați-vă că aceasta poate fi utilizată aici.
Indică dacă mișcarea liniară de-a lungul axei X este permisă, blocată sau restricționată. Dacă mișcarea este limitată, proprietatea LinearLimit va determina intervalul de limite.
Indică dacă mișcarea liniară de-a lungul axei Y este permisă, blocată sau restricționată. Dacă mișcarea este limitată, proprietatea LinearLimit va determina intervalul de limite.
Indică dacă mișcarea liniară de-a lungul axei Z este permisă, blocată sau restricționată. Dacă mișcarea este limitată, proprietatea LinearLimit va determina intervalul de limite.
Dimensiunea limitei liniare
Gradul de limitare, în unități mondiale, de mișcare liniară pentru axele limitate de mișcare.
Indică dacă rotirea în jurul axei Z este activată, blocată sau restricționată. Dacă este restricționat, proprietatea AngularLimit va fi utilizată pentru a determina domeniul de mișcare.
Angular Twist Motion
Indică dacă rotirea în jurul axei X este activată, dezactivată sau restricționată. Dacă este restricționat, proprietatea AngularLimit va fi utilizată pentru a determina domeniul de mișcare.
Angular Swing 2Motion
Indică dacă rotirea în jurul axei Y este activată, blocată sau restricționată. Dacă este restricționat, proprietatea AngularLimit va fi utilizată pentru a determina domeniul de mișcare.
Swing 1Limit Angle
Folosit când mișcarea rotativă de-a lungul axei Y este limitată. Unghiul de limită este setat în grade și trebuie să fie în intervalul de la 0 la 180.
Twist Limit Angle
Folosit când mișcarea rotativă de-a lungul axei X este limitată. Unghiul de limită este setat în grade și trebuie să fie în intervalul de la 0 la 180.
Swing 2Limit Angle
Se folosește atunci când mișcarea rotativă de-a lungul axei Z este limitată. Unghiul de limită este setat în grade și trebuie să fie în intervalul de la 0 la 180.
Angrenaj de rotație offset
Specifică decalajul unghiular dintre cele două cadre de referință. Limita prestabilită este de la (-signal, + unghi). Aceasta vă permite să schimbați limita pentru swing1. swing2 și twist.
Reacțiile de coliziune și raspunsurile Trace formează baza modului în care Unreal Engine 4 se ocupă de coliziunile și interogările de turnare cu raze în execuție.
Fiecare obiect care se poate ciocni devine un tip de obiect și un număr de parametri care determină modul în care va interacționa cu alte tipuri de obiecte.
Atunci când obiectele se ciocnesc sau se suprapun, evenimentele pot fi generate, fiecare obiect poate fi configurat să influențeze alte tipuri de obiecte, indiferent dacă se ciocnesc sau se ignoră reciproc.
Trace Response funcționează practic în același mod. Trace în sine poate fi definită ca fiind una dintre tipurile de obiecte, permițând altor obiecte bazate pe setările lor fie să le blocheze, fie să o ignore.
interacțiune
Există mai multe lucruri pe care trebuie să le țineți minte, care ar înțelege cum sunt tratate coliziunile:
- Blocarea va avea loc în mod natural între două (sau mai multe) obiecte cu parametrii de blocare specificați.
Cu toate acestea, Hit Event trebuie să fie activat pentru a efectua evenimente Event Hit. care este folosită în bluze, obiecte distrugătoare, declanșatoare etc. - Obiectele cu parametrul Overlap arata adesea ca obiecte cu parametrul Ignore. și fără Event Hit. ele sunt în esență aceleași.
- Pentru două (sau mai multe) obiecte care se blochează, ambele trebuie să fie setate corespunzător.
- Pentru două sau mai multe obiecte: dacă parametrii unuia sunt setați în Blocare. iar al doilea în suprapunere. atunci se va produce numai suprapunerea (suprapunerea), dar nu și blocarea obiectelor celorlalți.
- Evenimentele suprapuse pot fi generate chiar dacă obiectul blochează altul, mai ales atunci când conduceți la viteze mari.
- Nu se recomandă utilizarea simultană a parametrilor de blocare și de suprapunere. Deși acest lucru este posibil, poate fi necesară configurarea manuală.
- Dacă un obiect este setat la Ignore. iar celălalt în suprapunere. obiectele se vor ignora reciproc și nu vor genera un eveniment de suprapunere.
Pentru testarea nivelului:
Exemple de interacțiuni
Aceste exemple presupun că toate obiectele au activat Coliziunea activată. În cazul în care coliziunea este dezactivată, este ca și cum Ignore a fost setat pentru toate interogările Collision.
Să explicăm ce se întâmplă, astfel încât să puteți înțelege cu ușurință ce se întâmplă în secțiunea următoare:
Sfera este PhysicsBody iar peretele este Dynamic World. prin modificarea parametrilor lor de coliziune, vom primi un comportament diferit.
ciocniri
Setați ambele obiecte la Blocare. astfel încât să se blocheze reciproc, aveți o coliziune, așa interacționează obiectele între ele:
Ca și în exemplul de mai sus, domeniul de aplicare este PhysicsBody și este configurat să blocheze Dynamic World (care este peretele).
Cu toate acestea, sfera poate genera, de asemenea, un eveniment Event Hit, astfel încât vom iniția evenimentul ori de câte ori întâlnește ceva.
Zidul este World Dynamic și este configurat să blocheze obiectele PhysicsBody (același tip ca și sfera).
Deoarece peretele nu are caseta de selectare Simularea generează evenimente. Nu va genera evenimente când se ciocnește cu ea însăși.
Deoarece domeniul de aplicare are opțiunea Event Generates Hit Events activată. aceasta va genera evenimente de fiecare dată când se ciocnește cu ea însăși.
În plus, un obiect care raportează coliziuni severe le va raporta exact așa cum se află pe ceva, deci este mai bine să fiți atent, trebuie să separați mesajele utile de "spam".
Suprapuneți și ignorați
În toate celelalte cazuri, când steagurile sunt suprapuse sau ignorate. dar simbolul generează stegul de evenimente Hit este dezactivat. Sfera va ignora pur și simplu peretele: