Satura rādītājs:
- 1. darbība: sāciet jaunu projektu
- 2. darbība: iestatīsim Vuforia
- 3. darbība: pievienojiet jaunu skriptu
- 4. solis: pievienosim automašīnu
- 5. solis: novietojiet automašīnu debesīs
- 6. solis: Lambo durvis
- 7. darbība. Video atskaņošana AR
- 8. solis: ievietojiet lietotni savā tālrunī
Video: Paplašinātās realitātes Vuforia 7 sauszemes plaknes noteikšana: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Vuforia paplašinātās realitātes SDK Unity 3D izmanto ARCore un ARKit, lai noteiktu zemes lidmašīnas AR. Šodienas apmācībā tiks izmantota viņu vietējā integrācija Unity, lai izveidotu AR lietotni Android vai IOS. Automašīna nokritīs no debesīm uz zemes, un tās durvis tiks atvērtas automātiski, kad tuvosimies. Mēs arī aplūkosim video ierakstīšanu AR. Lai turpinātu, jums datorā būs jāinstalē Unity 3D (tas ir bez maksas). Šie norādījumi ir domāti iesācējiem, tāpēc mēs visu sīkāk apskatīsim!
Labākā Vuforia SLAM daļa ir tā atbalstīto IOS un Android ierīču daudzums. Pilnu ierīču sarakstu var atrast šeit:
library.vuforia.com/articles/Solution/grou…
1. darbība: sāciet jaunu projektu
Lejupielādējiet Unity 3D no šejienes, ja jums tā vēl nav:
Atkarībā no jūsu ierīces noteikti instalējiet atbalstu Vuforia paplašinātajai realitātei un Android vai IOS.
Atveriet Unity un sāciet jaunu Unity projektu, sauciet to, kā vēlaties.
Vispirms ļaujiet izveidot lietotni, lai to izveidotu, lai mēs neaizmirstu. Tātad, saglabājiet ainu un nosauciet to par "galveno".
Dodieties uz failu, izveidojiet iestatījumus un pārslēdziet būvēšanas platformu uz Android vai IOS. Pārejiet uz XR iestatījumiem atskaņotāja iestatījumos un pārbaudiet Vuforia paplašinātās realitātes atbalstu.
Ja izmantojat operētājsistēmu Android, jums nekas cits nebūs jādara, bet operētājsistēmā IOS dodieties uz citiem iestatījumiem un noteikti ievietojiet kaut ko savam paketes identifikatoram. Izmantojiet formātu "com. YourCompanyName. YourAppName".
Ievadiet visu kameru lietošanas aprakstam un mainiet mērķa minimālās būvēšanas versiju uz vismaz 9.0.
Aizveriet to un tagad sakārtosim visu pārējo.
2. darbība: iestatīsim Vuforia
Tagad sakārtosim visu.
Augšējā izvēlnē dodieties uz gameobject un noklikšķiniet uz ARCamera. Tagad izdzēsiet galveno ainu no savas ainas.
Atlasiet ARCamera un inspektora labajā pusē noklikšķiniet uz Atvērt Vuforia konfigurāciju. Noklikšķiniet uz datu kopu kolekcijas un noņemiet atzīmi no visa, jo mēs šeit neizmantojam attēla mērķus.
Noklikšķiniet uz ierīces izsekotāja un noklikšķiniet uz izsekot ierīces pozai. Mainiet izsekošanu no rotācijas uz pozicionējošu.
Tagad atgriezieties spēles objekta cilnē un noklikšķiniet uz Vuforia, Ground Plane un Plane Finder. Šeit atrodas skripti, kas atrod mūsu zemes plakni.
Pēdējā lieta, kas mums nepieciešama, ir zemes plaknes posms, tāpēc augšējā izvēlnē vēlreiz dodieties uz spēles objektu un noklikšķiniet uz Vuforia, Ground Plane un izvēlieties Ground Plane Stage. Tagad viss, ko mēs to darām, parādīsies AR.
3. darbība: pievienojiet jaunu skriptu
Šīs iezemētās plaknes noteikšanas noklusējuma darbība ir novietot jaunu objektu katru reizi, kad ekrānā nospiežat. Mēs vēlamies vienkārši pārvietot objektu katru reizi, kad nospiežat ekrānu. Tāpēc ar peles labo pogu noklikšķiniet uz aktīvu mapes un izveidojiet jaunu C# skriptu. Nosauciet to par "DeployStageOnce" un nomainiet visu ar šo kodu:
izmantojot sistēmu;
izmantojot UnityEngine; izmantojot Vuforia; publiskā klase DeployStageOnce: MonoBehaviour {public GameObject AnchorStage; private PositionalDeviceTracker _deviceTracker; privāts GameObject _previousAnchor; public void Start () {if (AnchorStage == null) {Debug. Log ("AnchorStage ir jānorāda"); atgriešanās; } AnchorStage. SetActive (nepatiesa); } public void Awake () {VuforiaARController. Instance. RegisterVuforiaStartedCallback (OnVuforiaStarted); } public void OnDestroy () {VuforiaARController. Instance. UnregisterVuforiaStartedCallback (OnVuforiaStarted); } private void OnVuforiaStarted () {_deviceTracker = TrackerManager. Instance. GetTracker (); } public void OnInteractiveHitTest (HitTestResult rezultāts) {if (result == null || AnchorStage == null) {Debug. LogWarning ("Rezultātu tests nav derīgs vai AnchorStage nav iestatīts"); atgriešanās; } var anchor = _deviceTracker. CreatePlaneAnchor (Guid. NewGuid (). ToString (), rezultāts); if (enkurs! = null) {AnchorStage.transform.parent = enkuru.transformācija; AnchorStage.transform.localPosition = Vector3.zero; AnchorStage.transform.localRotation = Quaternion.identity; AnchorStage. SetActive (patiess); } if (_previousAnchor! = null) {Destroy (_previousAnchor); } _previousAnchor = enkurs; }}
Lai pārliecinātos, ka šis skripts tiek izmantots, mums ir jāizsauc funkcija OnInteractiveHitTest (), tāpēc atgriezieties Unity un noklikšķiniet uz lidmašīnas meklētāja spēles objekta. Mainiet režīmu no Automātisks uz Interaktīvs. Velciet tikko izveidoto skriptu uz lidmašīnas meklētāja spēles objektu. Noņemiet skriptu ContentPositioningBehavior. DeployStageOnce skriptā redzēsit vietu spēles objektam, velciet tur lidmašīnas meklētāju un atrodiet šo skriptu, saraksta augšdaļā izvēlieties funkciju OnInteractiveHitTest. Tagad mūsu funkcija tiks izsaukta ikreiz, kad lietotājs noklikšķinās uz ekrāna!
4. solis: pievienosim automašīnu
Lejupielādējiet šo bezmaksas automašīnas 3D modeli no šejienes (noteikti iegūstiet.obj versiju):
www.turbosquid.com/3d-models/max-exterior-…
Lejupielādējiet arī šo skaņu, jo mēs to atskaņosim, kad automašīna atsitīsies pret zemi:
freesound.org/people/PaulMorek/sounds/1967…
Izsaiņojiet abus šos failus un velciet tos savā aktīvu mapē.
Noklikšķiniet uz automašīnas un skatieties pa labi, nolaižamajā izvēlnē augšpusē mainiet Use Embedded Materials to Use External Materials (Legacy). Tagad mēs varēsim mainīt visu automašīnas materiālu krāsu.
Velciet automašīnu uz savas zemes plaknes, padarot to par bērnu. Mainiet mērogu uz.035 x, y un z.
Tagad ejiet cauri katras automašīnas bērnu spēļu objektiem un mainiet to materiālus uz jebkuru vēlamo krāsu.
Pievienojiet automašīnas saknes spēles objektam stingru virsbūves sastāvdaļu, kā arī pievienojiet kastes sadursmi, mērogojiet to tā, lai tas aptvertu visu automašīnu. Pievienojiet iezemētās plaknes stadijai arī kastes sadursmi un mērogojiet to tā, lai tā būtu dažas reizes platāka par iezemētās plaknes pakāpi. Tādā veidā mēs varam nomest automašīnu no debesīm, un tā atsitīsies pret zemi, izmantojot Unity iebūvēto fizikas dzinēju.
5. solis: novietojiet automašīnu debesīs
Pievienojiet audio avota komponentu automašīnas saknes spēles objektam, velciet automašīnas avārijas skaņu tā audio klipa vietā.
Tagad mums jāizveido skripts, kas pacels automašīnu gaisā, kad lietotājs nospiež ekrānu un pēc tam atskaņo avārijas skaņu, kad automašīna nokrīt zemē. Tātad, ar peles labo pogu noklikšķiniet uz aktīvu mapes un izveidojiet jaunu C# skriptu un nosauciet to par "CarController".
Aizstājiet visu kodu tur ar šādu:
izmantojot System. Collections;
izmantojot System. Collections. Generic; izmantojot UnityEngine; publiskās klases CarController: MonoBehaviour {private bool soundPlayed = false; // Atjauninājums tiek izsaukts vienu reizi kadrā void Update () {if (! SoundPlayed && transform.localPosition.y <.05f) {soundPlayed = true; StartCoroutine (DelayPlaySound ()); }} public void MoveCar () {transform.localPosition += new Vector3 (0, 10, 0); transform.eulerAngles += jauns Vector3 (5, 20, 5); soundPlayed = nepatiess; } IEnumerator DelayPlaySound () {ienesīgums atgriežas jauns WaitForSeconds (.2f); GetComponent (). Play (); }}
Pievienojiet funkciju MoveCar notikumam OnInteractiveHitTest, kā parādīts attēlā iepriekš. Tagad tas tiks izsaukts, kad lietotājs noklikšķinās uz ekrāna.
6. solis: Lambo durvis
Tātad, ja izvērsīsit automašīnu spēles objektu un atradīsit durvis, pamanīsit, ka abas durvis ir viena acs. Ja vēlamies atvērt durvis, mūsu vienīgā iespēja būs Lambo durvis, kas atveras vertikāli. Lai veiktu šo darbu, mums vispirms ir jāmaina to pagrieziena punkts.
Izveidojiet tukšu spēles objektu, kas ir automašīnas bērns. Velciet durvis un padariet tās par šī jaunā spēles objekta bērnu. Pārvietojiet vecāku spēles objektu vietā, kur jābūt pagrieziena punktam, pie durvju eņģēm. Tagad pārvietojiet bērnu durvis atpakaļ vietā. Tagad, kad mēs pagriežam durvis, pagrieziena punkts ir īstajā vietā.
Mēs gatavosim skriptu, kas atver durvis, kad jūs tuvojaties automašīnai, bet pirms mēs to darām, mums ir nepieciešams veids, kā "aktivizēt" notikumu. Pievienojiet durvju vecāku spēles objektam kastes sadursmi un mērogojiet to tā, lai tas nedaudz pārsniegtu automašīnu abos virzienos. Pārbaudiet "isTrigger". Tagad pievienojiet galvenajai kamerai kastes sadursmi un attiecīgi mērogojiet to. Pārbaudiet arī "isTrigger". Pievienojiet kamerai stingru korpusa komponentu un noņemiet atzīmi no izvēles rūtiņas “useGravity”. Kad kamera ir atlasīta, mainiet tās tagu uz "MainCamera" inspektora augšdaļā.
Pievienojiet jaunu skriptu ar nosaukumu "LamboDoorBehavior" un pievienojiet zemāk esošo kodu. Velciet skriptu uz durvju vecāku.
izmantojot System. Collections;
izmantojot System. Collections. Generic; izmantojot UnityEngine; publiskās klases LamboDoorBehavior: MonoBehaviour {private float currAngle = 0; vēlamais privātais pludiņšAngle = 0; // Atjauninājums tiek izsaukts vienu reizi kadrā void Update () {currAngle = Mathf. LerpAngle (currAngle, wantAngle, Time.deltaTime * 3f); transform.localEulerAngles = jauns Vector3 (currAngle, 0, 0); } public void OpenDoors () {VēlamaisAnglis = 60f; } public void CloseDoors () {vēlamais leņķis = 0; } void OnTriggerEnter (Collider col) {if (col. CompareTag ("MainCamera")) {OpenDoors (); }} void OnTriggerExit (Collider col) {if (col. CompareTag ("MainCamera")) {CloseDoors (); }}}
Šis skripts liks jūsu durvīm lēnām atvērties, kad tās aizvērsit AR, izmantojot funkciju Lerp () vienotībā, kas interpolē starp diviem punktiem (vai šajā gadījumā diviem leņķiem).
7. darbība. Video atskaņošana AR
Pēdējā lieta, kas mums jādara, ir video atskaņošana AR.
Ar peles labo pogu noklikšķiniet uz jebkura spēles objekta, kas ir jūsu automašīnas bērns, un izveidojiet 3D objektu Quad. Tas nodrošinās, ka kvadracikls ir jūsu automašīnas bērns. Novietojiet un mainiet šī kvadracikla izmēru tā, lai tas ietilptu jūsu automašīnas domuzīmē un izskatās, ka tam vajadzētu būt tur. Tas ir tas, par ko mēs atskaņosim videoklipu.
Pievienojiet video atskaņotāja komponentu savam četriniekam. Mainiet avotu uz URL un atrodiet cieto saiti uz. MP4 failu vai velciet video failu uz aktīvu mapi un pēc tam velciet šo klipu tukšajā slotā. Ja vēlaties straumēt videoklipu no URL, Instragram ir lielisks avots. Ar peles labo pogu noklikšķiniet uz jebkura Instagram videoklipa pārlūkā Google Chrome un noklikšķiniet uz pārbaudīt. Atrodiet div, kurā ir videoklips, un nokopējiet saiti no turienes (man ir šī metode, kas attēlota iepriekš).
Pārbaudiet cilpu, ja vēlaties, lai tā tiktu atskaņota vairāk nekā vienu reizi. Pievienojiet šim spēles objektam audio avota komponentu un mainiet video atskaņotāja izejas avotu uz audio avotu. Velciet tajā izveidoto audio avotu.
Beidzot esam pabeiguši!
8. solis: ievietojiet lietotni savā tālrunī
Ja veidojat operētājsistēmu Android, varat vienkārši doties uz failu un noklikšķināt uz Būvēt un palaist, pievienojot tālruni.
Ja veidojat iPhone vai iPad, noteikti lejupielādējiet Xcode no lietotņu veikala. Reģistrējieties arī bezmaksas ābolu izstrādātāja kontam vietnē www.apple.developer.com. Dodieties uz failu un nospiediet veidot. Atveriet failu, kas izveidots no Xcode, un pievienojiet tālruni. Izvēlieties savu attīstības komandu un nospiediet atskaņošanas pogu.
Jums, iespējams, nāksies nedaudz pārvietot kameru, bet pagaidiet to un pieskarieties ekrānam, un jums vajadzētu redzēt, kā jūsu automašīna nokrīt no debesīm uz zemes! Tagad jūs varat staigāt iekšā un skatīties, kā jūsu videoklips tiek atskaņots informācijas panelī!
Izklaidējieties un dariet man zināmu, ja jums ir kādi jautājumi komentāros!
Ieteicams:
Uzlabojiet atmiņu, izmantojot paplašinātās realitātes prāta pili: 8 soļi
Uzlabojiet atmiņu, izmantojot paplašinātās realitātes prāta pili: prāta pilis, tāpat kā Šerloku Holmsu, izmantoja atmiņas čempioni, lai atgādinātu daudz informācijas, piemēram, kārtību kārtību sajauktā klājā. Prāta pils vai loci metode ir atmiņas tehnika, kurā vizuālā mnemonika ir
GlobalARgallery - Globālā paplašinātās realitātes galerija: 16 soļi
#GlobalARgallery - globālā paplašinātās realitātes galerija: #GlobalARgallery ir iespēja skolām (un citiem) asinhroni sazināties visā pasaulē un dalīties pieredzē, mākslas darbos, stāstos, grafikos, izstādēs, prezentācijās un jebko citu, ko varat iedomāties. Tas viss parādās A
Paplašinātās realitātes tālruņa pārnesums: 7 soļi
Paplašinātās realitātes tālruņa aprīkojums: lēts, vienkāršs, foršs
Paplašinātās realitātes mīkla: 11 soļi
Paplašinātās realitātes mīkla: Puzles spēles ir vienkārši brīnišķīgas. Ir visu veidu mīklas, tipiskā mozaīkmīkla, labirints, ar žetoniem un pat šī žanra videospēles (piemēram, kapteinis krupis). Mīklu spēles prasa spēlētājam izstrādāt problēmu risināšanas stratēģiju
Paplašinātās realitātes tīmekļa pārlūkprogramma: 9 soļi
Paplašinātās realitātes tīmekļa pārlūkprogramma: Šodien mēs gatavojamies izveidot paplašinātās realitātes tīmekļa pārlūkprogrammu operētājsistēmai Android. Šī ideja sākās, kad ExpressVPN lūdza man izveidot sponsorētu YouTube videoklipu. Tā kā šī ir mana pirmā, es gribēju darīt kaut ko tādu, kas attiecas uz viņu produktu. Pr