Բովանդակություն:
- Քայլ 1: Սկսեք նոր նախագիծ:
- Քայլ 2: Եկեք կարգավորենք Vuforia- ն:
- Քայլ 3: Ավելացրեք նոր սցենար:
- Քայլ 4: Եկեք ավելացնենք մեքենան:
- Քայլ 5: Մեքենան դրեք երկնքում:
- Քայլ 6: Lambo դռներ:
- Քայլ 7: Տեսանյութի նվագարկում AR- ում:
- Քայլ 8: Putրագիրը տեղադրեք ձեր հեռախոսի վրա:
Video: Ընդլայնված իրականության Vuforia 7 ցամաքային ինքնաթիռի հայտնաբերում. 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Vuforia- ի ընդլայնված իրականության SDK- ն Unity 3D- ի համար օգտագործում է ARCore և ARKit ՝ AR- ում ցամաքային ինքնաթիռներ հայտնաբերելու համար: Այսօրվա ձեռնարկը կօգտագործի իրենց հայրենի ինտեգրումը Unity- ում ՝ Android- ի կամ IOS- ի համար AR ծրագիր ստեղծելու համար: Մենք կունենանք մեքենա, որը երկնքից կընկնի գետնին, և նրա դռները ինքնաբերաբար կբացվեն, երբ մոտենանք: Մենք կանդրադառնանք նաև AR- ում տեսանկարահանում կատարելուն: Հետևելու համար ձեզ հարկավոր կլինի ձեր համակարգչում տեղադրված Unity 3D- ը (անվճար է): Այս հրահանգները լիովին սկսնակների համար են, այնպես որ մենք ամեն ինչ մանրամասն կքննարկենք:
Vuforia- ի SLAM- ի լավագույն մասը IOS և Android սարքերի քանակն է, որոնք այն ապահովում է: Սարքերի ամբողջական ցանկը կարելի է գտնել այստեղ ՝
library.vuforia.com/articles/Solution/grou…
Քայլ 1: Սկսեք նոր նախագիծ:
Ներբեռնեք Unity 3D- ը այստեղից, եթե այն արդեն չունեք ՝
Համոզվեք, որ տեղադրեք աջակցություն Vuforia Augmented Reality- ի և Android- ի կամ IOS- ի համար `կախված ձեր սարքից:
Բացեք Unity- ը և սկսեք Unity- ի նոր նախագիծ, անվանեք այն ինչ ուզում եք:
Նախ եկեք դուրս գանք կառուցված ծրագրից, որպեսզի չմոռանանք: Այսպիսով, պահպանեք տեսարանը և անվանեք այն «հիմնական»:
Գնացեք ֆայլ, կառուցեք կարգավորումներ և անցեք ձեր կառուցման հարթակը Android- ի կամ IOS- ի: Գնացեք դեպի նվագարկիչի կարգավորումների XR կարգավորումներ և ստուգեք Vuforia Augmented Reality Supported:
Եթե Android- ի վրա եք, ստիպված չեք լինի որևէ այլ բան անել, բայց IOS- ով անցեք այլ կարգավորումներ և համոզվեք, որ ինչ -որ բան տեղադրեք ձեր փաթեթի նույնացուցիչի համար: Օգտագործեք «com. YourCompanyName. YourAppName» ձևաչափը:
Տեղադրեք տեսախցիկի օգտագործման նկարագրության որևէ բան և փոխեք կառուցման նպատակային նվազագույն տարբերակը առնվազն 9.0 -ի:
Փակեք դրանից և հիմա եկեք կարգավորենք մնացած ամեն ինչ:
Քայլ 2: Եկեք կարգավորենք Vuforia- ն:
Հիմա եկեք ամեն ինչ կարգի բերենք:
Գնացեք gameobject վերևի ընտրացանկում և կտտացրեք ARCamera: Այժմ ջնջեք հիմնական տեսախցիկը ձեր տեսարանից:
Ընտրեք ARCamera- ը և տեսուչի աջ կողմում կտտացրեք Open Vuforia Configuration- ը: Կտտացրեք տվյալների հավաքածուի հավաքածուն և հեռացրեք ամեն ինչ, քանի որ մենք այստեղ չենք օգտագործում որևէ պատկերի թիրախ:
Կտտացրեք սարքի որոնիչին և կտտացրեք սարքի հետևել: Փոխեք հետևումը պտտվողից դեպի դիրքային:
Այժմ վերադարձեք խաղի օբյեկտի ներդիր և կտտացրեք Vuforia, Ground Plane և Plane finder: Այստեղ տեղակայված են սցենարները, որոնք գտնում են մեր հիմքի հարթությունը:
Վերջին բանը, որ մեզ պետք է, ստորգետնյա հարթության փուլն է, այնպես որ վերևի ընտրացանկում նորից գնացեք խաղի օբյեկտ և կտտացրեք Vuforia, Ground Plane և ընտրեք Ground Plane Stage: Այժմ այն, ինչ մենք դրանով ենք վերաբերվում, կհայտնվի AR- ում:
Քայլ 3: Ավելացրեք նոր սցենար:
Այս ստորգետնյա հարթության հայտնաբերման կանխադրված վարքագիծն այն է, որ ամեն անգամ էկրանին սեղմելիս նոր օբյեկտ տեղադրեք: Այն, ինչ մենք ուզում ենք, այն է, որ օբյեկտը ամեն անգամ էկրանին սեղմելիս տեղափոխվի: Այսպիսով, աջ սեղմեք ձեր ակտիվների թղթապանակում և ստեղծեք նոր C# սցենար: Անվանեք այն «DeployStageOnce» և ամեն ինչ փոխարինեք այս ծածկագրով.
օգտագործելով համակարգ;
օգտագործելով UnityEngine; օգտագործելով Vuforia; հանրային դաս DeployStageOnce: MonoBehaviour {public GameObject AnchorStage; մասնավոր PositionalDeviceTracker _deviceTracker; մասնավոր GameObject _previousAnchor; public void Սկիզբ () {if (AnchorStage == null) {Debug. Log («AnchorStage- ը պետք է նշվի»); վերադարձ; } AnchorStage. SetActive (կեղծ); } 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 result) {if (result == null || AnchorStage == null) {Debug. LogWarning («Հարվածի թեստը անվավեր է կամ AnchorStage- ը սահմանված չէ»); վերադարձ; } var anchor = _deviceTracker. CreatePlaneAnchor (Guid. NewGuid (). ToString (), արդյունք); if (anchor! = null) {AnchorStage.transform.parent = anchor.transform; AnchorStage.transform.localPosition = Vector3.zero; AnchorStage.transform.localRotation = Quaternion.identity; AnchorStage. SetActive (ճշմարիտ); } if (_previousAnchor! = null) {Destroy (_previousAnchor); } _previousAnchor = խարիսխ; }}
Որպեսզի համոզվեք, որ այս սցենարը օգտագործվում է, մենք պետք է կանչենք OnInteractiveHitTest () գործառույթը, ուստի վերադառնանք Unity և կտտացրեք հարթակի որոնիչ խաղի օբյեկտին: Փոխեք ռեժիմը ավտոմատից ինտերակտիվ: Քաշեք մեր պատրաստած սցենարը ինքնաթիռի որոնիչ խաղի օբյեկտի վրա: Հեռացրեք ContentPositioningBehavior սցենարը: DeployStageOnce սցենարի վրա կտեսնեք խաղային օբյեկտի տեղ, քաշեք ինքնաթիռի որոնիչը այնտեղ և գտեք այս սցենարը, ցանկի վերևից ընտրեք OnInteractiveHitTest գործառույթը: Այժմ մեր գործառույթը կկոչվի, երբ օգտագործողը կտտացնի էկրանին:
Քայլ 4: Եկեք ավելացնենք մեքենան:
Ներբեռնեք մեքենայի այս անվճար 3D մոդելը այստեղից (Համոզվեք, որ ձեռք եք բերում.obj տարբերակը).
www.turbosquid.com/3d-models/max-exterior-…
Ներբեռնեք նաև այս ձայնը, որովհետև մենք այն նվագելու ենք, երբ մեքենան ընկնի գետնին.
freesound.org/people/PaulMorek/sounds/1967…
Բացեք այդ երկու ֆայլերը և դրանք քաշեք ձեր ակտիվների պանակում:
Սեղմեք մեքենայի վրա և նայեք դեպի աջ, վերևի բացվող ընտրացանկից փոխեք Օգտագործեք ներկառուցված նյութեր ՝ արտաքին նյութեր (ժառանգություն) օգտագործելու համար: Այժմ մենք կկարողանանք փոխել մեքենայի բոլոր նյութերի գույնը:
Քաշեք մեքենան ձեր գետնի հարթության վրա ՝ դարձնելով այն երեխա: Փոխեք սանդղակը մինչև 0,035 x, y և z վրա:
Այժմ անցեք մեքենաների մանկական խաղերի առարկաներից յուրաքանչյուրով և փոխեք դրանց նյութերը ՝ ինչ գույնի եք ցանկանում:
Մեքենայի արմատային խաղի օբյեկտին ավելացրեք կոշտ մարմնի բաղադրիչ, ինչպես նաև ավելացրեք տուփի բախիչ, մասշտաբավորեք այն այնպես, որ այն ընդգրկում է ամբողջ մեքենան: Ավելացրեք նաև տուփի բախիչ `գետնի հարթության վրա և չափեք այն այնքան, որ այն մի քանի անգամ ավելի լայն լինի, քան ստորերկրյա հարթությունը: Այս կերպ մենք կարող ենք մեքենան գցել երկնքից, և այն կհարվածի գետնին ՝ օգտագործելով Unity- ի ներկառուցված ֆիզիկայի շարժիչը:
Քայլ 5: Մեքենան դրեք երկնքում:
Ավելացրեք աուդիո աղբյուրի բաղադրիչ մեքենայի հիմնական խաղային օբյեկտին, քաշեք մեքենայի վթարի ձայնը դրա ձայնային հոլովակի տեղում:
Այժմ մենք պետք է այնպիսի սցենար պատրաստենք, որը մեքենան օդ կդնի, երբ օգտագործողը սեղմում է էկրանին, իսկ հետո մեքենայի գետնին հարվածելիս վթարի ձայնը նվագարկում: Այսպիսով, աջ սեղմեք ակտիվների թղթապանակում և ստեղծեք նոր C# սցենար և այն անվանեք «CarController»:
Այնտեղ գտնվող ամբողջ ծածկագիրը փոխարինեք հետևյալով.
օգտագործելով System. Collections;
օգտագործելով System. Collections. Generic; օգտագործելով UnityEngine; հանրային դաս CarController: MonoBehaviour {private bool soundPlayed = false; // Թարմացումը կոչվում է մեկ անգամ մեկ շրջանակի համար անվավեր Update () {if (! SoundPlayed && transform.localPosition.y <.05f) {soundPlayed = true; StartCoroutine (DelayPlaySound ()); }} public void MoveCar () {transform.localPosition += new Vector3 (0, 10, 0); transform.eulerAngles += նոր Վեկտոր 3 (5, 20, 5); soundPlayed = կեղծ; } IEnumerator DelayPlaySound () {եկամտաբերությունը վերադարձնում է նոր WaitForSeconds (.2f); GetComponent (). Խաղալ (); }}
Ավելացրեք MoveCar գործառույթը OnInteractiveHitTest իրադարձությանը, ինչպես վերը նկարում: Այժմ այն կկոչվի, երբ օգտագործողը կտտացնի էկրանին:
Քայլ 6: Lambo դռներ:
Այսպիսով, եթե դուք ընդարձակեք մեքենայի խաղի օբյեկտը և գտնեք դռները, կնկատեք, որ երկու դռներն էլ մեկ ցանց են: Եթե մենք ուզում ենք բացել դռները, մեր միակ տարբերակը կլինի Lambo դռները, որոնք բացվում են ուղղահայաց: Այս աշխատանքը կատարելու համար մենք նախ պետք է փոխենք նրանց առանցքային կետը:
Պատրաստեք խաղի դատարկ օբյեկտ, որը մեքենայի երեխա է: Քաշեք դռները և նրանց դարձրեք այս նոր խաղային օբյեկտի երեխան: Տեղափոխեք ծնողական խաղի օբյեկտը այնտեղ, որտեղ պետք է լինի առանցքային կետը `դռան ծխնիներով: Այժմ տեղափոխեք երեխայի դռները իրենց տեղը: Այժմ, երբ մենք պտտում ենք դռների ծնողը, առանցքային կետը ճիշտ տեղում է:
Մենք պատրաստվում ենք սցենար պատրաստել, որը կբացի դռները, երբ մոտենաք մեքենային, բայց մինչ դա անելը մեզ միջոց է անհրաժեշտ իրադարձությունը «հրահրելու» համար: Ձեր դռան մայր խաղի օբյեկտին ավելացրեք տուփի բախիչ և չափեք այն այնպես, որ այն մի փոքր անցնի մեքենայի վրայով երկու ուղղություններով: Ստուգեք «isTrigger»: Այժմ ավելացրեք տուփի բախիչ հիմնական տեսախցիկին և համապատասխան չափեք այն: Ստուգեք նաև «isTrigger»: Ավելացրեք Rigid Body բաղադրիչ ձեր տեսախցիկին և հեռացրեք «useGravity» նշումը: Ընտրված տեսախցիկով ՝ տեսչի վերևում փոխեք դրա պիտակը «MainCamera» - ի:
Ավելացրեք նոր սցենար, որը կոչվում է «LamboDoorBehavior» և ավելացրեք ներքևի ծածկագիրը: Քաշեք սցենարը ձեր դռան ծնողի վրա:
օգտագործելով System. Collections;
օգտագործելով System. Collections. Generic; օգտագործելով UnityEngine; հանրային դաս LamboDoorBehavior: MonoBehaviour {private float currAngle = 0; մասնավոր բոց ցանկալի անկյուն = 0; // Թարմացումը կոչվում է մեկ անգամ մեկ շրջանակի համար անվավեր Update () {currAngle = Mathf. LerpAngle (currAngle, სასურველიAngle, Time.deltaTime * 3f); transform.localEulerAngles = նոր Վեկտոր 3 (currAngle, 0, 0); } public void OpenDoors () {wishAngle = 60f; } public void CloseDoors () {სასურველიAngle = 0; } void OnTriggerEnter (Collider col) {if (col. CompareTag ("MainCamera")) {OpenDoors (); }} void OnTriggerExit (Collider col) {if (col. CompareTag ("MainCamera")) {CloseDoors (); }}}
Այս սցենարը կհանգեցնի ձեր դռների դանդաղ բացմանը, երբ դրանք փակեք AR- ում ՝ օգտագործելով Lerp () գործառույթը միասնության մեջ, որը միջակետ է դնում երկու կետերի (կամ այս դեպքում երկու անկյունների) միջև:
Քայլ 7: Տեսանյութի նվագարկում AR- ում:
Վերջին բանը, որ մենք պետք է անենք, AR- ում տեսանյութերի նվագարկումն է:
Աջ սեղմեք ցանկացած խաղային օբյեկտի վրա, որը ձեր մեքենայի երեխան է և ստեղծեք եռաչափ օբյեկտ ՝ Quad: Սա կհամոզվի, որ քառանկյունը ձեր մեքենայի երեխան է: Տեղադրեք և չափափոխեք այս քառակուսին այնպես, որ այն տեղավորվի ձեր մեքենայի գծի ներսում և կարծես այն այնտեղ լինի: Սա այն է, ինչի վրա մենք պատրաստվում ենք տեսանյութը խաղալ:
Ավելացրեք վիդեո նվագարկիչի բաղադրիչ ձեր չորսին: Փոխեք աղբյուրը URL- ի և գտեք. MP4 ֆայլի կոշտ հղում կամ տեսաֆայլը քաշեք ձեր ակտիվների թղթապանակ, այնուհետև քաշեք այդ հոլովակը դատարկ անցքի մեջ: Եթե ցանկանում եք տեսանյութում URL- ից հոսել, Instragram- ը հիանալի աղբյուր է: Աջ սեղմեք Google Chrome- ի Instagram- ի ցանկացած տեսանյութի վրա և կտտացրեք ստուգել: Գտեք տեսանյութը պարունակող բաժինը և պատճենեք հղումը այնտեղից (ես այս մեթոդը պատկերում եմ վերևում):
Համոզվեք, որ ստուգեք հանգույցը, եթե ցանկանում եք, որ այն խաղա մեկից ավելի անգամ: Այս խաղի օբյեկտին ավելացրեք աուդիո աղբյուրի բաղադրիչ և փոխեք ելքային աղբյուրը տեսաձայնագրիչի նվագարկիչի ձայնային աղբյուրի: Ձեր նորաստեղծ ձայնային աղբյուրը քաշեք այդ անցքի մեջ:
Վերջապես մենք ավարտեցինք:
Քայլ 8: Putրագիրը տեղադրեք ձեր հեռախոսի վրա:
Եթե դուք Android- ի համար եք կառուցում, կարող եք պարզապես գնալ ֆայլ և սեղմել կառուցել և գործարկել ձեր հեռախոսը միացված:
Եթե դուք կառուցում եք iPhone կամ iPad, համոզվեք, որ ներբեռնեք Xcode հավելվածների խանութից: Նաև գրանցվեք խնձորի մշակողի անվճար հաշվին ՝ www.apple.developer.com կայքից: Գնացեք ֆայլ և կտտացրեք կառուցել: Բացեք Xcode- ից ստեղծված ֆայլը և միացրեք հեռախոսը: Ընտրեք ձեր զարգացման թիմը և սեղմեք խաղի կոճակը:
Հնարավոր է, որ ստիպված լինեք մի փոքր շարժել տեսախցիկը, բայց մի վայրկյան տվեք և դիպչեք էկրանին, և տեսեք, որ ձեր մեքենան երկնքից ընկնում է գետնին: Այժմ կարող եք ներս մտնել և դիտել ձեր տեսանյութի նվագարկումը վահանակում:
Haveվարճացեք և մեկնաբանությունների դեպքում ինձ տեղեկացրեք, եթե հարցեր ունեք:
Խորհուրդ ենք տալիս:
Բարձրացրեք ձեր հիշողությունը ընդլայնված իրականության մտքի պալատով `8 քայլ
Բարձրացրեք ձեր հիշողությունը ընդլայնված իրականության մտքի պալատով. Մտքի պալատների օգտագործումը, ինչպես Շերլոկ Հոլմսում, օգտագործվել է հիշողության չեմպիոնների կողմից `բազմաթիվ տեղեկություններ հիշեցնելու համար, ինչպիսիք են խառը քարտեզի տախտակամածի քարտերի հերթականությունը: Մտքի պալատը կամ տեղանքի մեթոդը հիշողության տեխնիկա է, որտեղ տեսողական հիշողությունները
GlobalARgallery - Ընդլայնված իրականության գլոբալ պատկերասրահ. 16 քայլ
#GlobalARgallery - Ընդլայնված իրականության գլոբալ պատկերասրահ. #GlobalARgallery- ը հնարավորություն է տալիս դպրոցներին (և այլոց) անհամաժամ կապ հաստատել ամբողջ աշխարհում և կիսել փորձառություններ, արվեստի գործեր, պատմություններ, ժամանակացույցեր, ցուցահանդեսներ, շնորհանդեսներ և որևէ այլ բան, որ կարող եք պատկերացնել: Այս բոլորը հայտնվում են A
Ընդլայնված իրականության հեռախոսի հանդերձում ՝ 7 քայլ
Ընդլայնված իրականության հեռախոսի հանդերձում. Էժան, հեշտ, զով:
Ընդլայնված իրականության հանելուկ. 11 քայլ
Ընդլայնված իրականության հանելուկ. Հանելուկ խաղերը պարզապես հիանալի են: Կան բոլոր տեսակի հանելուկներ, բնորոշ ոլորահատ սղոց, լաբիրինթոս, այս ժանրի նշաններով և նույնիսկ տեսախաղերով (օրինակ ՝ կապիտան դոդոշ): Հանելուկ խաղերը խաղացողից պահանջում են նախագծել խնդիրների լուծման ռազմավարություն:
Ընդլայնված իրականության վեբ զննարկիչ. 9 քայլ
Ընդլայնված իրականության վեբ դիտարկիչ. Այսօր մենք պատրաստվում ենք Android- ի համար Լրացուցիչ իրականության վեբ զննարկիչ պատրաստել: Այս գաղափարը սկսվեց այն ժամանակ, երբ ExpressVPN- ն ինձ խնդրեց հովանավորվող YouTube տեսանյութ պատրաստել: Քանի որ սա իմ առաջինն է, ես ուզում էի անել մի բան, որը համապատասխան էր նրանց արտադրանքին: Պր