Orodha ya maudhui:

Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi.: Hatua 8
Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi.: Hatua 8

Video: Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi.: Hatua 8

Video: Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi.: Hatua 8
Video: 28 панфиловцев. Самая полная версия. Panfilov's 28 Men (English subtitles) 2024, Novemba
Anonim
Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi
Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi
Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi
Ukweli uliodhabitiwa Vuforia 7 Kugundua Ndege Ya Ardhi

Ukweli uliodhabitiwa wa Vuforia SDK ya Unity 3D hutumia ARCore na ARKit kugundua ndege za ardhini katika AR. Mafunzo ya leo yatatumia ujumuishaji wao wa asili katika Unity kutengeneza programu ya AR ya Android au IOS. Tutakuwa na gari likianguka kutoka angani na kuanguka chini, na milango yake itafunguliwa kiatomati tukikaribia. Tutapita pia kufanya video katika AR. Kufuata utahitaji Unity 3D iliyosanikishwa kwenye kompyuta yako (ni bure). Maagizo haya ni ya Kompyuta jumla kwa hivyo tutapita kila kitu kwa undani!

Sehemu bora kuhusu SLAM ya Vuforia ni kiasi cha vifaa vya IOS na Android ambavyo inasaidia. Orodha kamili ya vifaa inaweza kupatikana hapa:

library.vuforia.com/articles/Solution/grou…

Hatua ya 1: Anzisha Mradi Mpya

Anza Mradi Mpya
Anza Mradi Mpya

Pakua Unity 3D kutoka hapa ikiwa unayo tayari:

Hakikisha kusanikisha usaidizi wa Ukweli ulioongezwa wa Vuforia na Android au IOS kulingana na kifaa gani ulichonacho.

Fungua Umoja na uanze mradi mpya wa Umoja, uipigie chochote unachotaka.

Kwanza lets kupata programu iliyoundwa ili kujenga ili tusisahau. Kwa hivyo, weka eneo na uiita "kuu".

Nenda kwenye faili, jenga mipangilio, na ubadilishe jukwaa lako la kujenga kwa Android au IOS. Nenda kwenye mipangilio ya XR katika mipangilio ya kichezaji na angalia Ukweli ulioboreshwa wa Vuforia.

Ikiwa yako kwenye Android hautalazimika kufanya kitu kingine chochote, lakini kwenye IOS nenda kwenye mipangilio mingine na uhakikishe kuweka kitu kwa kitambulisho chako. Tumia fomati "com. YourCompanyName. YourAppName."

Weka chochote kwa maelezo ya matumizi ya kamera na ubadilishe toleo la kiwango cha chini cha lengo kuwa angalau 9.0.

Funga nje ya hiyo na sasa wacha tupate kila kitu kingine kuanzisha.

Hatua ya 2: Wacha Tuanzishe Vuforia

Wacha tuanzishe Vuforia
Wacha tuanzishe Vuforia

Sasa wacha tuweke kila kitu.

Nenda kwenye kitu cha mchezo kwenye menyu ya juu na bonyeza ARCamera. Sasa futa kamera kuu kutoka kwa eneo lako.

Chagua Kamera ya ARC na upande wa kulia katika mkaguzi bonyeza Bonyeza Usanidi wa Vuforia. Bonyeza mkusanyiko wa hifadhidata na uondoe kila kitu kwa sababu hatutumii malengo yoyote ya picha hapa.

Bonyeza tracker kifaa na bonyeza kufuatilia kifaa pose. Badilisha ufuatiliaji kutoka kwa kuzunguka hadi kwa hali.

Sasa rudi kwenye kichupo cha kitu cha mchezo na bonyeza Vuforia, Ndege ya chini, na kipata Ndege. Hii inaweka hati ambazo hupata ndege yetu ya ardhini.

Jambo la mwisho tunalohitaji ni hatua ya ndege ya ardhini, kwa hivyo nenda kwenye kitu cha mchezo tena kwenye menyu ya juu, na ubonyeze Vuforia, Ndege ya chini, na uchague Hatua ya Ndege ya Chini. Sasa chochote ambacho sisi watoto kwa hii kitaonekana katika AR.

