Cum se creează o cascadă animată

Ești gata să te lupți cu un alt inamic periculos al jocului tău? Un dusman? Da - este performanța!

După cum am discutat în ultimul meu articol, performanța slabă va ucide un joc grozav.

Pe platforme mobile și web, în ​​special performanța este o problemă cu adevărat mare. Dar aceasta nu este doar o chestiune actuală: în trecut, PC-urile și consolele au fost mai puțin puternice decât astăzi. Și căutând în trecut, putem găsi soluții minunate și inteligente.

Astăzi veți învăța cum să puneți o cascadă mare în interiorul jocului dvs., fără a degrada performanța.

Vom folosi următoarele elemente:

  • Unitate 5 (este gratuit: descărcați-l acum!)
  • O textura ca aceasta:

Și ... opriți! E un fel de magie!

Efectul cascadei

Verificați videoclipul de mai jos:

Aceasta este o cascadă grozavă, nu-i așa? Imi place. Mi-ar plăcea foarte mult să pun o cascadă ca asta în jocul meu. Dar cum?

Putem începe cu o tehnică de deconstrucție. Uită-te la scenă cu atenție: din ce părți este făcută?

  • râul (pe partea de sus)
  • cascada (verticală)
  • râul (în partea de jos)
  • un abur unde se termină cascada
  • unele spray-uri în cazul în care cascada începe și se termină

Putem face acest lucru cu câteva elemente, fără a ucide performanța.

Dar, în primul rând, vă voi explica ...

De ce nu putem folosi "Apă reală" pe mobil?

Într-un joc 3D, apa se face cu shadere specifice și componente (cum ar fi particulele) care costă o mulțime de timp în timpul fazei de redare. Din acest motiv, soluțiile la nivel înalt nu sunt recomandate pentru un joc mobil.

Acest tutorial este scris pentru a sugera o modalitate simplă de a plasa o cascadă în interiorul unui joc fără a pierde FPS.

1. Creați prima scenă

  • Deschideți unitatea
  • Creați trei planuri, ca în exemplul de mai jos
  • Creați trei materiale cu shaderul Mobile / Particle / Alpha Blended (numit Waterfall_bottom, Waterfall_main, Waterfall_top).
  • Adăugați la toate cele trei materiale textura "waterfall_texture".

2. Codul

  • "Miezul" acestei idei este de a utiliza harta UV animată.
  • Creați un script nou în c # (denumiți-l "ScrollUV").
  • În interior, puneți acest cod foarte scurt:
utilizând UnityEngine; utilizând System.Collections; clasa publică Waterfall_UV: MonoBehavior public float WF_speed = 0.75f; public Renderer WF_renderer; void Start () WF_renderer = GetComponent();  void Actualizare () float TextureOffset = Time.time * WF_speed; WF_renderer.material.SetTextureOffset ("_ MainTex", noul Vector2 (0, TextureOffset)); 
  • Salvați fișierul și adăugați acest script la toate avioanele.

3. Reglați numerele

Trebuie să reglați tigla texturilor în cele trei materiale care corespund dimensiunilor avioanelor.

De asemenea, trebuie să ajustați viteza: planul vertical ar trebui să fie mai rapid decât ceilalți.

Efectul final ar trebui să fie următorul:

Și ... este terminat. Apăsați redarea și vedeți rezultatul.

Bonus: Un sistem de particule

Dacă doriți să adăugați câteva particule pentru a adăuga mai multe efecte la cascada dvs., iată câteva idei.

Notă: texturile sunt realizate cu Paint sau altele similare. Ele sunt foarte, foarte simple, astfel încât oricine poate crea texturi de genul asta.

Spray

Creați un PS și îl denumiți "PS_spray". Mutați-o în scenă până când se află în partea de jos a cascadei.

Utilizați acești parametri:

Duplicați-l și mutați-l până se află în partea de sus a cascadei.

Aburi

Creați un PS și îl denumiți "PS_steam". Mutați-o în scenă până când se află în partea de jos a cascadei.

Utilizați acești parametri:

Bonusul 2: Lava

Acesta este un truc simplu pentru a avea o cascadă de lavă: schimbați culoarea texturii astfel:

Poate doriți să măriți particulele max ale aburului; și nu uitați să îndepărtați particulele de pulverizare.

Concluzie

Uneori soluția rapidă este și cea mai bună soluție.

Acest tutorial, de exemplu, sa născut în trecut, în anii '90, când PC-urile erau mai puțin puternice decât astăzi și dezvoltatorii trebuiau să găsească niște soluții creative pentru a lucra cu limitările lor.

"Trucul" unei hărți UV animate este perfectă pentru o mulțime de situații.

De exemplu,îl puteți folosi pentru a anima un fundal. Sau, dacă textura are mai multe plăci (ca un "cadru dintr-un desen animat"), puteți crea o secvență cinematică scurtă. Singura limită este imaginația ta.

De ce este foarte important să înțelegem tehnicile de genul de astăzi? Întotdeauna, în jocul dev, veți găsi limite pe care va trebui să le găsiți. Și studierea trecutului este, în opinia mea, cel mai bun mod de a învăța pentru viitor.