Crearea de suprafețe de apă realiste pentru utilizare în BGE

start
Deci, hai să mergem. Deschideți blenderul, scoateți cubul de pornire. În modul de întunecare, pornim afișarea texturilor.


În fila Joc (în colțul din stânga sus), bifați Materialele Blender GLSL. Adăugați la scena noastră un avion (spațiu → adăugați → ochiuri → plan). Selectați vizualizarea de sus (butonul 7 de pe tastatura numerică). Scaltim suprafața: apăsați S, introduceți numărul 10 și Enter, apoi butonul N, va apărea fereastra Transform Properties. În el vom schimba numele planului în water_surface, în setările materialelor adăugăm material nou (fila Links și Pipeline -> Add New) și vom activa ZTransp - ar trebui să arate astfel:

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Mergeți la panoul logic (F4), faceți clic pe Adăugare proprietate, selectați șirul de tip și introduceți valorile așa cum se arată în figură. Acum adăugați senzorul Întotdeauna, conectați-l cu controlerul Python creat și introduceți oglinda.

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Apoi, mergeți la meniul de texturi (F6) și adăugați unul nou. Ca textura apei, puteți utiliza imaginea de aproape orice dimensiune și culoare, datorită faptului că suprafața apei ca o oglindă reflectă lumea înconjurătoare. În fila Textură, faceți clic pe Adăugați nou, selectați Tip imagine și faceți clic pe încărcare. Din listă alegeți water.png (mostrele de texturi necesare sunt în arhivă cu tutorialul). În același mod, vom crea o textură - o hartă a normalelor (water_n), care va adăuga în apa noastră binele remarcabile "scoici" de valuri. În setările de textură, faceți clic pe Hartă normală.

Schimbați tipul ferestrei în UV / Image Editor. Alegeți din lista de texturi disponibile. Apoi, din meniul Vizualizare → Proprietăți în timp real, se specifică setările, așa cum se arată în captura de ecran:

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Acum apăsăm F9 și adăugăm o textură UV.

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Nu este scris prea multe materiale despre utilizarea nodurilor, dar acesta este un subiect destul de extins care merită o analiză separată, așa că nu vom mai sta pe un studiu detaliat al acestei probleme. Voi spune doar că trebuie să monitorizați îndeaproape toate interacțiunile dintre noduri, deoarece cea mai mică schimbare a relațiilor are un efect puternic asupra rezultatului final :)

În setările de material din fila Legături și conductă, faceți clic pe Noduri, în loc să adăugați noi, selectați materialul nostru de apă_surface și apoi deschideți Editorul de noduri în fereastra 3DView.

Crearea de suprafețe de apă realiste pentru utilizare în BGE
Crearea de suprafețe de apă realiste pentru utilizare în BGE

Înainte de a avea două noduri, cel din stânga va fi șters și folosind spațiul → add → combinația adăugați piesele necesare așa cum se arată în imagine:

Crearea de suprafețe de apă realiste pentru utilizare în BGE

După ce terminăm cu nodurile, deschideți fereastra 3DView și apăsați P. Ecranul trebuie să afișeze apa albastră animată. Acum vom corecta culoarea crestăturilor valului - acum sunt și albastre. Apăsați pe Tab și în modul de editare, utilizați butonul A pentru a selecta toate nodurile. Schimbați tipul ferestrei în editorul UV \ Image, apăsați din nou A pentru a selecta toate nodurile, apoi faceți clic pe Axa M → X. Încă mai trebuie să implementăm textura la 180 de grade. Apăsați R și introduceți 180 și Enter. Treceți la 3DView și în modul obiect, adăugați orice obiect direct deasupra apei. Apăsăm R. Ei bine, nu arată deloc rău?

Crearea de suprafețe de apă realiste pentru utilizare în BGE

După cum ați observat, apa este încă foarte albastră. Se întâmplă deoarece reflectă spațiul din jur și este și aici albastru. Prin urmare, vom crea un cer cu nori și vom vedea ce putem face. Cerul va fi realizat folosind o emisferă pe care textura panoramică va fi întinsă. Puteți vedea cum este implementat acest lucru în fișierul .blend final, care se află în arhivă cu tutorialul.

Crearea de suprafețe de apă realiste pentru utilizare în BGE

După adăugarea cerului, apa va deveni destul de atractivă și potrivită pentru utilizarea în BGE:

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Ok, acum avem o suprafață frumoasă a apei, dar pentru completitudinea efectului adăugăm o schimbare în claritate atunci când este scufundată în apă și în fund. Dar înainte de asta avem nevoie de abilitatea de a ne mișca în jurul scenei. Deschideți Editorul de text și adăugați un nou script de mouselook. În fereastra 3DView, selectați camera și treceți la setările logice (F4). Schimbați parametrii așa cum se arată în imagine, acordați atenție numelor obiectelor, nu pot fi numiți în mod diferit, deoarece sunt înregistrați în scenariu.

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Acum, în fereastra 3DView, creați un avion, apelați fundul mării și în meniul Transform Properties (N), setați parametrii ca în captura de ecran:

Crearea de suprafețe de apă realiste pentru utilizare în BGE
Crearea de suprafețe de apă realiste pentru utilizare în BGE

Apoi, în avion, adăugați textura din partea de jos (Tech38.bmp) și continuați să creați pereții și "mediul subacvatic". Pe pereți nu vom intra în detaliu, voi spune doar că acestea sunt patru avioane legate împreună cu textura zidăriei (dacă ați ajuns la această parte a tutorialului, nu ar trebui să apară probleme cu pereții). Acum creați un alt plan și în Transform Properties îl numiți subacoperire. Apăsați F9 și adăugați o textură UV. Accesați setările materialului:

Ei bine, ultimul pas nu este cel mai puțin important este adăugarea unui filtru 2D la scena noastră, care va simula mediul subacvatic. În meniul 3DView, selectați camera și apăsați Shift + S → Cursor → Selecție. Apăsați bara de spațiu și adăugați cubul. Înainte de S, introduceți 0,1 și Enter. Acum, selectați cubul, țineți apăsată tasta Shift și selectați camera și apăsați Ctrl + P → Efectuați părintele. Spațiu următor → Adăugare → Gol. Selectați Golire, apoi cubul, apăsați pe Tab și în modul de editare selectați vârful care este vizibil din aparatul foto (butonul 0) → Ctrl + P → Efectuați parinte vârf. Apăsați pe Tab și adăugați o lampă la scena noastră. O legăm cu camera. Dacă totul se face corect în meniul Outliner, putem observa această imagine:

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Deschideți Editorul de text și adăugați încă 2 scripturi - fog_underwater și blur_radial. În conformitate cu următoarea captură de ecran, editați obiectul gol în setările logice (F4):

Crearea de suprafețe de apă realiste pentru utilizare în BGE

Asta-i tot! Sper că ți-a plăcut tutorialul și mi-a plăcut să lucrez cu el. Amestecare reușită!

Crearea de suprafețe de apă realiste pentru utilizare în BGE

P.S. Mulțumită lui SpewBoy, pentru implementarea interesantă a capabilităților BGE. De asemenea, mulțumită lui Igor BV Palych pentru critică, care a ridicat nivelul tutorialului.