Hatua ya 3: Ongeza Hati mpya

Ongeza Hati mpya
Ongeza Hati mpya
Ongeza Hati mpya
Ongeza Hati mpya

Tabia ya msingi ya kugundua ndege hii ya ardhini ni kuweka kitu kipya kila wakati unapobonyeza skrini. Tunachotaka ni kuweka tu kitu kila wakati unapobonyeza skrini. Kwa hivyo bonyeza kulia kwenye folda yako ya mali na uunde hati mpya ya C #. Iite "DeployStageOnce" na ubadilishe kila kitu na nambari hii:

kutumia Mfumo;

kutumia UnityEngine; kutumia Vuforia; darasa la umma DeployStageOnce: MonoBehaviour {public GameObject AnchorStage; binafsi PositionalDeviceTracker _deviceTracker; mchezo wa kibinafsi wa GameObject _previousAchch; Start void Start () {if (AnchorStage == null) {Debug. Log ("AnchorStage lazima ielezwe"); kurudi; } AnchorStage. SetActive (uwongo); } utupu wa umma Amkeni () {VuforiaARController. Instance. RegisterVuforiaStartedCallback (OnVuforiaStarted); } utupu wa umma OnDestroy () {VuforiaARController. Instance. UnregisterVuforiaStartedCallback (OnVuforiaStarted); } utupu wa kibinafsi OnVuforiaStarted () {_deviceTracker = TrackerManager. Instance. GetTracker (); } utupu wa umma OnInteractiveHitTest (matokeo ya HitTestResult) {if (result == null || AnchorStage == null) {Debug. LogWarning ("Hit test is invalid or AnchorStage not set"); kurudi; } var nanga = _deviceTracker. CreatePlaneAnchor (Guid. NewGuid (). ToString (), matokeo); ikiwa (nanga! = batili) {AnchorStage.transform.parent = anchor.transform; AnchorStage.transform.localPosition = Vector3.zero; AnchorStage.transform.localRotation = Quaternion. Makazi; AnchorStage. SetActive (kweli); } ikiwa (_previousAnchor! = batili) {Kuharibu (_previousAnchor); } _previousAnchor = nanga; }}

Ili kuhakikisha hati hii inatumiwa tunahitaji kupiga kazi ya OnInteractiveHitTest () kwa hivyo rudi kwa Umoja na ubofye kitu cha mchezo wa kipata ndege. Badilisha hali kutoka moja kwa moja kuwa Interactive. Buruta hati tuliyoifanya tu kwenye kitu cha mchezo wa kipata ndege. Ondoa hati ya Tabia ya Uwekaji wa Maudhui. Utaona mahali pa kitu cha mchezo kwenye hati ya DeployStageOnce, buruta kipata ndege huko, na upate hati hii, chagua kazi ya OnInteractiveHitTest kutoka juu ya orodha. Sasa kazi yetu itaitwa wakati wowote mtumiaji anapobofya kwenye skrini!

Hatua ya 4: Wacha tuongeze Gari

Wacha tuongeze Gari
Wacha tuongeze Gari

Pakua mfano huu wa gari ya bure ya 3D kutoka hapa (Hakikisha kupata toleo la.obj):

www.turbosquid.com/3d-models/max-exterior-…

Pia, pakua sauti hii kwa sababu tutacheza wakati gari likianguka chini:

freesound.org/people/PaulMorek/sounds/1967…

Unzip faili hizo zote mbili na uburute kwenye folda ya mali yako.

Bonyeza kwenye gari na uangalie kulia, badilisha Tumia Vifaa vya Kupachikwa Kutumia Vifaa vya Nje (Urithi) kutoka menyu ya kushuka hapo juu. Sasa tutaweza kubadilisha rangi ya vifaa vyote kwenye gari.

Buruta gari kwenye hatua yako ya ndege ya ardhini na kuifanya kuwa mtoto. Badilisha kiwango kuwa.035 kwenye x, y, na z.

