Hvordan bygge en AR-app

Feb 2, 2026
hvordan
[1. 3]

I løpet av de siste to årene har det vært en eksplosjon i interesse rundt VR og AR-teknologier. Den siste store tingen i eksperimentelt design , AR har også kommet på nettet, men med denne nye teknologien kommer nye ferdigheter, og akkurat nå føles det som det ville vestlige uten store standarder å følge.

Muligheten til å vise 3D på nettet er ikke noe nytt, men hvis du har unngått det, må du hoppe inn i teknologier som tre.js eller A-ramme (ta en titt på vår roundup av AR-verktøy for å prøve for en fullstendig liste).

Uansett hva ferdighetsnivå du er på, vil det ikke gjøre stor forskjell hvis du ikke har noe anstendig innhold. Tenk på passende bruk tilfeller for AR før du hopper inn. I denne artikkelen viser vi deg hvordan du lager en Multi-Marker AR-opplevelse.

Føl din ferdighetsnivå er ikke helt opp til det? EN Nettstedbygger vil skape et nettsted for deg uten oppstyret. Eller hvis du dykker inn med et komplekst nettsted, få Web Hosting. Ikke sant.

Ved å bruke flere markører, er det mulig å vise forskjellige stadier av en prosess eller et unikt innhold basert på den markøren. I dette eksemplet vil vår app utforske vannsyklusen. Hopp til side 3 for å lære å lage en egendefinert AR-markør.

01. Kom i gang

Åpne start mappe i din IDE og inne i index.html. Side Finn skriptkryssene. All kode i opplæringen vil gå inn i disse. For å teste appen må du ha en server, og hvis du vil teste på en telefon, må du være vert for filene på en HTTPS-server. Legg til de første variablene i skriptmerkene:

 var modell1, modell2, modell3, telling = 0,
  partikler, particlecount, partiklesystem;
  VAR Loader = Ny tre.Colladaloader (); 

02. Legg modellen

scene

Bruk ikonet øverst til høyre for å forstørre bildet

