INHOUDSOPGAWE:
- Stap 1: Sal dit op u telefoon werk?
- Stap 2: Begin 'n nuwe eenheidsprojek
- Stap 3: Skep 'n skakelaar
- Stap 4: MONSTER
- Stap 5: Beheer ons karakter
- Stap 6: Laat my verduidelik
- Stap 7: afwerking
- Stap 8: Laat ons dit op u telefoon kry
Video: Augmented Reality -app vir beginners: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie handleiding sal u wys hoe u 'n augmented reality -app vir beginners kan maak. Ons sal Unity3D en Vuforia se grondvlakopsporing gebruik om 'n AR-app sonder merkers vir Android of IOS te maak. Ons sal 'n 3D -model by Unity voeg en dit met 'n mobiele joystick rondskuif. Hierdie metode werk ook met enige ander gratis 3D -model wat u kan vind.
Stap 1: Sal dit op u telefoon werk?
Eerstens moet ons seker maak dat u telefoon die opsporing van die grondvliegtuig van Vuforia ondersteun, dus maak seker dat u telefoon in die lys met ondersteunde toestelle is.
library.vuforia.com/articles/Solution/Vufo…
Die enigste ding wat u nodig het wat sagteware betref, is die gratis weergawe van Unity. As u dit nog nie het nie, gaan na Unity3d.com en klik op Get Unity. Nou gebruik ek weergawe 2018.2.0, as hierdie weergawe nie meer beskikbaar is nie, gaan na ouer weergawes van Unity en laai 2018.2.0 af.
Tydens die installeringsproses, moet u die pakkette vir IOS of Android installeer, afhangende van die tipe telefoon wat u het, en om seker te maak dat u Vuforia -ondersteuning installeer.
Stap 2: Begin 'n nuwe eenheidsprojek
Begin 'n nuwe Unity -projek en verwyder die hoofkamera. Gaan na die spelmenu aan die voorkant van die spel, vuforia en voeg 'n "ARCamera" by.
Voordat iets kan werk, moet ons Vuforia aktiveer, dus gaan na lêerbou -instellings, skakel platform, XR -instellings en aktiveer Vuforia Augmented reality -ondersteuning.
Klik op die "ARCamera" spelvoorwerp en klik in die inspekteur op die Vuforia -opset. Onderaan, aktiveer toestelopsporing en verander die opsporingsmodus na posisioneel.
Voeg 'n grondvlakstadium en 'n vliegtuigzoeker by uit dieselfde Vuforia -spyskaart waaruit u die kamera gekry het.
Verander die keuselys in die vliegtuigzoeker na 'n interaktiewe, ontmerk die duplikaatfase en sleep die grondvlakvoorwerp in die leë ankerstadiumgleuf op die vliegtuigzoeker.
Nou moet ons ons joystick byvoeg, sodat u in die boonste spyskaart na bates, invoerpakket en kruisplatform -invoer kan gaan.
Gaan in die nuwe standaardbatesmap na prefabs en sleep die voorafvervaardigde mobiele stokbeheer -prefab na die toneel.
Vee die springknoppie uit. Klik met die rechtermuisknop in die hiërargie en voeg 'n UI, gebeurtenisstelsel by.
Laastens, op die joystick -wortelspel -voorwerp, klik om 'n komponent by te voeg en voeg 'n doekskaler by. Verander die aftreklys na skaal met die skermgrootte. Verander die bewegingsbereik in die joystick -skrif na 25.
Stap 3: Skep 'n skakelaar
Die standaardgedrag van die inhoudposisioneringsgedrag is dat wanneer ons op die skerm klik, die grondvlakfase herposisioneer word. Dit sluit in wanneer ons op UI -voorwerpe soos knoppies of joysticks klik, sodat dit nie is wat ons wil hê nie. Aangesien Vuforia tans nie die redigering van die inhoudsposisioneringsgedrag toelaat om hierdie probleem reg te stel nie, kan ons ons eie van nuuts af skryf, of ter wille van hierdie tutoriaal gaan ons net 'n skakelaar maak wat hierdie funksie aan- of uitskakel.
Klik met die rechtermuisknop op die joystick en maak 'n UI, skakelaar. Brei alles uit en verander die kleure of die teks as u wil.
Voeg die vlakzoeker in die gedeelte aan -waarde verander van die skakelaar en stel die spelvoorwerp aktief op grond van die waarde van die skakelaar. As die voorwerp in die wêreld geplaas is, moet ons die skakelaar waarskynlik uitskakel, dus gaan na die posisioneringsgedrag van die inhoud en sleep die skakelaar na die geplaasde inhoud, en stel die skakelaar uit.
Stap 4: MONSTER
Gaan na die venster, en voeg 'n winkelvenster by.
Soek 'karaktermonster' en sorteer gratis, gryp die eerste resultaat en voer die een in.
Sleep die monster -prefab onder die grondvlak en maak dit 'n kind. Stel sy posisie en rotasie op nul. Stel sy x y en z skaal op.1.
Gaan na die animator en verwyder alles behalwe inskrywing. Sleep die stap in en sit animasies uit die animasiemap van die monster.
Klik in die parameter -afdeling op die plusknoppie en voeg twee snellers "loop" en "ledig" by.
Klik op elke animasie en voeg 'n oorgang by die ander een.
Klik op elke oorgang en voeg 'n voorwaarde by, stap vir die eerste een en inaktief vir die tweede. Ontkry het die uitgangstyd en sleep al die skuifbalkies na 0 op elkeen.
Nou wil ons hê dat elke animasie moet loop, klik op elke animasie en gaan na die clip daarvan. Klik op elkeen wysig en kyk na die lustyd.
Stap 5: Beheer ons karakter
Klik met die rechtermuisknop in die batesmap en skep 'n C# -skrip genaamd "CharacterController" en voeg dit by:
met behulp van System. Collections;
met behulp van System. Collections. Generic; gebruik UnityEngine; met behulp van UnityStandardAssets. CrossPlatformInput; openbare klas CharacterController: MonoBehaviour {private const float speed =.1f; privaat animator anim; // Gebruik dit vir inisialisering leemte Start () {anim = GetComponent (); } // Update word een keer per raam leeggemaak Update () {// skuif karakter van joystick input float x = CrossPlatformInputManager. GetAxis ("Horizontal"); float y = CrossPlatformInputManager. GetAxis ("vertikaal"); if (! x. Equals (0) &&! y. Equals (0)) {transform.eulerAngles = new Vector3 (transform.eulerAngles.x, Mathf. Atan2 (x, y) * Mathf. Rad2Deg, transform.eulerAngles.z); } as (! x. Gelyk (0) ||! y. Gelyk (0)) {transform.posisie += transform.vooruit * Tyd.deltaTyd * spoed; anim. SetTrigger ("loop"); } anders {anim. SetTrigger ("ledig"); }} openbare leemte PlaceCharacter () {transform.localPosition = Vector3.zero; }}
Stap 6: Laat my verduidelik
Eerstens het ons 'n konstante vlot aan die bokant, dus verander die waarde as u wil hê dat u monster vinniger of stadiger moet beweeg.
Hierdie skrif word by ons monster gevoeg, sodat ons iets soos "GetComponent ()" kan doen om 'n verwysing na hierdie Monster Animator te kry (op hierdie manier kan ons die animasies vanaf kode speel).
Ons kry dan die x en y -beweging van die joystick van die kruisplatform -invoerbestuurder en stoor dit elkeen in 'n veranderlike.
Dan gebruik ons die twee veranderlikes om die monster te draai en te beweeg volgens die joystick -invoer.
As die monster beweeg, speel ons die loop -animasie, en as dit nie beweeg nie, speel ons die ledige animasie.
Die laaste funksie wat ons het, is dat ons die plaaslike posisie van die monsters weer op nul stel elke keer as die grondvlak herposisioneer word. Met die manier waarop ons app nou opgestel is, sal Vuforia elke keer as ons op die skerm klik, die grondvlak -fase herposisioneer. Ons monster kan om die verhoog beweeg, so ons moet sy posisie terugstel na nul, relatief tot die verhoog, elke keer as dit herposisioneer word.
Stap 7: afwerking
Uiteindelik moet ons ons CharacterController.cs by ons monster voeg. Gaan dus na die worteltransformasie van die monster prefab in die hiërargie en klik daarop. Dit sal dit regs na die inspekteur trek. Klik op komponent byvoeg en soek na die karakterbeheerderscript. Voeg dit by.
Ons moet ook seker maak dat ons PlaceCharacter -funksie eintlik gebel word, dus gaan na die vliegtuigzoeker -voorwerp en klik daarop.
In die inspekteur moet 'n gevorderde afdeling wees waarop u kan klik om dit uit te brei. Daar is 'n Unity -gebeurtenis daar genaamd "OnContentPlaced." Voeg 'n funksie daarby deur op die plusknoppie te klik. Sleep die monster daar in die leë gleuf, kies die karakterkontroleskrip en kies uiteindelik die 'PlaceCharacter' -funksie.
Stap 8: Laat ons dit op u telefoon kry
As u op 'n Android- of IOS -kliklêer is, bou dan instellings en gaan na die spelerinstellings vir u onderskeie platform. Maak in albei gevalle iets in vir die bundel -identifiseerder (in die vorm "com. YourName. YourAppName"). Maak ook seker dat u 'n boodskap in die veld vir beskrywing van kamera -gebruik het.
As u Android gebruik, ontkoppel Android TV -verenigbaarheid en verander u minimum bou -teiken na Nougat.
Druk óf build and run, of druk op build en installeer die.apk met ADB of Android Studio.
As u op IOS getref het, maak dan die resulterende gids in XCode oop. Teken in vir 'n gratis Apple -ontwikkelaarrekening (as ons nog nie een het nie), kies u span en druk die speelknoppie om dit op u telefoon te kry!
Laat weet my in die kommentaar as u vrae het!
Aanbeveel:
Versterk u geheue met 'n Augmented Reality Mind Palace: 8 stappe
Versterk u geheue met 'n Augmented Reality Mind Palace: Die gebruik van breinpaleise, soos in Sherlock Holmes, is deur geheue -kampioene gebruik om baie inligting te herroep, soos die volgorde van die kaarte in 'n geskommelde dek. Die breinpaleis of loci -metode is 'n geheuetegniek waar visuele mnemonieke
GlobalARgallery - Global Augmented Reality Gallery: 16 stappe
#GlobalARgallery - Global Augmented Reality Gallery: #GlobalARgallery is 'n geleentheid vir skole (en ander) om asynchronies oor die hele wêreld te skakel en ervarings, kunswerke, verhale, tydlyne, uitstallings, aanbiedings en alles wat u u kan voorstel, te deel. Al hierdie dinge verskyn in A
Augmented Reality Phone Gear: 7 stappe
Augmented Reality Phone Gear: goedkoop, maklik, cool
Augmented Reality (AR) vir Dragonboard410c of Dragonboard820c met behulp van OpenCV en Python 3.5: 4 -stappe
Augmented Reality (AR) vir Dragonboard410c of Dragonboard820c Met behulp van OpenCV en Python 3.5: Hierdie instruksies beskryf hoe u OpenCV, Python 3.5 en afhanklikhede vir Python 3.5 kan installeer om die augmented reality -toepassing uit te voer
CityCoaster - Bou u eie Augmented Reality Coaster vir u onderneming (TfCD): 6 stappe (met foto's)
CityCoaster - Bou u eie Augmented Reality Coaster vir u onderneming (TfCD): 'n stad onder u beker! CityCoaster is 'n projek wat dink oor 'n produk vir die lughawe in Rotterdam, wat die identiteit van die stad kan uitdruk, en die kliënte van die sitkamer met 'n groter werklikheid kan vermaak. In 'n omgewing soos 'n