Web kuten tiedämme, on jatkuvasti muuttumassa ja kehittyvä. Se, mitä voimme vielä muistaa yksinkertaisena ja yksinkertaisena keskitasona, sai toisen ulottuvuuden muutama vuosi sitten, eikä se näytä siltä, että se pysähtyy. A Verkkosivuston rakentaja Mikä oli aikoinaan scifi elokuva visuaalisia tehosteita on nyt mahdollista tablet makaa sohvalla, ja on rakennuksia katettu laajamittainen interaktiivinen laitokset, jotka ovat todella vain fullscreen Google Chromen ikkunoita.
Seuraa alla olevia ohjeita selvittääksesi realistisen sulamisvaikutuksen kolmella.js.
Mene eteenpäin ja tartu kolmeen.js-kirjastoon ja lisää se sivustoosi. Sinun täytyy välittää webglrenderer, kohtaus ja perspectiveecamera. Näiden jälkeen on välttämätöntä, sinun on tehtävä kohtaus Pyydettävä .
Seuraavaksi valot on lisättävä 3D-kohtaukseen. Tässä esimerkissä käytetään kahta valoa: ympäristön valo ja pistevalo. Ympäristön valo toimii ylellisenä maailmanlaajuisena värinä, kun taas pistevalo lähettää valoa, joka pienenee etäisyydellä. Tämä antaa kohtauksen jonkin verran kontrastia.
var Ambientlight = uusi kolme.Mbientlight (0xCCCCCC);
Scene.Add (Ambienghtlight);
var Pointlight = uusi kolme.Pointlight (0xFFFFFF, 1);
Pointlight.Position.set (10, 5, 0);
Nyt kun kohtaus on perustettu, 3D-malli on ladattava. Malli voidaan ladata käyttämällä mitä tahansa tuettua muotoa (JSON, OBJ, DAE jne.). Alla on esimerkki DAE-mallin lataamisesta. Tässä esimerkissä on erittäin tärkeää, että mallissa on tarpeeksi polygoneja vertex-modifikaatioiden suorittamiseen.
Peurakallo, jota käytetään tässä esimerkissä 3500 polystä. Jos poly-määrä on liian alhainen, Vertex-animaatiot ovat liian selkeät ja vääristyvät.
Loader = uusi kolme.colladaloader ();
Loader.load ('DAE / Deer_skull / Deer_skull.dae', onloadCompleteHandler);
Bump Maps sopii täydellisesti syvyyden lisäämiseen tekstuurisi edullisella kustannuksella. Kun olet luonut Bump Map-kuvan, voit toteuttaa sen yksinkertaisesti soveltamalla sitä alla olevaan materiaaliin. Myös sinun on säädettävä Bump-kartan asteikkoa mallin mittakaavassa.
materiaali.bumpmap = 'img / deer_skull / deer-bump.jpg';
Materiaali.Bumpscale = .008;
Koko hänen sivustossa Johnny hyödyntää Jerome Etienne: n pelin laajentamista kolmelle.js, mikä helpottaa vertex-animaatioiden tekemistä. Tämä laajennus mahdollistaa helpon pääsyn kullekin mallin huippupisteeseen kehysnopeudella, mikä tekee siitä helppoa manipuloida pisteitä aaltomuodoissa.
The Vertex-animaatio jatke on saatavilla Etienne: n GitHubin kautta. Menemme edelleen, miten sitä käytetään seuraavissa vaiheissa.
Geometrian sulaminen sisältää muutamia yleisiä vaiheita. Ensinnäkin kukin piste työnnetään jatkuvasti alaspäin. Kun kohta saavuttaa maan, se työnnetään ulospäin käyttämällä sitä, mitä kutsumme 'push vektori'.
Seuraavaksi annamme pisteitä, jotka kokoontuvat pohjaan paksuuteen, joten sulanut geometria ei ole täysin tasainen. Tämän saavuttamiseksi Johnny on siirtänyt koodin Skeel Lee VFX Shader Houdinista ja muuttanut sitä.
Alla on esimerkki kätex-animaattorin käytöstä jatkuvasti työntää mallin geometria kohti maahan.
var vertexanimaatio = uusi threex.vertexanimaatio (geometria, funktio (alkuperä, sijainti, delta, nyt) {sijainti.y - = Meltamount * ModelHeight;}
Tämä työntää pisteitä alaspäin määritellyllä nopeudella Meltamount . Muista myös soittaa "päivitys" Vertex-animaatiossasi Render Cycle -ohjelmassa.
Kun piste on saavuttanut maahan, se on työnnettävä ulospäin sulavaikutuksen saavuttamiseksi. Alla oleva koodi määrittää, mihin suuntaan X- ja Z-akseleissa työntääksesi Vertexia, jotta saat yhtenäisen siirtymän. Ehdollinen varmistaa, että vain pisteitä, jotka ovat saavuttaneet mallin alhaisimmat rajat (maa), työnnetään ulospäin.
jos (sijainti.Y & lt; bbox.min.y) {
var centroid = bbox.max.clone (). Lisää (bbox.min.clone (). Dividescalar (2.0);
pushvektori = asento. Clone (). Sub (Centroid);
pushvektori.Y = 0; }
Alla oleva koodi käyttää melua luomaan satunnaisuutta liikkeessä niin sulava tuntuu orgaanisesta. Melamuuttujat voidaan säätää halutun vaikutuksen saamiseksi. Melu levitetään sitten työntövektoriin yhdessä Meltamount ja levitys hallita sulatetun altaan nopeutta ja kokoa. Tämä ulospäin suuntautuva vektori lasketaan lopulta ja sitten levitetään itse asiaan.
var n = noiseamlitudi * generator.getval ((sijainti.x) * NoisefRequency + NoiseOffset);
var Ulostuneisuus = pushvektori.multipytcalar (((MeltaMount * SpreadMount) + N) * Lähestään);
Sijainti.Add (ulospäin suuntautuva);
Tähän mennessä selitetty koodi saavuttaa sulavaikutuksen, mutta kaksi asiaa on väärässä. Ensinnäkin uima-allas tuntuu varsin tasaiselta, koska kaikki kohdat ovat sulaneet samaan Y-asentoon. Toiseksi, koska kaikki jakavat saman y: n, liian monta pistettä pinotaan samalla korkeudella, mikä voi aiheuttaa vilkkumista. Tämän välttämiseksi sulat nopeudella levitetään paksuus:
Position.y + = MeltaMount * Poolthecty;
Edellä olevan koodin avulla kaikki mallit, joissa on tarpeeksi monikulmioita, voidaan sulattaa. Lataa zip-tiedosto ulos koodi tässä ja vaihda mallia mitä haluat. Pidä hauskaa!
Tämä artikkeli oli alun perin ilmestynyt Nettisivujen suunnittelija Julkaisu 265. Osta se tässä .
Aiheeseen liittyvät artikkelit:
(Kuva luotto: tulevaisuus) Muuttuvat fontit mahdollistavat fonttisi suunnittelijat määrittämään tyypin vaihtelut..
Twitterissä on paljon ihmisiä - 261 miljoonaa Twitter-tiliä viime kerralla. Ja se tarkoittaa, että tilisi voi olla vaikea ero..
Yksi parhaista Illustratorista on kyky luoda omia harjoja. Löydät hämmästyttäviä ilmaisia kuvia verkossa, mutta josku..
Jos noudatat trendejä, on vaikea jättää huomiotta, että VR on menossa läpi toisen herätyksen. Se on tapahtunut ennen, mutt..
1800-luvulla oli hieno aikataide. Taiteilijat pidettiin korkeassa suhteessa ja yleisö koulutettiin taidetta. Oli erittäin korke..
Freelance 3D Artistin ja Vertex Panelist Maya Jermy näyttää, miten Master Vdm. Hän esiintyy Vertex ..
Kun halusin luoda hauskan pala 3D-taide Goofy-ilmaisulla näen Randy piispan konseptin, jonka todella pidin violet..
Koska UX-suunnittelualan ammattilaisten kysyntä kasvaa edelleen, suunnittelijat etsivät helppokäyttöisiä työkaluja, jotka ovat tarpeeksi tehokkaita laadukkaita prototyyppejä, mutta tun..