ዝርዝር ሁኔታ:
- ደረጃ 1 አዲስ ፕሮጀክት ይጀምሩ።
- ደረጃ 2 Vuforia ን እናቀናብር።
- ደረጃ 3 አዲስ ስክሪፕት ያክሉ።
- ደረጃ 4 መኪናውን እንጨምር።
- ደረጃ 5 መኪናውን በሰማይ ውስጥ ያስገቡ።
- ደረጃ 6 - የላምቦ በሮች።
- ደረጃ 7 ቪዲዮን በ AR ውስጥ ማጫወት።
- ደረጃ 8: መተግበሪያውን በስልክዎ ላይ ያድርጉት
ቪዲዮ: የተጨመረው እውነታ Vuforia 7 የመሬት አውሮፕላን ማወቂያ ።: 8 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
የ Vuforia የተጨመረው እውነታ ኤስዲኬ ለአንድነት 3 ዲ በ AR ውስጥ የመሬት አውሮፕላኖችን ለመለየት ARCore እና ARKit ን ይጠቀማል። የዛሬው መማሪያ የ AR መተግበሪያ ለ Android ወይም ለ IOS ለማድረግ የአገሬውን ውህደት በአንድነት ይጠቀማል። መኪና ከሰማይ ወድቆ መሬት ላይ ወደቀ ፣ እና ስንጠጋ በሮች በራስ -ሰር ይከፈታሉ። እንዲሁም በ AR ውስጥ ቪዲዮ በመስራት ላይ እንሄዳለን። እሱን ለመከተል በኮምፒተርዎ ላይ የተጫነ አንድነት 3 ዲ ያስፈልግዎታል (ነፃ ነው)። እነዚህ መመሪያዎች ለጠቅላላው ለጀማሪዎች ናቸው ስለዚህ እኛ ሁሉንም ነገር በዝርዝር እንመረምራለን!
ስለ Vuforia's SLAM በጣም ጥሩው ክፍል የሚደግፈው የ IOS እና የ Android መሣሪያዎች መጠን ነው። የተሟላ የመሣሪያ ዝርዝር እዚህ ይገኛል-
library.vuforia.com/articles/Solution/grou…
ደረጃ 1 አዲስ ፕሮጀክት ይጀምሩ።
እርስዎ ከሌሉ አንድነት 3 ዲን ከዚህ ያውርዱ
በየትኛው መሣሪያ ላይ በመመስረት ለ Vuforia Augmented Reality እና ለ Android ወይም ለ IOS ድጋፍን መጫንዎን ያረጋግጡ።
አንድነትን ከፍተው አዲስ የአንድነት ፕሮጀክት ይጀምሩ ፣ የፈለጉትን ይደውሉ።
እኛ እንዳንረሳ መጀመሪያ ለመገንባት የሚዘጋጅበትን መተግበሪያ እንውጣ። ስለዚህ ትዕይንቱን ያስቀምጡ እና “ዋና” ብለው ይደውሉ።
ወደ ፋይል ይሂዱ ፣ ቅንብሮችን ይገንቡ እና የግንባታ መድረክዎን ወደ Android ወይም IOS ይቀይሩ። በተጫዋች ቅንብሮች ውስጥ ወደ የ XR ቅንብሮች ይሂዱ እና የ Vuforia Augmented Reality Support ን ይፈትሹ።
በ Android ላይ ከሆኑ ሌላ ምንም ማድረግ አይጠበቅብዎትም ፣ ነገር ግን በ IOS ላይ ወደ ሌሎች ቅንብሮች ይሂዱ እና ለቅርቅ መለያዎ የሆነ ነገር ማስገባትዎን ያረጋግጡ። "Com. YourCompanyName. YourAppName" የሚለውን ቅርጸት ይጠቀሙ።
ለካሜራ አጠቃቀም መግለጫ ማንኛውንም ነገር ያስገቡ እና የታለመውን ዝቅተኛ የግንባታ ሥሪት ወደ ቢያንስ 9.0 ይቀይሩ።
ከዚያ ዘግተው አሁን ሁሉንም ነገር እናዘጋጅ።
ደረጃ 2 Vuforia ን እናቀናብር።
አሁን ሁሉንም ነገር እናስተካክል።
በላይኛው ምናሌ ውስጥ ወደ የጨዋታ ነገር ይሂዱ እና ARCamera ን ጠቅ ያድርጉ። አሁን ዋናውን ካሜራ ከእርስዎ ትዕይንት ይሰርዙ።
ARCamera ን ይምረጡ እና በተቆጣጣሪው ውስጥ በቀኝ በኩል ክፈት Vuforia ውቅረትን ጠቅ ያድርጉ። የውሂብ ስብስቦችን ስብስብ ጠቅ ያድርጉ እና እዚህ ማንኛውንም የምስል ኢላማዎችን ስለማንጠቀም ሁሉንም ነገር ምልክት ያንሱ።
በመሣሪያ መከታተያ ላይ ጠቅ ያድርጉ እና የመሣሪያ አቀማመጥን ይከታተሉ። መከታተያውን ከማሽከርከር ወደ አቀማመጥ ይለውጡ።
አሁን ወደ ጨዋታው ነገር ትር ይመለሱ እና ፉፎሪያ ፣ የመሬት ላይ አውሮፕላን እና የአውሮፕላን ፈላጊን ጠቅ ያድርጉ። ይህ የእኛን የመሬት አውሮፕላን የሚያገኙ ስክሪፕቶችን ይይዛል።
እኛ የምንፈልገው የመጨረሻው ነገር የመሬቱ አውሮፕላን ደረጃ ነው ፣ ስለዚህ በላይኛው ምናሌ ውስጥ እንደገና ወደ ጨዋታ ነገር ይሂዱ ፣ እና ፉፎሪያን ፣ የመሬት ፕላንን ጠቅ ያድርጉ እና የመሬት አውሮፕላን ደረጃን ይምረጡ። አሁን እኛ ለዚህ ልጅ የምናደርገው ማንኛውም ነገር በ AR ውስጥ ይታያል።
ደረጃ 3 አዲስ ስክሪፕት ያክሉ።
የዚህ የመሬት አውሮፕላን ማወቂያ ነባሪ ባህሪ በማያ ገጹ ላይ በተጫኑ ቁጥር አዲስ ነገር ማስቀመጥ ነው። እኛ የምንፈልገው በማያ ገጹ ላይ በጫኑ ቁጥር ዕቃውን እንደገና ማዛወር ነው። ስለዚህ በንብረቶችዎ አቃፊ ውስጥ በቀኝ ጠቅ ያድርጉ እና አዲስ C# ስክሪፕት ይፍጠሩ። “DeployStageOnce” ብለው ይደውሉ እና ሁሉንም ነገር በዚህ ኮድ ይተኩ
ስርዓትን በመጠቀም;
UnityEngine ን በመጠቀም; Vuforia ን በመጠቀም; የሕዝብ ክፍል DeployStageOnce: MonoBehaviour {public GameObject AnchorStage; የግል PositionalDeviceTracker _deviceTracker; የግል GameObject _previousAncho; ይፋዊ ባዶነት ጀምር () {ከሆነ (መልህቅ ደረጃ == ባዶ) {አርም.ሎግ (“መልህቅ ደረጃ መገለጽ አለበት”) ፤ መመለስ; } መልህቅ መድረክ።ሴቲቭ (ሐሰት) ፤ } public void Awake () {VuforiaARController. Instance. RegisterVuforiaStartedCallback (OnVuforiaStarted) ፤ } የሕዝብ ባዶነት OnDestroy () {VuforiaARController. Instance. UnregisterVuforiaStartedCallback (OnVuforiaStarted) ፤ } የግል ባዶነት OnVuforiaStarted () {_deviceTracker = TrackerManager. Instance. GetTracker (); } ይፋዊ ባዶነት OnInteractiveHitTest (HitTestResult ውጤት) {ከሆነ (ውጤት == ባዶ || AnchorStage == null) {አርም። መመለስ; } var መልሕቅ = _deviceTracker. CreatePlaneAnchor (Guid. NewGuid ()። ToString () ፣ ውጤት) ፤ ከሆነ (መልህቅ! = ባዶ) {AnchorStage.transform.parent = anchor.transform; AnchorStage.transform.localPosition = Vector3.zero; AnchorStage.transform.localRotation = Quaternion.identity; መልህቅ ደረጃ። SetActive (እውነተኛ); } ከሆነ (_previousAnchor! = null) {አጥፋ (_previousAnchor); } _previousAncho = መልህቅ; }}
ይህ ስክሪፕት መጠቀሙን ለማረጋገጥ የ OnInteractiveHitTest () ተግባርን መደወል አለብን ስለዚህ ወደ አንድነት ይመለሱ እና የአውሮፕላኑን ፈላጊ ጨዋታ ነገር ጠቅ ያድርጉ። ሁነታን ከአውቶማቲክ ወደ መስተጋብራዊ ይለውጡ። እኛ በአውሮፕላን መፈለጊያ ጨዋታ እቃ ላይ የሠራነውን ስክሪፕት ይጎትቱ። የይዘት አቀማመጥ አቀማመጥ ባህሪን ስክሪፕት ያስወግዱ። በ DeployStageOnce ስክሪፕት ላይ ለጨዋታ ነገር ቦታ ያያሉ ፣ የአውሮፕላኑን መፈለጊያ ወደዚያ ይጎትቱ እና ይህን ስክሪፕት ያግኙ ፣ ከዝርዝሩ አናት ላይ የ OnInteractiveHitTest ተግባርን ይምረጡ። ተጠቃሚው በማያ ገጹ ላይ ጠቅ ባደረገ ቁጥር አሁን የእኛ ተግባር ይጠራል!
ደረጃ 4 መኪናውን እንጨምር።
ይህንን ነፃ የመኪና 3 ዲ አምሳያ ከዚህ ያውርዱ (የ.obj ስሪት ማግኘቱን ያረጋግጡ)
www.turbosquid.com/3d-models/max-exterior-…
እንዲሁም ፣ መኪናው መሬት ላይ ሲመታ እናጫውተዋለን ምክንያቱም ይህንን ድምጽ ያውርዱ -
freesound.org/people/PaulMorek/ ድምፆች/1967…
ሁለቱንም ፋይሎች ይንቀሉ እና ወደ ንብረትዎ አቃፊ ይጎትቷቸው።
መኪናው ላይ ጠቅ ያድርጉ እና ወደ ቀኝ ይመልከቱ ፣ ከላይ ከተቆልቋይ ምናሌው ውስጥ የውጭ ቁሳቁሶችን (ውርስን) ለመጠቀም የተካተቱ ዕቃዎችን ይጠቀሙ። አሁን በመኪናው ላይ ያሉትን ሁሉንም ቁሳቁሶች ቀለም መለወጥ እንችላለን።
ሕፃኑን በማድረግ መኪናውን ወደ መሬት አውሮፕላን ደረጃዎ ይጎትቱት። በ x ፣ y እና z ላይ መጠኑን ወደ.035 ይለውጡ።
አሁን በእያንዳንዱ መኪናዎች የልጆች ጨዋታ ዕቃዎች ውስጥ ይሂዱ እና ቁሳቁሶቻቸውን ወደፈለጉት ቀለም ይለውጡ።
በመኪናው የስር ጨዋታ ነገር ላይ ግትር የሆነ የአካል ክፍል ይጨምሩ እና እንዲሁም የሳጥን መጋጫ ይጨምሩ ፣ መላውን መኪና እንዲሸፍን ያድርጉት። እንዲሁም በመሬት አውሮፕላኑ ደረጃ ላይ የሳጥን መጋጫ ያክሉ እና ከመሬት አውሮፕላን ደረጃ ጥቂት እጥፍ የበለጠ እንዲሰፋ ያድርጉት። በዚህ መንገድ መኪናውን ከሰማይ ማውረድ እንችላለን እና በዩኒቲ የተገነባውን በፊዚክስ ሞተር በመጠቀም መሬት ላይ ይመታል።
ደረጃ 5 መኪናውን በሰማይ ውስጥ ያስገቡ።
በመኪናው የስር ጨዋታ ነገር ላይ የኦዲዮ ምንጭ አካልን ያክሉ ፣ የመኪና አደጋ ድምፅን ወደ የድምጽ ቅንጥብ ቦታ ይጎትቱት።
አሁን ተጠቃሚው በማያ ገጹ ላይ ሲጫን መኪናው መሬት ላይ ሲመታ የብልሽት ድምፅ የሚጫወትበት ስክሪፕት ማድረግ አለብን። ስለዚህ ፣ በንብረቶች አቃፊ ውስጥ በቀኝ ጠቅ ያድርጉ እና አዲስ C# ስክሪፕት ይፍጠሩ እና “የመኪና መቆጣጠሪያ” ብለው ይደውሉለት።
እዚያ ያሉትን ሁሉንም ኮዶች በዚህ ይተኩ
ስርዓትን በመጠቀም ስብስቦችን;
System. Collections. Generic ን በመጠቀም። UnityEngine ን በመጠቀም; የሕዝብ መደብ የመኪና መቆጣጠሪያ - ሞኖባህሪዩር {የግል ቡል ድምፅPlayed = false; // ዝማኔ በአንድ ፍሬም ባዶነት አንድ ጊዜ ይጠራል ዝማኔ () {ከሆነ (! SoundPlayed && transform.localPosition.y <.05f) {soundPlayed = true; StartCoroutine (DelayPlaySound ()); }} የሕዝብ ባዶነት MoveCar () {transform.localPosition += new Vector3 (0, 10, 0); transform.eulerAngles += new Vector3 (5, 20, 5); soundPlayed = ሐሰት; } IEnumerator DelayPlaySound () {yield return new WaitForSeconds (.2f); GetComponent (). Play (); }}
ከላይ በስዕሉ ላይ እንደሚታየው የ “MoveCar” ተግባሩን ወደ OnInteractiveHitTest ክስተት ያክሉ። አሁን ተጠቃሚው በማያ ገጹ ላይ ጠቅ ሲያደርግ ይጠራል።
ደረጃ 6 - የላምቦ በሮች።
ስለዚህ የመኪና ጨዋታ ነገሩን ካስፋፉ እና በሮቹን ካገኙ ፣ ሁለቱም በሮች አንድ ነጠላ ፍርግርግ መሆናቸውን ያስተውላሉ። በሮችን ለመክፈት ከፈለግን ብቸኛው አማራጭ በአቀባዊ የሚከፈቱ የላምቦ በሮች መሆን ነው። ይህንን ሥራ ለመሥራት በመጀመሪያ የእነሱን ምሰሶ ነጥብ መለወጥ አለብን።
የመኪናው ልጅ የሆነ ባዶ የጨዋታ ነገር ያድርጉ። በሮቹን ጎትተው የዚህ አዲስ የጨዋታ ነገር ልጅ ያድርጓቸው። የወላጅ ጨዋታ ዕቃውን በበሩ መቀርቀሪያዎች በኩል የምስሶ ነጥቡ ወደሚገኝበት ያንቀሳቅሱት። አሁን የልጁን በሮች ወደ ቦታው መልሰው ያንቀሳቅሱት። አሁን በሮች ወላጅ ስንዞር ፣ የምስሶ ነጥቡ በትክክለኛው ቦታ ላይ ነው።
ወደ መኪናው ሲጠጉ በሮችን የሚከፍት ስክሪፕት እናደርጋለን ፣ ግን ያንን ከማድረጋችን በፊት ክስተቱን “ለመቀስቀስ” መንገድ እንፈልጋለን። በበርዎ የወላጅ ጨዋታ ነገር ላይ የሳጥን መጋጠሚያ ያክሉ እና ያስተካክሉት ስለዚህ በሁለቱም አቅጣጫዎች በመኪናው ላይ በትንሹ እንዲሄድ ያድርጉ። «IsTrigger» ን ይፈትሹ። አሁን የሳጥን መጋጠሚያ ወደ ዋናው ካሜራ ያክሉ እና በተገቢው ሁኔታ ያስተካክሉት። እንዲሁም “isTrigger” ን ይፈትሹ። በካሜራዎ ላይ ጠንካራ አካልን ያክሉ እና “useGravity” ን ምልክት ያንሱ። ካሜራዎ ተመርጦ ፣ በተቆጣጣሪው አናት ላይ ወደ “MainCamera” የሚለውን መለያ ይለውጡ።
“ላምቦዶር ባህርይ” የተባለ አዲስ ስክሪፕት ያክሉ እና ከዚህ በታች ያለውን ኮድ ያክሉ። ስክሪፕቱን ወደ በርዎ ወላጅ ይጎትቱ።
ስርዓትን በመጠቀም ስብስቦችን;
System. Collections. Generic ን በመጠቀም። UnityEngine ን በመጠቀም; የህዝብ ክፍል ላምቦዶር ባህርይ ሞኖባህሪዩር {የግል ተንሳፋፊ currAngle = 0; የግል ተንሳፋፊ የሚፈለግ አንግል = 0; // ዝማኔ በአንድ ፍሬም ባዶነት አንድ ጊዜ ይጠራል ዝማኔ () {currAngle = Mathf. LerpAngle (currAngle ፣ wantedAngle ፣ Time.deltaTime * 3f) ፤ transform.localEulerAngles = አዲስ Vector3 (currAngle, 0, 0); } የሕዝብ ባዶነት OpenDoors () {wantedAngle = 60f; } የሕዝብ ባዶነት CloseDoors () {wantedAngle = 0; } ባዶነት OnTriggerEnter (Collider col) {if (col. CompareTag ("MainCamera")) {OpenDoors (); }} ባዶነት OnTriggerExit (Collider col) {if (col. CompareTag ("MainCamera")) {CloseDoors (); }}}
በሁለት ነጥቦች (ወይም በዚህ ሁኔታ ሁለት ማዕዘኖች) መካከል እርስ በእርስ በሚገናኝበት የ Lerp () ተግባርን በመጠቀም በ AR ውስጥ ሲጠጉዎት ይህ ስክሪፕት በሮችዎ ቀስ ብለው እንዲከፈቱ ያደርጋል።
ደረጃ 7 ቪዲዮን በ AR ውስጥ ማጫወት።
እኛ ማድረግ ያለብን የመጨረሻው ነገር ቪዲዮን በ AR ውስጥ መጫወት ነው።
የመኪናዎ ልጅ በሆነው በማንኛውም የጨዋታ ነገር ላይ በቀኝ ጠቅ ያድርጉ እና 3 -ል ነገርን ፣ ኳድን ይፍጠሩ። ይህ ኳድ የመኪናዎ ልጅ መሆኑን ያረጋግጣል። በመኪናዎ ዳሽ ውስጥ የሚስማማ እና እዚያ ያለ ይመስል ዘንድ ይህንን ባለአራት ቦታ አቀማመጥ እና መጠን ያድርጉት። ቪዲዮውን የምናጫውተው ይህ ነው።
ወደ ባለአራትዎ የቪዲዮ ማጫወቻ ክፍል ያክሉ። ምንጩን ወደ ዩአርኤል ይለውጡ እና ወደ. MP4 ፋይል ከባድ አገናኝ ያግኙ ወይም የቪዲዮ ፋይልን ወደ የእርስዎ ንብረቶች አቃፊ ይጎትቱ እና ከዚያ ያንን ቅንጥብ ወደ ባዶው ቦታ ይጎትቱት። ከዩአርኤል በቪዲዮ ውስጥ ለመልቀቅ ከፈለጉ ፣ Instragram ታላቅ ምንጭ ነው። በ Google Chrome ውስጥ በማንኛውም የ Instagram ቪዲዮ ላይ በቀኝ ጠቅ ያድርጉ እና ጠቅ ያድርጉ። ቪዲዮውን የያዘውን ዲስክ ይፈልጉ እና አገናኙን ከዚያ ይቅዱ (ከላይ በምስሉ ላይ ያለው ይህ ዘዴ አለኝ)።
ከአንድ ጊዜ በላይ እንዲጫወት ከፈለጉ loop ን መፈተሽዎን ያረጋግጡ። በዚህ የጨዋታ ነገር ላይ የኦዲዮ ምንጭ አካል ያክሉ እና የውጤቱን ምንጭ በቪዲዮ ማጫወቻው ላይ ወደ የድምጽ ምንጭ ይለውጡ። አዲስ የተፈጠረውን የኦዲዮ ምንጭዎን ወደዚያ ማስገቢያ ይጎትቱ።
በመጨረሻ ጨርሰናል!
ደረጃ 8: መተግበሪያውን በስልክዎ ላይ ያድርጉት
ለ Android እየገነቡ ከሆነ ወደ ፋይል ሄደው ግንባታን መምታት እና በስልክዎ ተሰክተው መሮጥ ይችላሉ።
ለ iPhone ወይም ለ iPad እየገነቡ ከሆነ ፣ Xcode ን ከመተግበሪያ መደብር ማውረዱን ያረጋግጡ። እንዲሁም ከ www.apple.developer.com ለነፃ የአፕል ገንቢ መለያ ይመዝገቡ። ወደ ፋይል ይሂዱ እና ግንባታን ይምቱ። ከ Xcode የተፈጠረውን ፋይል ይክፈቱ እና ስልክዎን ይሰኩ። የልማት ቡድንዎን ይምረጡ እና የጨዋታ ቁልፍን ይምቱ።
ካሜራውን በጥቂቱ ማንቀሳቀስ ሊኖርብዎት ይችላል ግን አንድ ሰከንድ ይስጡ እና ማያ ገጹን መታ ያድርጉ እና መኪናዎ ከሰማይ ወደ መሬት ሲወድቅ ማየት አለብዎት! አሁን ወደ ውስጥ መሄድ እና በዳሽቦርዱ ውስጥ የቪዲዮ ጨዋታዎን ማየት ይችላሉ!
ይዝናኑ እና በአስተያየቶቹ ውስጥ ማናቸውም ጥያቄዎች ካሉዎት ያሳውቁኝ!
የሚመከር:
የተጨመረው የእውነት ስልክ Gear: 7 ደረጃዎች
የተጨመረው የእውነት ስልክ Gear: ርካሽ ፣ ቀላል ፣ አሪፍ
የተጨመረው የእውነት እንቆቅልሽ 11 ደረጃዎች
የተጨባጭ እውነታ እንቆቅልሽ -የእንቆቅልሽ ጨዋታዎች በቀላሉ አስደናቂ ናቸው። የሁሉም ዓይነቶች እንቆቅልሾች አሉ ፣ የተለመደው የጃግሶው እንቆቅልሽ ፣ ማዙን ፣ በምልክቶች እና የዚህ ዘውግ የቪዲዮ ጨዋታዎች (ለምሳሌ ፣ ካፒቴን ቶድ)። የእንቆቅልሽ ጨዋታዎች ተጫዋቹ የችግር አፈታት ስትራቴጂን እንዲቀርፅ ይጠይቃሉ።
ለ Dragonboard410c ወይም Dragonboard820c የተጨመረው እውነታ (አር) OpenCV እና Python 3.5: 4 ደረጃዎችን በመጠቀም
የተሻሻለ እውነታ (አር) ለ Dragonboard410c ወይም Dragonboard820c OpenCV እና Python 3.5 ን በመጠቀም።
የመሬት ላይ አውሮፕላን ግንኙነትን ማረም -3 ደረጃዎች
የመሬት ላይ አውሮፕላን ግንኙነትን ማስተካከል - መሬቱ ከመሬት አውሮፕላኑ ጋር ካልተገናኘ ምን ማድረግ ይችላሉ? ይህ በ EagleCAD ውስጥ ወረዳውን ካስተካከሉ እና ወደ መሬት በሚሄደው መርሃግብር ውስጥ የሽቦ (የተጣራ) ክፍል ከሰረዙ ይህ ሊከሰት ይችላል። ሶፍትዌሩ ሌላውን የዊሉን መጨረሻ በራስ -ሰር መሰየም ይችላል
የመሬት መንቀጥቀጥ ማወቂያ ስርዓት 5 ደረጃዎች (ከስዕሎች ጋር)
የመሬት መንቀጥቀጥ ማወቂያ ስርዓት - ይህ የመሬት መንቀጥቀጥ ማወቂያ ስርዓት ነው ፣ በዚህ ውስጥ የምድር ገጽ ንዝረትን የሚለካውን የፍጥነት መለኪያ በመጠቀም። መሣሪያው በሚንቀሳቀስበት ጊዜ አርዱዲኖ nput ይቀበላል እና ያንን ወደ buzzer ይልካል። ይህንን ሲቀበል ጫጫታ ማጉረምረም ይጀምራል።