webgl med three.js: modeller og informationstiltag

, webgl med three.js: modeller og informationstiltag,,,,, 5,,,,,,,,, 9,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, 3d - grafik i browseren har været et varmt emne, da de blev indført.men hvis du var at skabe deres applikationer ved hjælp af en almindelig webgl, det vil tage evigheder.det er derfor meget nyttigt biblioteker er kommet med.three.js er en af de mest populære af dem, og i denne serie vil jeg vise dig, hvordan at gøre bedst mulig brug af det for at skabe bedøvelse 3d erfaringer til deres brugere., forventer jeg, at de har en grundlæggende forståelse af 3d plads, før du begynder at læse denne lektion, som jeg vil ikke forklare emner som koordinaterne.,, forberedelse, som sædvanlig vil vi starte fra den kode, der tidligere.downloade og pak de aktiver, jeg gav, og du vil være klar til at gå.,, trin 1:   et ord om eksporterende modeller i blender, før vi starter programmeringen del, vil jeg forklare noget, som mange mennesker har problemer med.når du har en model, der blev skabt i blender, og du ønsker at eksportere det til three.js format, bør du holde følgende i betragtning:, først fjerne forældre.   den three.js eksportør ikke eksportere animeringer, hvis du forlader det (dette gælder også for konstruktion transformer), anden gruppe toppunkter hvis du vil have det.   knogler til at flytte alle toppunkter du at gruppere dem og navnet gruppen med navnet på knoglen.,, tredje, du kan kun have en informationskampagne,   dette kan lyde som et stort problem, men jeg vil forklare planen senere, også ved eksport. du er nødt til at sørge for, at disse muligheder udnyttes i eksportør:, flåning, knogler og skeletale animation,.,, trin 2: import af den model, som med stort set alt i three.js, ogsåting - modeller er meget enkel.der er en special - klasse, three.jsonloader, vil det gøre alt for os.selvfølgelig er det kun belastninger json modeller, men det anbefales at bruge dem, så jeg vil kun dække denne platform (andre arbejder på samme måde).lad os aktivere det første:, var at lade = nye three.jsonloader; var animation, ingen argumenter for.vi er også nødt til at definere en variabel for informationstiltag, så vi kan få adgang til det senere.nu kan vi laste model:, lade. belastning (. /model. js, funktion (geometri, materialer) (var - skinnedmesh = nye tre. skinnedmesh (geometri, tre. meshfacematerial (materialer); skinnedmesh. holdning. y = 50; skinnedmesh. omfang. sæt (15, 15, 15); scene. der tilsættes (skinnedmesh), levende (skinnedmesh)}), belastning, metode accepterer to parametre: en vej til den model, og denne funktion.denne funktion vil blive kaldt, da modellen er last (i mellemtiden kan du vise en lastning bar til brugeren).denne funktion vil blive kaldt med to parametre: geometri for den model og materialer (disse udføres med det).i de svar, vi skaber den maskestørrelse, men denne gang er det tre. skinnedmesh,, som støtter animeringer. næste, vi flytter den model 50 enheder op til lægger det på toppen af vores kube omfang det 15 gange (, fordi jeg har en tendens til at skabe små modeller i blender) og det scene.det næste, vi kalder, livlig, funktion, at der skal oprettes og spille animation, trin 3: animation, nu har vi oprettet en tegnefilm.det er kilden til, livlig, funktion:, funktion, levende (skinnedmesh) (var - materialer = skinnedmesh.material.materials; (var k i materialer) (materialer [k]. flåning = sandt.} 3. animationhandler. der tilsættes (skinnedmesh. geometri. animation); animation = nye tre. animation (skinnedmesh, "armatureaction", tre. animationhandler. catmullrom); animation. play();}, har vi, for at flå (tegnefilm) i alle materialer af modellen.det næste, vi skal tilføje den informationskampagne fra model til, three.animationhandler og skabe det, three.animation, objekt.de parametre, der er i følgende rækkefølge: maskestørrelsen animere, animation navn i den model og interpolation type (nyttig, når man har en kompliceret model som en menneskelige krop, hvor vil du have trådnet for at bøje gnidningsløst).endelig er vi spille liv. men hvis du åbner den - nu, vil de se, at den model, bevæger sig ikke:,,, at ordne det, vi er nødt til at tilføje en linje til vores gør, funktion, lige under, particlesystem, rotation: hvis (animation) animation. ajourføring (delta -), det vil ajourføre på animation, så three.animationhandler, ved, hvilken tidsramme at gøre.luk browser og du skulle se den øverste terning bøje til venstre og til højre:,,,, trin 4: flere animeringer, ja, der er en chance for at arbejde for en informationskampagne sekvens i en model, men det kræver, at du så det.det er tanken, at man tilføjer hver informationskampagne til en sekvens, og når det slutter, den næste begynder.næste, efter du har udført din model, skal du skifte animation kode.lad os sige, at vi har en løbende udvikling fra begyndelsen til den tredje, og en omvandrende informationskampagne fra den tredje til slutningen.så i vores gør, funktion skal vi undersøge, hvor andet liv er, og hvis det når frem til udgangen af den nuværende sekvens, stop det, og spille det fra begyndelsen:, var currentsequence = "stående" funktion (de) {...hvis (animation) animation. ajourføring (delta); hvis (currentsequence = = "stående") (hvis (animation.currenttime > 4) (animation. stop(); animation. spiller falsk, 0); //spille animation ikke fuld, fra 37}} andre, hvis (currentsequence = = "gå") (hvis (animation.currenttime < = 4



Previous:
Next Page: