Sådan opbygges en AR App

Sep 11, 2025
hvordan

I løbet af de sidste to år har der været en eksplosion i interesse omkring VR og AR teknologi. Den seneste store ting i eksperimentelt design , AR er også ankommet på nettet, men med denne nye teknologi kommer nye færdigheder, og det føles nu som det vilde vesten uden store standarder at følge.

Evnen til at vise 3D på nettet er ikke noget nyt, men hvis du har undgået det, så skal du hoppe ind i teknologier som Three.js eller A-Frame (tag et kig på vores Roundup af Ar værktøjer til at prøve for en komplet liste).

Uanset hvilket færdighedsniveau du er på, vil det ikke gøre meget forskel, hvis du ikke har noget anstændigt indhold. Tænk på passende brugssager for AR, før du hopper ind. I denne artikel vil vi vise dig, hvordan du opretter en multi-markør AR-oplevelse.

Feel din færdighedsniveau er ikke helt op til det? EN Website Builder. vil skabe et websted for dig uden besværet. Eller hvis du dykker ind med et komplekst websted, skal du få Web Hosting. ret.

Ved at bruge flere markører er det muligt at vise forskellige stadier af en proces eller et unikt indhold baseret på den markør. I dette eksempel vil vores app undersøge vandcyklusen. Gå til side 3 for at lære at oprette en brugerdefineret AR-markør.

01. Kom godt i gang

Åbn Start mappe i din IDE og inde i index.html. Side Find script-tags. Al koden i vejledningen vil gå ind i disse. For at teste appen skal du have en server, og hvis du vil teste på en telefon, skal du være vært for filerne på en HTTPS-server. Tilføj de første variabler i script-tags:

 Var Model1, Model2, Model3, Count = 0,
  partikler, particlecount, particlesystem;
  var loader = ny tre.colladaLoader (); 

02. Læg modellen

scene

Brug ikonet øverst til højre for at forstørre billedet