Sasa pitia kila gari vitu vya mchezo wa watoto na ubadilishe vifaa vyao kwa rangi yoyote unayotaka.

Ongeza sehemu ngumu ya mwili kwenye kitu cha mchezo wa mizizi ya gari na pia ongeza kisanduku cha sanduku, kiongeze kwa hivyo inashughulikia gari lote. Pia ongeza kisanduku cha sanduku kwenye hatua ya ndege ya ardhini na uipime kwa upana mara kadhaa kuliko hatua ya ndege ya ardhini. Kwa njia hii tunaweza kuacha gari kutoka angani na itagonga chini kwa kutumia Unity iliyojengwa katika injini ya fizikia.

Hatua ya 5: Weka Gari Angani

Weka Gari Angani
Weka Gari Angani

Ongeza kipengee cha chanzo cha sauti kwenye kitu cha mchezo wa mizizi ya gari, buruta sauti ya ajali ya gari ndani ya sehemu ya klipu ya sauti.

Sasa tunahitaji kutengeneza maandishi ambayo yataweka gari hewani wakati mtumiaji anapobonyeza skrini na kisha kucheza sauti ya ajali wakati gari linapiga chini. Kwa hivyo, bonyeza kulia kwenye folda ya mali na unda hati mpya ya C # na uiita "CarController."

Badilisha nambari zote hapo na hii:

kutumia System. Collections;