For å gjøre Arcenearbeidet, vil en modell bli lastet inn. Du vil se at den en gang lastet den er lagret i variabelen Modell1. . Dette skaleres deretter og klones to ganger for de tre trinnene. I stedet for å laste tre forskjellige modeller, vil alle justeringene til en modell bli gjort i kode for å få den til å laste det raskt på mobilen.

 Loader.load ('Landscape1.Dae', Funksjon (Collada) {
  modell1 = collada.scene;
  modell1.scale.x = modell1.scale.y = modell1.scale.z = 0,015;
  modell2 = modell1.clone ();
  Model3 = Model1.Clone (); 

03. Sett opp tweening

På den første modellen kommer skyen i scenen, og dette vil bli tweened til en ny posisjon slik at skyen stiger ut av havet. Dette er satt til å gjenta for alltid, og det tar åtte sekunder i tween å animere opp og vise en skyforming.

 var Cloud1 = Model1.GetObjectbyname ("Cloud", True);
  Cloud1 = Cloud1.Children 
; ny tween. mellom (cloud1.position). til ({{ x: 0, Y: 30, z: -15. }, 8000) .Repeat (uendelig) .aserende (tween.easing.quadratisk. I). Start ();

04. Skal den opp

Skyen er nedskalert for å være nesten usynlig. En annen mellom er tilsatt til skyen og dette skalerer skyen opp til sin normale størrelse. Med bevegelsen og skalingen, vil den gi den illusjonen at skyen stiger og danner ut av havet som det første trinnet i vannsyklusen.

 cloud1.scale.x = cloud1.scale.y = cloud1.scale.z = 0,0;
  ny tween. mellom (cloud1.scale). til ({{
  X: 1,
  Y: 1,
  Z: 1
  }, 8000) .Repeat (uendelig) .aserende (tween.easing.quadratisk. I)
  

05. Sett opp den andre skyen

the water cycle scene

En annen sky vil sitte over fjellet

Den neste skyen fra den andre modellen må plasseres der den første skyen avsluttet sin animasjon som en dannet sky i himmelen. Dette er gitt en tweened bevegelse for å posisjonere seg over landet, stiger litt over fjellet. Dette vil ta 12 sekunder å animere, da det er et større trekk.

 var Cloud2 = Model2.GetObjectbyname ("Cloud", True);
  Cloud2 = Cloud2.Children 
; cloud2.position.Set (0, 30, -15); ny tween. mellom (cloud2.position). til ({{ x: 0, Y: 50, Z: -145. }, 12000) .Repeat (uendelig) .aserende (tween.easing.quadratisk. I)

06. Gjør det regn

Nøkkelen til å gjøre dette illusjonsarbeidet tillater skyen å regne. Vannsyklusen har skytregnet som det beveger seg høyere over land. For å få effekten, vil et partikkel system bli brukt. Her opprettes mengden av partikler og partikkelmaterialet, ved hjelp av et regnfallsbilde.

 Var Textureloader = Ny tre.TextureLoader ();
ParticleCount = 1500;
partikler = ny tre.geometri ();
var pmaterial = nytt tre.pointsmaterial ({
  Farge: 0x3a4e5d,
  Størrelse: 0,05,
  Kart: Textureloader.Load ("img / rain.png"),
  Phatest: 0.3,
  Opacity: 0.9,
  Transparent: True}); 

07. Lag regndråper

Ved hjelp av en for loop kan 1500 regndråper opprettes med en tilfeldig X, Y, Z-posisjon som vil være mellom skyen og bakken. Hver regndråpe får sin egen tilfeldige hastighet for å få regnet til å se mer naturlig ut. Partikkelen skyves inn i riktig toppunkt for 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-partikkel = Ny tre.Vector3 (PX, PY, PZ);
  Particle.Velocity = Ny tre.Vector3 (0, - (Math.Random () * 0,9), 0);
  partikler.vertices.push (partikkel); } 

08. Arbeid på partikkelsystemet

Nå er partikkelsystemet skapt ut av geometrien og materialet. Partiklene er satt til å bli sortert slik at z-orderen er riktig, og deretter blir regnpartiklene laget et barn i den andre skyen. Overalt Shouden er tweened, regnet følger også, så det er ikke nødvendig å animere regnet etter skyen!

 Partiklesystem = Nye tre .points (partikler, pmaterial);
Particlesystem.Sortparticles = True;
cloud2.add (partiklesystem); 

09. Sett de endelige modellposisjonene

I den endelige modellen er skyen reposisjonert til sluttpunktet av den andre Cloud animasjonssyklusen. Denne nye skyen kommer bare til å sitte på himmelen og ikke animere. I stedet kommer elven å animere, så elvemodellen er lagret i en variabel, klar til å legge til 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. Fyll opp elven

the water cycle model

Vannnivået i elven må stige

I det tredje trinnet av vannsyklusen løper vannet av åsene, fyller elver og innsjøer når den går tilbake til sjøen. Dette er den mest subtile bevegelsen, da det bare vil medføre å flytte høyden på elva, slik at det ser ut til å fylle opp. Alt er forhåndslastet nå, så i det funksjonen kalles.

 Ny tween.tween (river.position) .to ({{
  Y: 3.
  }, 8000) .Repeat (uendelig). Sende (tween.easing.quadratisk. I). Start ()
  i det();
}); 

Har du designfiler for å lagre? Sjekk ut vår guide til skylagring .

Neste side: Legg til AR-funksjonalitet og markører

  • 1
  • 2.
  • 3.

Nåværende side: Bygg en AR-app: Trinn 01-10


hvordan - Mest populære artikler

Hvordan ta et skjermbilde på en Mac

hvordan Feb 2, 2026

[1. 3] (Bildekreditt: Creative Bloq) Hvis du vil fange en hel skjerm, et vindu eller bare en valgt del av skrivebordet..


Kom i gang med WebVr

hvordan Feb 2, 2026

[1. 3] HOPPE TIL: WebVR ressurser WebVR er e..


Hvordan male et slott med SketchUp

hvordan Feb 2, 2026

[1. 3] Det finnes en rekke kunstteknikker som kan hjelpe med ditt digitale maleri, men det er ikke nektet som å sk..


Lag en fleksibel karusellkomponent

hvordan Feb 2, 2026

[1. 3] Vue.js har kommet på hopp og grenser nylig, blir det sjette mest forkedprosjektet så langt på GitHub. På..


Opprett et interaktivt parallaxbilde

hvordan Feb 2, 2026

Parallax rulling [1. 3] er ikke lenger den garanterte oppmerksomhet-grabber det pleide å være, men det finnes andre måter å bruke par..


10 tips for hard overflate modellering

hvordan Feb 2, 2026

[1. 3] Dette bildet av Brunels store østlige dampskip fra 1858 er på permanent skjerm på et nytt £ 7 millioner museum i Bristo..


Forstå CSS-visningseiendom

hvordan Feb 2, 2026

[1. 3] Det er midnatt, og den ene div. På nettstedet ditt ser fortsatt ut som et barns leketøyskiste. Alle elemen..


Fremskynde din tekstur arbeidsflyt

hvordan Feb 2, 2026

[1. 3] Krigeren er et personlig prosjekt som jeg hadde glede av å konseptet og designe. Jeg ønsket å skape et tegn som legemlig..


Kategorier