For at gøre AR-scenen fungerer en model. Du vil se, at den en gang er indlæst, den er gemt i variablen Model1. . Dette skaleres derefter og klones to gange for de tre trin. I stedet for at indlæse tre forskellige modeller, vil alle justeringer til en model ske i kode for at gøre den belastning hurtigt på mobil.

 Loader.load ('Landscape1.dae', funktion (Collada) {
  Model1 = Collada.Scene;
  model1.scale.x = model1.scale.y = model1.scale.z = 0,015;
  model2 = model1.clone ();
  model3 = model1.clone (); 

03. Sæt op tweening

På den første model vil skyen blive fundet i scenen, og dette vil være tweened til en ny position, så skyen stiger ud af havet. Dette er indstillet til at gentage for evigt, og det vil tage otte sekunder for tween at animere og vise en sky-formning.

 Var Cloud1 = Model1.getobjectbyname ("Cloud", TRUE);
  Cloud1 = Cloud1.Children 
; New Tween.Tween (Cloud1.Position) .TO ({ X: 0, Y: 30, Z: -15 }, 8000) .Repeat (uendelig). Areasing (Tween.easing.quadratic.Inout) .Start ();

04. skala det op

Skyen skaleres ned for at være næsten usynlig. En anden tween er tilføjet til skyen, og denne skalerer skyen op til den normale størrelse. Med bevægelsen og skaleringen vil den give illusionen om, at skyen stiger og danner ud af havet som det første skridt i vandcyklusens proces.

 cloud1.scale.x = cloud1.scale.y = cloud1.scale.z = 0,0;
  New Tween.Tween (Cloud1.Scale) .to ({
  X: 1,
  Y: 1,
  Z: 1
  }, 8000). Reteat (uendelig).
  

05. Sæt den anden sky

the water cycle scene

En anden sky vil sidde over bjerget

Den næste sky fra den anden model skal placeres, hvor den første sky afsluttede sin animation som en formet sky i himlen. Dette gives en tweened bevægelse til at placere sig over jorden, stiger lidt over bjerget. Dette vil tage 12 sekunder at animere, da det er et større træk.

 Var Cloud2 = Model2.getobjectbyname ("Cloud", TRUE);
  Cloud2 = Cloud2.Children 
; cloud2.position.set (0, 30, -15); New Tween.Tween (Cloud2.Position) .TO ({ X: 0, Y: 50, Z: -145. }, 12000) .Repeat (uendelig).

06. Gør det regn

Nøglen til at gøre dette illusion arbejde gør det muligt for skyen at regne. Vandcyklusen har cloud regnen, da den bevæger sig højere over land. For at få effekten vil et partikelsystem blive brugt. Her skabes mængden af ​​partikler og partikelmaterialet ved anvendelse af et regnfald billede.

 Var textureloader = ny tre.TexturEloader ();
particlecount = 1500;
partikler = ny tre.geometri ();
VAR PMATISmaterial = Nye tre.PointsMaterial ({
  Farve: 0x3a4e5d,
  Størrelse: 0,05,
  Kort: Textureloader.load ("img / rain.png"),
  PhaTest: 0,3,
  Opacitet: 0,9,
  Gennemsigtig: True}); 

07. Opret regndråber

Ved hjælp af en til loop kan 1500 regndråber oprettes med en tilfældig X, Y, Z-position, der vil være mellem skyen og jorden. Hver regndråbe får sin egen tilfældige hastighed for at få regnen til at se mere naturligt ud. Partiklen skubbes ind i den korrekte hjørne af geometrien.

 for (var I = 0; i & lt; particlecount; i ++) {
  var px = math.random () * 60 - 30,
  py = math.random () * -10,
  pz = math.random () * 20 - 10;
  var partikel = ny tre.vector3 (PX, PY, PZ);
  partikel.velocity = ny tre.vector3 (0, - (math.random () * 0,9), 0);
  particles.vertices.push (partikel); } 

08. Arbejde på partikelsystemet

Nu er partikelsystemet skabt ud af geometrien og materialet. Partiklerne er indstillet til at blive sorteret, så z-ordren er korrekt, og derefter laves regnpartiklerne et barn i den anden sky. Hvor som helst skyen er tweened, følger regnen også, så det er ikke nødvendigt at animere regnen efter skyen!

 particlesystem = nye tre. Points (partikler, pmateriale);
particlesystem.sortpartikler = sandt;
cloud2.add (particlesystem); 

09. Indstil de endelige modelpositioner

I den endelige model bliver skyen omplaceret til slutningen af ​​den anden sky animationscyklus. Denne nye sky kommer bare til at sidde i himlen og ikke animere. I stedet kommer floden til at animere, så flodmodellen er gemt i en variabel, klar til at tilføje tween til den.

 Var Cloud3 = Model3.getobjectbyname ("Cloud", TRUE);
  Cloud3 = Cloud3.Children 
; cloud3.position.set (0, 50, -145); Var River = Model3.getobjectbyname ("River", TRUE); River = River.Children
;

10. Fyld op ad floden

the water cycle model

Vandniveauer i floden skal stige

I det tredje trin i vandcyklusen løber vandet ud af bakkerne, påfyldning af floder og søer, når det vender tilbage til havet. Dette er den mest subtile bevægelse, da det bare vil medføre at flytte flodens højde, så det ser ud til at fylde op. Alt er forudindlæst nu, så det i det funktion kaldes.

 New Tween.Tween (River.Position) .TO ({
  Y: 3.
  }, 8000). Reteat (uendelig).
  i det();
}); 

Fik designfiler for at gemme? Tjek vores vejledning til Sky lagring .

Næste side: Tilføj AR Funktionalitet og markører

  • 1
  • 2.
  • 3.

Nuværende side: Byg en AR app: trin 01-10


hvordan - Mest populære artikler

Sådan tegner du en kat

hvordan Sep 11, 2025

Vil du vide, hvordan man tegner en kat? Du er kommet til det rigtige sted. Tegning dyr kan være vanskelig, men det er også give..


Sådan bruger du Web Fonts

hvordan Sep 11, 2025

Følgende er et uddrag taget fra Bram Steins Webfont Handbook. Køb det her . ..


Sådan opbygges komplekse layouter ved hjælp af CSS

hvordan Sep 11, 2025

Layout for internettet har altid været begrænset, der har virkelig aldrig været noget virkelig dedikeret til at gøre indhold ..


Download filer til 3D World 232

hvordan Sep 11, 2025

For at downloade de ledsagende filer til 3D World Issue 232, skal du blot klikke på linket under hver artikel, og en ZIP-fil vil..


Sådan opnår man bedre belysning med V-RAY

hvordan Sep 11, 2025

Chaos Group Labs Director Chris Nichols vil gøre en Keynote Talk på Vertex , vores begi..


Hvordan snapping fungerer i 3D apps

hvordan Sep 11, 2025

En af de vigtigste ting, der arbejder i CGI, bør give, er større præcision. Det er dog forbløffende, hvor svært det kan vær..


Simuler en spøgelsesraner transformation

hvordan Sep 11, 2025

Side 1 af 2: Side 1 Side 1 Side 2. ..


Design SVG Grafik i din browser

hvordan Sep 11, 2025

Det VOECTEZY EDITOR er en gratis vektor redigering suite, der løber lige i din browser. Denne vejledning dækker ..


Kategorier