hvernig á að bæta við vatni í einingu


svara 1:

Að búa til vatn er frekar erfitt ef þú vilt gera það frá grunni. Ég skal útskýra hvernig, en leyfi mér fyrst að nota annaðhvort að nota vatnsfyllingarnar sem koma í stöðluðum eignum Unity eða að hlaða niður eign úr eignabúðinni. Allt í lagi, góða efnið. Vertu varaður við, það verður mikið um tæknilegt orðatiltæki.

Til að búa til vatn þarftu bara 4 hluti: möskva, skyggingu, venjulegt kort og handrit.

(1) Mesh Maskinn er vatnið sjálft, en án skyggingar og handrits mun það ekki líta út eins og vatn, það mun líta út eins og lak, í grundvallaratriðum. Þetta er nokkuð auðvelt að búa til, örugglega auðveldast af fjórum. Þú getur notað einfalt módelforrit til að búa til möskva sem er að lögun að eigin vali.

(2) (3) Shader og Normal Map Shader er þar sem mestur galdurinn gerist. Í skyggingunni verður þú að skilgreina nokkra eiginleika til að láta möskva líta út eins og vatn.

Venjuleg kort gegna miklu hlutverki í skyggingum, sérstaklega vatnsskyggnum. Venjulegt kort fyrir vatnsskyggingu skilgreinir lögun bylgjanna.

Dæmi um venjulegt vatnakort. Með leyfi FilterForge.

Í mörgum tilfellum fyrir hluti sem eru ekki vatn geturðu komist upp með eitt venjulegt kort. Vatn þarf tvö. Tvö venjulegu kortin hreyfast (með forskrift) í mismunandi áttir. (Það eru þrjú kanónísk stefnumynstur). Kortin tvö hafa einnig mismunandi vog og geta haft annaðhvort sama eða mismunandi hraða. Bylgjukvarði skilgreinir kvarðann fyrir hverja bylgju á venjulegu korti. Bylgjukvarði og ölduhraði er stillt í skyggingunni.

Þú verður líka að láta vatnið bregðast við ljósinu sem þú sérð um í skyggingunni. Raunverulegt vatn getur annað hvort endurspeglað eða brotið ljósið, svo til að líkja eftir því verður þú að reikna endurskins- og brotstuðlar fyrir hvar ljósið slær miðað við venjulegt yfirborð. Þetta eru stundum kölluð Fresnel skilyrði (borið fram „frennel“).

Dæmi um hvernig ljós endurkastast af venjulegu korti (sem, vegna þessa pósts, er útfærsla höggkortagerðar). Courtest af OGLDev.

Það flækist, ekki hafa áhyggjur. Þegar ljós fer í gegnum vatn og brotnar þannig niður, verður vatnið dýpra litað. Svo þú gætir viljað taka það til greina til að ná sem bestum árangri.

Einnig getur speglun og ljósbrot vísitölur breyst eftir því hvaðan þú ert að skoða. Góð skygging gæti haft aðgerðir til að reikna út fylkisbreytingar heimsins í myndavélarúm til að skoða sjónarhorn á fresnel-aðstæðum

(4) Handrit Handritið er lykillinn sem ræsir bílinn. Það setur skygginguna af stað, óeiginlega og setur venjuleg kort í gang bókstaflega. Í handritinu geturðu breytt sumum skyggingargildum á flugi ef þörf krefur.

Handritið sér um mikið af myndavéladótinu líka. Fyrir það fyrsta ætti það að höndla málið þar sem myndavélin fer í vatnið. En meira um vert, það getur kallað fram fylkisbreytingaraðgerðir til að skoða sjónarhorn.

Dæmi um fullunna vöru. Með leyfi Unity bloggsins.


Þú ættir að flytja inn staðlaðar eignir vatnsfyllingar og líta í gegnum skyggingarkóða og C # kóða.

PS Ef þú vilt verða virkilega tæknilegur ættirðu að fella flotgetu.