Scopul acestui text - pentru a arăta principiile de bază ale nivelurilor de Quake 3 Arena, dar a stabilit principiile să fie valabil pentru toate jocurile de pe Q3A motorului (Quake 3 Arena, Quake 3 Team Arena, RTCW, Medalia de onoare, etc.).
Noțiuni de bază privind construirea nivelului.
Concepte de bază care trebuie cunoscute.
Un poligon (și un poligon) este o figură geometrică în planul delimitat de o linie închisă închisă. Notă: poligonul poate avea orice formă ("concav", se intersectează etc.), vom lucra cu poligoane convexe. Se spune că un poligon este convex dacă o linie trasată de-a lungul oricărei laturi nu se intersectează pe nici una.
Un poligon convex, întregul se află pe o parte a oricărei linii de sprijin
Concluzie poligon (neconvex)
Poligon cu auto-intersecții
Patch (aka Curve) - o suprafață spline - o suprafață curbată descrisă de spițe Bezier. Această curbă este dată numai de punctele de control, iar restul suprafeței periei este volumul delimitat de patru sau mai multe planuri, fără auto-intersecții, desigur. Aceasta este o "cărămidă" pentru nivelurile Quake.
Shader este o textura (texturi) plus un fisier text care descrie modul in care textura este aplicata si ce efecte sunt aplicate. Cu ajutorul texturilor animate ale shaderului (apă, jumper, sârmă, etc.) sunt realizate.
Modelul MD3 este fișierul * .md3. conținând o descriere completă a oricărui model din joc (personaje, arme, cartușe etc.).
Entitate - o anumită clasă de obiecte din joc (piese fixe, piese în mișcare, jucători, obiecte etc.)
De declanșare (declanșare) - zona invizibilă care realizează o acțiune (ucide player-ul, deschide ușa, activați un alt declanșator, și așa mai departe), atunci când este activat (jucător, temporizator etc.).
Operațiuni de bază.
În viitor, voi apela butonul stâng al mouse-ului LBUTTON. mediu - MBUTTON. dreapta - RBUTTON. Operații cu selecție Obiectele selectate sunt afișate în roșu. Tasta [i] inversează selecția.
Selectarea obiectelor unice
Dacă aveți mai multe pensule selectate, apoi apăsând pe [ESC]. puteți să le deselectați pe toate în același timp. Puteți să o selectați în orice fereastră făcând clic pe pensulă [Shift] + [LBUTTON]. o operație repetată înlătură selecția. În vizualizarea 2D, este selectată peria superioară, dar există o excepție pentru entități - ele sunt evidențiate mai întâi. Pentru a nu lua peria cea mai de sus. apăsați [Shift] + [Alt] + LBUTTON de mai multe ori
Selectarea poligoanelor
Pentru a aplica o textură este necesar să selectați un poligon separat, utilizați combinația [Ctrl] + [Shift] + LBUTTON. Dacă doriți să selectați mai multe poligoane unice - [Ctrl] + [Alt] + [Shift] + LBUTTON.
clonarea
Apăsând bara de spațiu, veți obține o copie a obiectului selectat.
Reflecție (Flip |) / Rotire / Scală
Disponibil prin meniul Selecție. Unele dintre aceste operații nu sunt disponibile sau sunt ineficiente pentru anumite tipuri de obiecte. De exemplu, rotația și scalarea nu au sens pentru entități (nu pentru b_node). Notă: b_model este o entitate de la perie "și patch", a cărei clasă nu este lume. Astfel de obiecte sunt folosite pentru a crea părți în mișcare: uși, ascensoare, platforme etc.
Lucrul cu peria
creare
În vizualizarea 2D, țineți apăsat butonul din stânga al mouse-ului și trageți cursorul fără a-l elibera până când peria ajunge la dimensiunea dorită (exact dimensiunea specificată în bara de stare). Este de dorit să se facă dimensiunile marginilor unei rețele majore, se va scuti de problemele legate de reducerea cusăturilor de texturi. Dacă peria este desenată în roșu, atunci este selectată. În vizualizarea Zheight (fereastra numărul 3) puteți vedea înălțimea sa, dacă este deasupra acesteia Icon Icon. Deplasați pictograma Zdepth apăsând pe [Shift]. și faceți clic în vizualizarea 2D cu butonul mijlociu al mouse-ului.
Mutarea și redimensionarea
Aici totul este foarte ușor și standard-obișnuit drag'n'drop (butonul din stânga al mouse-ului) din întreaga figură sau una din fețele sale.
Deformarea fețelor
Pentru a deforma fețele, trebuie să țineți apăsat [Ctrl]
Editare margini
Marginile sunt liniile de contact poligon. Pentru a comuta la modul de editare de margini, apăsați [E]. În mijlocul coastelor vor apărea puncte albastre. Deplasând butonul stâng al mouse-ului în aceste puncte, mutăm marginile. Ei vor "rezista" mișcării în direcțiile care duc la distorsionarea convexității fețelor
Editarea nodurilor
Vârful sau vârful reprezintă punctul în care se întâlnesc mai mult de două margini. Pentru a comuta la modul de editare a vârfurilor, apăsați [V]. Pe vârfuri vor apărea puncte verde. Deplasând butonul stâng al mouse-ului în aceste puncte, mutăm vârfurile. Dacă ați observat că atunci când editați vârful cade în afara planului de poligon, în funcție de steagul Vertexediting împărțit fețele în setările, sau depozit de deșeuri este divizat, astfel încât peria a fost convexă, sau poziția tuturor punctelor poligonului corectate în mod corespunzător.
Operațiunile CSG
Clipping Planul de tăiere este definit de două (dacă este paralelă cu planul de coordonate) sau trei puncte (punctele sunt specificate prin clic-dreapta cu clema [Ctrl]). Tasta [ESC] anulează operația [Enter] - confirmă tăiere, [Ctrl] + [Enter] - inversează interceptările parte, [Shift] + [Enter] - perie non-trunchiate roșu nu este îndepărtat, adică, operația se comportă ca un cuțit. Dacă sunt furnizate mai mult de trei puncte, tăierea nu se face și punctele. Și puteți face un pic diferit - selectați peria dorită, apoi faceți clic pe [X] și marcați punctele dorite. Polsează ceea ce apăsăm [Enter]
uniune
Combinație [Ctrl] + [M]. Este inutil să combinați (lipiți) peria într-una. Funcționează numai dacă rezultatul este o perie convexă, care este extrem de rară.
scădere
Meniul Selection-CSG-Subtract sau butonul de pe Bara de instrumente. Se scade periile selectate de toate celelalte pe care le traversează. Dacă rezultatul este o pensulă neconvexă, atunci este împărțită în convexă. Acesta este un instrument foarte puternic, dar nu ar trebui să încercați să folosiți o perie de formă complexă pentru a scădea, rezultatul vă va dezamăgi. De asemenea, atunci când se scade, astfel de perii pot fi formate, după ce se leagă de grilă, rezultând găuri.
Iată un exemplu de scădere nereușită - este clar că vârfurile unora dintre perii nu sunt pe grila, ceea ce poate cauza probleme mai târziu. Aceste pasaje trebuie să fie făcute de mână
Hollow (devastarea)
Ea devine goală, adică devin camere. Prin fiecare dintre fețele lor este așezată o perie nouă cu o grosime a mărimii actuale a grilei, peria originală fiind îndepărtată. Această operație este eficientă numai pe toporul de perie destul de simplu. Este mai bine să faceți cu mâna camere cu forme complexe.
Crearea de formulare complexe
Pensula, creată în modul obișnuit, poate servi drept pregătire pentru alte forme mai complexe. De exemplu, peria selectată poate fi transformată într-o prismă cu orice număr de laturi (nu recomand să puneți prea mult, este mai bine să folosiți Patch pentru suprafețe netede). Pentru a crea o prismă cu trei unghiuri, apăsați [Ctrl] + [3]; cu patru - [Ctrl] + [4], etc. Dacă doriți, de exemplu, 16 laturi, apoi mergeți la meniul perie / arbitrar. Este de asemenea posibil pentru a obține un con (perie / primitivele / con) și domeniul de aplicare (pensula / primitivele / sferă), dar domeniul de aplicare este mai bine să facă de curbe Bezier (doar două conuri de patch-uri pentru a obține sfera). Snap la rețea Prin apăsarea tastelor [Ctrl] + [G] obiectele selectate vor fi legate la grila, adică toate vârfurile lor se vor afla la intersecția liniilor rețelei minore.
Lucrul cu texturile
Încărcarea / descărcarea
Texturile sunt aranjate în seturi, din numele cărora este ușor de înțeles unde se află. Dacă alegem un set, îl încarcăm în memorie. În fereastra Textura, făcând clic pe butonul din stânga face textura activă. Textura activă poate fi "lipită" unui obiect prin combinația [Ctrl] + MBUTTON. Butonul din mijloc al mouse-ului (fără [Ctrl]) servește drept "eyedropper", astfel încât să puteți afla ce textură se află pe acest sau pe acel obiect. Pentru a atribui o textură nu întregului obiect, ci doar unui singur poligon, apăsați [Ctrl] + [Shift] + MBUTTON.
Dacă apăsați "S" atunci când obiectul este selectat, acest lucru va apela Surface Inspector, un instrument pentru alinierea precisă a texturii. Cu ajutorul acestuia puteți derula, scala, roti textura. Dar este mai rapid să faceți acest lucru prin următoarele combinații: schimbare - [Shift] + [săgeți]; Rotire - [Shift] + [PgUp] și [Shift] + [PgDn]; stretching - [Ctrl] + [săgeți]. Texturi speciale Toate caracteristicile sunt descrise în scripturile de shadere. Mai jos sunt cele mai interesante exemple.
lichide
Acesta este un set numit lichide. Există un shaders inactiv în el! Motorul Q3 impune limitări grave asupra geometriei periilor pentru aceste texturi. Dacă există mai multe pensule care ating apa, atunci fețele obișnuite ar trebui să primească o textura dintr-un set comun numit nodraw (altfel fețele comune vor fi vizibile în timpul jocului). Periile "apă" nu pot fi așezate unul peste altul, pot atinge doar laturile. Aceste limitări sunt specifice numai pentru Q3, mai devreme Kwaki a permis să facă cu apă tot ceea ce ar plăcea.
Ceață (aka ceață)
Setați sfx. Limitele pentru ceață sunt chiar mai mari decât pentru lichide. Peria trebuie să fie un paralelipiped și să aibă doar o parte vizibilă. Uși, elevatoare și altele asemenea. Nu deveni obosit!
texturi comune - aceasta conține texturi care facilitează viața.
origine - utilizată ca axă pentru perii rotative.
nodraw - nu apare și nu atinge în timpul jocului.
trigger - aplicat declanșatorilor.
weapons_clip - nu este vizibilă, dar dacă trageți în ea, gloanțele sunt rupte.
sugestie - folosit pentru a rezolva problema PVS. În scene complexe, Ouake 3 poate să nu aibă probleme și să nu deseneze niște poligoane. În locul în care se întâmplă problema, puneți o pensulă cu această textură.
bsp_fullvis extra light - toate sunt calculate cu calitatea maximă (versiunea re-lisnaya a hărții).
bsp_bsp (nimic) - doar prima fază. Folosit pentru verificarea geometriei, texturilor etc.
bsp_Entities - pentru un nivel deja compilat, actualizează informațiile despre entitate. De exemplu, dacă ați adăugat o nouă armă, atunci această funcție este suficientă.
bsp_relight - recalculează iluminarea pentru nivelul deja compilat.
bsp_fastvis - calculul cu ajutorul calculului de iluminare obișnuit accelerat și c.