Efectuarea de portaluri în portalul joc - nullcode studio, jocuri, unitate, script-uri

Puteți găsi o varietate de exemple de realizare a portalurilor pe și vom încerca, dar de fapt încercați asta, vom face propria noastră versiune a portalului astăzi, la fel ca în Portalul de joc. Și, mai presus de toate, acest tutorial va ajuta să înțelegeți cum să faci o reflecție într-o oglindă, de exemplu. Este demn de remarcat faptul că acest lucru nu este o copie exactă, dar la fel ca și faptul că există în jocul original. Rezultatul final nu este ideal, nu este de lucru și toată lumea totul va deține deja. Cu toate acestea, principalul lucru pentru a înțelege principiul de lucru și, de fapt, pentru întreaga structură a lucrat în mod corespunzător. Cu aceasta, și vom investiga.


Creați un nou proiect în Unity 3D.

În primul rând, avem nevoie de caracter, vom lua ca bază pentru ceea ce am făcut în lecțiile anterioare. Aceasta este, scriptul de control din prima persoană și caracter. dar script-ul PlayerControl, aveți nevoie pentru a face unele modificări în rândurile corespunzătoare:


Rețineți că aparatul trebuie să fie un personaj cu tag-ul MainCamera.

Am înființat scena. Scoateți camera din scenă, ca și caracterul nostru are deja un aparat de fotografiat. De asemenea, a crea orice suprafață pe care am mers pe jos, face un zid, și așa mai departe la discretia sa, care va testa portaluri. Adăugați panza. și redenumiți în GameUI, și adaugă Image. va fi o vedere, plasați centrul ecranului, ca sursă a imaginii, să ia o parte din imaginea de vedere. Acum, această imagine închide script PortalMenedjer:


Acest script este responsabil pentru configurarea portaluri. Vederii și lăsați fasciculul atunci când apăsați RMB sau LMB, script-ul setează portalul la punctul în care vederea pare. Nu uitați să adăugați la matrice mai târziu portaluri partal.

Acum portaluri.
Adăugați panza. Noi o numim Portal_0, configurați după cum se arată mai jos:

Efectuarea de portaluri în portalul joc - nullcode studio, jocuri, unitate, script-uri


Atenție! În portal și toate obiectele atașate, acesta trebuie să fie instalat strat Ignoră Raycast. ray pentru a ignora aceste obiecte.

În Portal_0 adăuga Image. va masca asta această imagine ar trebui să fie spânzurat componenta masca. este necesar să se facă o elipsă a portalului nostru. Configurarea:

Efectuarea de portaluri în portalul joc - nullcode studio, jocuri, unitate, script-uri


Fiți atenți la adâncitura mică la Z, este necesar ca imaginea a fost un pic mai mare decât suprafața pe care se aplică, în caz contrar, portul nu va fi vizibil.

Ca o masca folosind imagini convenționale PNG importate ca sprite:

Efectuarea de portaluri în portalul joc - nullcode studio, jocuri, unitate, script-uri


În continuare, se adaugă în masca sub numele Raw Portal_0_RenderTexture și configurați Imagine:

Efectuarea de portaluri în portalul joc - nullcode studio, jocuri, unitate, script-uri


Creați două texturi RenderTexture_0 și RenderTexture_1 pentru alt portal. Pentru a face acest lucru, pur și simplu faceți clic pe fotografie RMB dosarul în cazul în care doriți să adăugați textura și selectați Create Render meniul Textură.

În portalul pe care doriți să adăugați aparatul foto, scoateți-l pe listener-ul audio. Poziția zerourile camerei, și ca țintă camere de textură, specificați RenderTexture_1 textura. Atenție! Pentru portal sub numărul 0 indică textura sub numărul 1, respectiv, pentru celălalt invers portal.

Linia de jos este faptul că aparatul de fotografiat va arăta ceea ce „vede“ acest lucru se obține textura monitorului kakby. Conform acestui principiu, puteți face o reflecție în oglindă. Dar, în cazul nostru, primul portal - transferă imaginea celui de al doilea, iar al doilea - primul. Pe camera in sine, remorca un script GameRenderTexture mic, care se va stabili rezoluția texturii, jumătate din lățimea de rezoluție curentă:


Agățați-script-portal pentru sine portal:


Practic, cu toate astea. Rămâne de a face un duplicat al portalului și introduceți ID-ul și textura corespunzătoare la numărul dorit. Ar trebui să arate ceva de genul asta:

Efectuarea de portaluri în portalul joc - nullcode studio, jocuri, unitate, script-uri

Efectuarea de portaluri în portalul joc - nullcode studio, jocuri, unitate, script-uri


In plus, descarca proiectul finit:

Nu puteți descărca fișiere de pe serverul nostru