Augmented Reality har eksisteret i et stykke tid nu, men med støtte fra WebRTC (realtid kommunikation) er det muligt for brugere på Android og desktop-enheder at få adgang til et telefonens kamera.
I øjeblikket kan IOS ikke understøtte dette, da det ikke er blevet implementeret i Webkit-browseren, der styrker Safari, men det er i udvikling, og du kan tjekke status her . Hvis du har en iOS-enhed, behøver du ikke gå glip af, da du stadig kan bruge webcam på din stationære computer.
Bemærk: For at få dette til at arbejde på mobilkrombrowseren, skal indholdet betjenes med et sikkert stikkontakt (dvs. over HTTPS snarere end standard HTTP). Desktop arbejder i øjeblikket med regelmæssigt HTTP.
I denne vejledning skal jeg vise dig, hvordan du placerer en forstørret reality markør foran et telefonkamera. Dette vil blive afhentet af browseren og Ar.js. , Og indhold vil blive kortlagt over toppen i 3D, der stikker til AR-markøren.
Der er masser af mulige anvendelser til denne teknik. For eksempel vil du måske oprette en simpel 3D
Creative Resume.
, og så kan AR-markøren udskrives på dit visitkort. Fordi du kan gå rundt om markøren, er det godt for indhold, som du måske vil se fra forskellige vinkler - tænk på en vis svensk møbelproducent, der giver dig animerede trin, der kan ses fra enhver vinkel! Der er så mange muligheder, at dette kan være nyttigt for.
Når du har vist. Downloadede vejledningsfilerne Gå til projektmappen, åben mappen Start i din kode editor, og åbn derefter index.html. Fil til redigering. På dette stadium skal bibliotekerne være knyttet op - og der er et par af dette projekt! Bibliotekerne er i tre sektioner: Three.js, JSArtoolKit og Tre.js Extension for ArtoolKit og Marker.
& lt; script src = 'js / tre.js' & gt; & lt; / script & gt;
& lt; script src = "js / colladaloader.js" & gt; & lt; / script & gt;
& lt; script src = "sælger / jsartoolkit5 / build / artoolkit.min.js" & gt; & lt; / script & gt;
& lt; script src = "sælger / jsartoolkit5 / js / artoolkit.api.js" & gt; & lt; / script & gt;
& lt; script src = "trex-artoolkitsource.js" & gt; & lt; / script & gt;
& lt; script src = "trex-artoolkitcontext.js" & gt; & lt; / script & gt;
& lt; script src = "trex-armarkercontrols.js" & gt; & lt; / script & gt;
& lt; script & gt; trex.artoolkitcontext.baseurl = '/' & lt; / script & gt;
I hoved Afsnit på siden, tilføj nogle manuskript Tags og slip i stilreglerne for legeme og lærred element. Dette sikrer, at de placeres korrekt på siden uden standardmargenerne, der er tilføjet af browseren.
krop {
Margin: 0px;
Overløb: Skjult;
}
lærred {
position: absolut;
TOP: 0;
Venstre: 0;
}
I legeme Afsnit på siden, tilføj nogle manuskript Tags, hvor den resterende JavaScript-kode for denne vejledning vil gå. Der er en række variabler, der er nødvendige: Den første linje er til tre.js, den anden til ar.js, den tredje for modellen og derefter en variabel til at indlæse modellen.
Var Renderer, Scene, Kamera;
Var ArtoolkitContext, OnRenderFcts, ArtoolKitsource, Markerrot, ArtoolKitMarker, LastTimemsc;
VaR-model, Tube1, Tube2, MID, detaljer, Puls;
var loader = ny tre.colladaLoader ();
Før scenen er oprettet, vil modellen blive indlæst, så den kan vises, når markører opdages. Dette skaleres ned med 10 for at passe nøjagtigt på AR-markøren. Modellen er 10 cm for bredden og højden, så markøren er 1 cm, som oversætter til 1 stigning i tre.js.
LOADER.LOAD ('MODEL / SCENE.DAE', FUNKTION (COLLADA) {
model = collada.scene;
model.scale.x = model.scale.y = model.scale.z = 0,1;
Detaljer = model.getobjectbyname ("Detaljer", TRUE);
Stadig inde i Collada loading-koden, når modellen er indlæst, vil der være et par rør, der springer rundt, så de findes i Collada-scenen. Det første rør er fundet, og dets materiale greb. Her er materialet indstillet til bare at gøre på indersiden af modellen, ikke ydersiden.
TUBE1 = MODEL.GETOBJECTBYNAME ("TUBE1", TRUE);
Var A = Tube1.Children .materiale;
a.transparent = true;
A.Side = tre ["bagside"];
A.Blending = tre ["addivebending"];
A.Opacity = 0,9;
Som i det sidste trin gentages det samme princip for det andet rør og blandingsfunktionen, der ligner dem, der findes i eftervirkninger og Photoshop, er indstillet til at være en additivblanding. Dette gør det muligt for pixelsens yderside at have en blødere overgang til kameraets billede.
TUBE2 = MODEL.GETOBJECTBYNAME ("TUBE2", TRUE);
C = Tube2.Children .materiale;
c.transparent = sandt;
c.side = tre ["bagside"];
c.BLENDING = tre ["addivebending"];
c.opacity = 0,9;
Den sidste model er en spinning cirkel lige ved midten af designet. Dette følger de samme regler som før, men gør ikke bagsiden af objektet, bare forsiden. Opaciteten af hvert af disse materialer er sat til 90% for blot at gøre det lidt blødere. Når modellen er indlæst, kaldes init-funktionen.
MID = MODEL.GETOBJECTBYNAME ("MID", TRUE);
B = Mid.Children .materiale;
b.transparent = sandt;
B.Blending = tre ["addivebending"];
b.Opacity = 0,9;
i det();
});
Init-funktionen er oprettet, og indenfor er der oprettet Renderer-indstillingerne. Rendereren bruger WebGL til at give den hurtigste renderhastighed til indholdet, og baggrunds alfa-værdien er indstillet til gennemsigtig, så kameraets billede kan ses bag dette.
Funktion init () {
renderer = ny tre.webgrenderer ({
Alpha: TRUE.
});
renderer.setclearcolor (New Three.Color ('LightGrey'), 0);
renderer.Sethize (vindue.innerwidth, window.innerheight);
dokument.body.appendchild (renderer.domelement);
Rendereren er lavet til at være den samme størrelse som browservinduet og tilføjes til dokumentobjektmodellen på siden. Nu er der oprettet et tomt array, der vil gemme objekter, der skal gøres. En ny scene er skabt, så indholdet kan vises inde i dette.
OnRenderFcts = [];
scene = ny tre.Scene ();
For at kunne se indhold i scenen, ligesom i den virkelige verden, er lyset nødvendige. Den ene er et omgivende gråt lys, mens retningslyset er en dæmpet blå farve, bare for at give en lille farvetone til 3D-indholdet på displayet i scenen.
VaR Ambient = ny tre.ambientlight (0x666666);
scene.add (omgivende);
Var directionallight = nyt tre.directionallight (0x4e5ba0);
directionallight.position.set (-1, 1, 1). Normalisering ();
scene.add (directionallight);
Næste: Afslut din AR-markør
Nuværende side: Side 1
Næste side Side 2.(Billedkredit: Phil Nolan) Virkelighedsfangst er en fantastisk måde at lave dine egne 3D-scanninger på. Alt du beh�..
En af de bedste ting om Illustrator er evnen til at lave dine egne børster. Du kan finde nogle fantastiske gratis illustrator b�..
Side 1 af 2: Udforsk 5 nye CSS-funktioner: trin 01-10 Udforsk 5 nye CSS-f..
Pastellpindeens blødhed og lysstyrke gør dem til det ideelle valg til baggrunde i min pastell tegninger. ; Mens ..
Vi har alle en stor butik af minder taget som billeder, og det er dejligt at kunne mindes. Men hvad hvis du kunne gå et skridt v..
Reagere Er et populært JavaScript-bibliotek til at opbygge brugergrænseflader, og i denne vejledning vil jeg vise d..
Det her 3D Art. TUTORIAL vil fokusere på oprettelsen af en semi-stiliseret avatar i IClone's Character Crea..
Pixat giver dig mulighed for hurtigt at prototype interaktive mobile mockups, der kan forhåndsvises på Android og iOS-enheder. I denne vejledning skal vi bruge det til at opbygge en flydend..