kutumia System. Collections. Generic; kutumia UnityEngine; Daraja la umma CarController: MonoBehaviour {bool ya faragha soundPlayed = uongo; // Sasisho inaitwa mara moja kwa kila tupu Sasisho Tupu () {if (! SoundPlayed && transform.localPosition.y <.05f) {soundPlayed = true; StartCoroutine (Kucheleweshwa kwa PlaySound ()); }} utupu wa umma MoveCar () {transform.localPosition + = Vector3 mpya (0, 10, 0); kubadilisha.eulerAngles + = Vector3 mpya (5, 20, 5); soundPlayed = uwongo; } IEnumerator DelayPlaySound () {mavuno kurudi WaitForSeconds mpya (.2f); PataComponent (). Cheza (); }}

Ongeza kazi ya MoveCar kwenye hafla ya OnInteractiveHitTest kama kwenye picha hapo juu. Sasa itaitwa wakati mtumiaji anabofya kwenye skrini.

Hatua ya 6: Milango ya Lambo

Milango ya Lambo
Milango ya Lambo

Kwa hivyo ukipanua kitu cha mchezo wa gari na kupata milango, utaona milango yote ni matundu moja. Ikiwa tunataka kufungua milango chaguo letu tu litakuwa milango ya Lambo ambayo inafunguliwa kwa wima. Ili kufanya kazi hii tunahitaji kwanza kubadilisha hatua yao ya msingi.

Fanya kitu cha mchezo tupu ambacho ni mtoto wa gari. Buruta milango ndani na uwafanye mtoto wa kitu hiki kipya cha mchezo. Sogeza kipengee cha mchezo wa mzazi mahali pafaa mahali pa kuzunguka, na bawaba za mlango. Sasa songa milango ya mtoto mahali pake. Sasa tunapozungusha milango ya mzazi, hatua ya kuzunguka iko mahali pazuri.

Tutafanya hati inayofungua milango ukifika karibu na gari lakini kabla ya kufanya hivyo tunahitaji njia ya "kuchochea" hafla hiyo. Ongeza kisanduku cha sanduku kwenye kitu cha mchezo wa mzazi wa mlango wako na upime kwa hivyo huenda kidogo juu ya gari kwa pande zote mbili. Angalia "isTrigger". Sasa ongeza kisanduku cha sanduku kwenye kamera kuu na uipime ipasavyo. Pia angalia "isTrigger". Ongeza sehemu ya Rigid Body kwenye kamera yako na uondoe "useGravity". Na kamera yako ikichaguliwa, badilisha lebo yake kuwa "MainCamera" juu ya mkaguzi.

Ongeza hati mpya inayoitwa "LamboDoorBehavior" na uongeze nambari hapa chini. Buruta hati kwa mzazi wa mlango wako.

kutumia System. Collections;

kutumia System. Collections. Generic; kutumia UnityEngine; darasa la umma LamboDoorBehavior: MonoBehaviour {private float currAngle = 0; kuelea ya kibinafsi inayotakaAngle = 0; // Sasisho inaitwa mara moja kwa Sasisho tupu la fremu () {currAngle = Mathf. LerpAngle (currAngle, desiredAngle, Time.deltaTime * 3f); transform.localEulerAngles = mpya Vector3 (currAngle, 0, 0); } utupu wa umma OpenDoors () {desiredAngle = 60f; } utupu wa umma CloseDoors () {desiredAngle = 0; } batili OnTriggerEnter (Collider col) {if (col. CompareTag ("MainCamera")) {OpenDoors (); }} batili OnTriggerExit (Collider col) {if (col. CompareTag ("MainCamera")) {CloseDoors (); }}}

Hati hii itasababisha milango yako kufungua pole pole ukiwa karibu na AR kwa kutumia kazi ya Lerp () kwa umoja ambayo inaingiliana kati ya nukta mbili (au katika hali hii pembe mbili).

Hatua ya 7: Kucheza Video katika AR

Inacheza Video katika AR
Inacheza Video katika AR
Inacheza Video katika AR
Inacheza Video katika AR

Jambo la mwisho tunalohitaji kufanya ni kucheza video katika AR.

Bonyeza kulia kwenye kitu chochote cha mchezo ambacho ni mtoto wa gari lako na uunda kitu cha 3D, Quad. Hii itahakikisha quad ni mtoto wa gari lako. Weka na ubadilishe ukubwa wa quad hii ili iweze kutoshea ndani ya gari lako na inaonekana kama inapaswa kuwa huko. Hii ndio tutacheza video hiyo.

Ongeza sehemu ya kicheza video kwenye quad yako. Badilisha chanzo kuwa URL na upate kiunga kigumu cha faili ya. MP4 au buruta faili ya video kwenye folda yako ya mali na kisha uburute kipande hicho kwenye nafasi tupu. Ikiwa unataka kutiririka kwenye video kutoka kwa URL, Instragram ni chanzo kizuri. Bonyeza kulia kwenye video yoyote ya Instagram kwenye Google Chrome na ubonyeze kukagua. Pata div iliyo na video na nakili kiunga kutoka hapo (nina njia hii iliyoonyeshwa hapo juu).

Hakikisha kuangalia kitanzi ikiwa unataka icheze zaidi ya mara moja. Ongeza sehemu ya chanzo cha sauti kwenye kitu hiki cha mchezo na ubadilishe chanzo cha pato kuwa chanzo cha sauti kwenye kicheza video. Buruta kwenye chanzo chako kipya cha sauti kwenye nafasi hiyo.

Mwishowe tumemaliza!

Hatua ya 8: Weka Programu kwenye Simu yako

Weka App kwenye simu yako!
Weka App kwenye simu yako!

Ikiwa unajengea Android unaweza kwenda kwenye faili na kugonga kujenga na kukimbia na simu yako imeingia.

Ikiwa unajijengea iPhone au na iPad, hakikisha kupakua Xcode kutoka duka la programu. Pia, jiandikishe kwa akaunti ya bure ya msanidi programu kutoka www.apple.developer.com. Nenda kwenye faili na ugonge kujenga. Fungua faili ambayo iliundwa kutoka kwa Xcode na ingiza simu yako. Chagua timu yako ya maendeleo na bonyeza kitufe cha kucheza.

Unaweza kulazimika kuzunguka kamera kidogo lakini mpe sekunde na gonga skrini na unapaswa kuona gari yako ikianguka kutoka angani ikianguka chini! Sasa unaweza kuingia ndani na kutazama video yako ikicheza kwenye dashibodi!

Furahiya na unijulishe ikiwa una maswali yoyote kwenye maoni!

Ilipendekeza: