பாலி ஏபிஐ: உங்கள் விஆர் மற்றும் ஏஆர் ஆண்ட்ராய்டு பயன்பாடுகளுக்கான 3D சொத்துக்களை மீட்டெடுக்கிறது

நூலாசிரியர்: Peter Berry
உருவாக்கிய தேதி: 14 ஆகஸ்ட் 2021
புதுப்பிப்பு தேதி: 8 மே 2024
Anonim
பாலி ஏபிஐ: உங்கள் விஆர் மற்றும் ஏஆர் ஆண்ட்ராய்டு பயன்பாடுகளுக்கான 3D சொத்துக்களை மீட்டெடுக்கிறது - பயன்பாடுகள்
பாலி ஏபிஐ: உங்கள் விஆர் மற்றும் ஏஆர் ஆண்ட்ராய்டு பயன்பாடுகளுக்கான 3D சொத்துக்களை மீட்டெடுக்கிறது - பயன்பாடுகள்

உள்ளடக்கம்


மெய்நிகர் ரியாலிட்டி (விஆர்) அல்லது ஆக்மென்ட் ரியாலிட்டி (ஏஆர்) மொபைல் பயன்பாட்டிற்கான சிறந்த யோசனை உங்களிடம் உள்ளதா, ஆனால் உங்கள் பார்வையை எவ்வாறு உயிர்ப்பிப்பது என்று தெரியவில்லை?

நீங்கள் ஒரு அனுபவமிக்க 3D கலைஞராக இருக்கும் ஆண்ட்ராய்டு டெவலப்பராக இல்லாவிட்டால், அதிவேக, 360 டிகிரி அனுபவத்தை வழங்க தேவையான அனைத்து சொத்துக்களையும் உருவாக்குவது ஒரு அச்சுறுத்தலான செயல்முறையாகும்.

3D மாதிரிகளை உருவாக்க உங்களுக்கு நேரம், வளங்கள் அல்லது அனுபவம் இல்லாததால், இல்லை சிறந்த VR அல்லது AR மொபைல் பயன்பாட்டை நீங்கள் உருவாக்க முடியாது என்று அர்த்தம்! உலகளாவிய வலையில் ஒரு பெரிய அளவிலான 3D ஆதாரங்கள் இலவசமாகக் கிடைக்கின்றன, மேலும் உங்கள் Android பயன்பாடுகளில் இந்த சொத்துக்களை பதிவிறக்கம் செய்து வழங்க வேண்டிய அனைத்து API கள், கட்டமைப்புகள் மற்றும் நூலகங்கள் உள்ளன.

அடுத்து படிக்கவும்: நீங்கள் இப்போது டேட்ரீம் வி.ஆரைப் பயன்படுத்தி எந்த வலைத்தளத்தையும் பார்வையிடலாம். அதுவும் ஒன்று.

இந்த கட்டுரையில், ஆயிரக்கணக்கான 3D சொத்துக்களை உங்கள் விரல் நுனியில் வைக்கும் ஆன்லைன் களஞ்சியம் மற்றும் ஏபிஐ பாலி பற்றி நாங்கள் பார்க்கப்போகிறோம். இந்த கட்டுரையின் முடிவில், இயக்க நேரத்தில் ஒரு 3D பாலி சொத்தை மீட்டெடுக்கும் பயன்பாட்டை நீங்கள் உருவாக்கியுள்ளீர்கள், பின்னர் அதை Android நூலகத்திற்கான பிரபலமான செயலாக்கத்தைப் பயன்படுத்தி வழங்குகிறீர்கள்.


பாலி உடன் 3D சொத்துக்களைக் காண்பிக்கும்

நீங்கள் எப்போதாவது ஒற்றுமை வளர்ச்சியில் ஈடுபட்டிருந்தால், பாலி களஞ்சியம் ஒற்றுமை சொத்து கடைக்கு ஒத்ததாகும் - பாலியில் உள்ள அனைத்தும் இலவசம் என்பதைத் தவிர!

பாலியின் 3D மாதிரிகள் பல கிரியேட்டிவ் காமன்ஸ் உரிமத்தின் கீழ் வெளியிடப்பட்டுள்ளன, எனவே நீங்கள் படைப்பாளருக்கு பொருத்தமான கடன் வழங்கும் வரை இந்த சொத்துக்களைப் பயன்படுத்தவும், மாற்றவும், ரீமிக்ஸ் செய்யவும் உங்களுக்கு சுதந்திரம் உள்ளது.

பாலியின் 3 டி மாடல்கள் அனைத்தும் கூகிளின் விஆர் மற்றும் ஏஆர் இயங்குதளங்களான டேட்ரீம் மற்றும் ஆர்கோர் போன்றவற்றுடன் பொருந்தக்கூடிய வகையில் வடிவமைக்கப்பட்டுள்ளன, ஆனால் நீங்கள் எங்கு வேண்டுமானாலும் அவற்றைப் பயன்படுத்தலாம் - இருப்பினும், அவற்றை ஆப்பிளின் ஆர்கிட் மூலம் கூட பயன்படுத்தலாம்!

பாலி சொத்துக்களை மீட்டெடுப்பதற்கும் காண்பிப்பதற்கும் வரும்போது, ​​உங்களுக்கு இரண்டு விருப்பங்கள் உள்ளன. முதலாவதாக, நீங்கள் உங்கள் கணினியில் சொத்துக்களை பதிவிறக்கம் செய்து பின்னர் அவற்றை Android ஸ்டுடியோவில் இறக்குமதி செய்யலாம், எனவே அவை உங்கள் பயன்பாட்டுடன் அனுப்பப்பட்டு அதன் APK அளவை நோக்கி பங்களிக்கலாம் அல்லது பாலி API ஐப் பயன்படுத்தி இயக்க நேரத்தில் இந்த சொத்துக்களை மீட்டெடுக்கலாம்.


குறுக்கு-தளம், REST- அடிப்படையிலான பாலி ஏபிஐ, பாலியின் மிகப்பெரிய 3D மாடல்களுக்கான நிரல், படிக்க மட்டும் அணுகலை வழங்குகிறது. உங்கள் APK உடன் சொத்துக்களை தொகுப்பதை விட இது மிகவும் சிக்கலானது, ஆனால் இயக்க நேரத்தில் பாலி சொத்துக்களை மீட்டெடுப்பதில் பல நன்மைகள் உள்ளன, குறிப்பாக இது உங்கள் APK அளவைக் கட்டுக்குள் வைத்திருக்க உதவுகிறது, இது உங்கள் பயன்பாட்டை எத்தனை பேர் பதிவிறக்குகிறது என்பதைப் பாதிக்கும்.

உங்கள் பயனர்களுக்கு கூடுதல் தேர்வை வழங்க நீங்கள் பாலி ஏபிஐயையும் பயன்படுத்தலாம், எடுத்துக்காட்டாக, நீங்கள் ஒரு மொபைல் விளையாட்டை உருவாக்குகிறீர்கள் என்றால், உங்கள் பயனர்களை பலவிதமான எழுத்து மாதிரிகள் தேர்வு செய்ய அனுமதிக்கலாம்.

பாலி மாடல்களை மாற்ற உங்களுக்கு சுதந்திரம் இருப்பதால், உங்கள் பயனர்கள் அவர்கள் தேர்ந்தெடுத்த தன்மையை மாற்றியமைக்க அனுமதிக்கலாம், எடுத்துக்காட்டாக, முடி அல்லது கண் நிறத்தை மாற்றுவதன் மூலம் அல்லது வெவ்வேறு ஆயுதங்கள் மற்றும் கவசங்கள் போன்ற பிற பாலி சொத்துகளுடன் இணைப்பதன் மூலம். இந்த வழியில், அனுபவத்தைத் தனிப்பயனாக்குவதற்கு ஏராளமான வாய்ப்புகள் மற்றும் அனைத்தையும் ஒப்பீட்டளவில் சிறிய வேலைக்கு, 3D சொத்துக்களின் ஈர்க்கக்கூடிய வரம்பை வழங்க பாலி ஏபிஐ உங்களுக்கு உதவும். இந்த 3D மாதிரிகள் அனைத்தையும் உன்னிப்பாக வடிவமைத்து, நீங்கள் ஒரு டன் நேரத்தை செலவிட்டீர்கள் என்பதை உங்கள் பயனர்கள் நம்புவார்கள்!

3 டி மாடலிங் திட்டத்தை உருவாக்குதல்

பயன்பாடு முதன்முதலில் தொடங்கப்பட்டபோது ஒரு குறிப்பிட்ட பாலி சொத்தை மீட்டெடுக்கும் ஒரு பயன்பாட்டை நாங்கள் உருவாக்கப் போகிறோம், பின்னர் பயனரின் வேண்டுகோளின்படி அந்த சொத்தை முழுத்திரை பயன்முறையில் காண்பிக்கும்.

இந்த சொத்தை மீட்டெடுக்க எங்களுக்கு உதவ, நான் எரிபொருளைப் பயன்படுத்துவேன், இது கோட்லின் மற்றும் ஆண்ட்ராய்டுக்கான HTTP நெட்வொர்க்கிங் நூலகமாகும். உங்களுக்கு விருப்பமான அமைப்புகளுடன் புதிய திட்டத்தை உருவாக்குவதன் மூலம் தொடங்கவும், ஆனால் கேட்கும்போது “கோட்லின் ஆதரவைச் சேர்க்கவும்” என்பதைத் தேர்வுசெய்யவும்.

பாலி ஏபிஐக்கு நீங்கள் செய்யும் அனைத்து அழைப்புகளும் ஏபிஐ விசையை கொண்டிருக்க வேண்டும், இது உங்கள் பயன்பாட்டை அடையாளம் காணவும் பயன்பாட்டு வரம்புகளை செயல்படுத்தவும் பயன்படுகிறது. மேம்பாடு மற்றும் சோதனையின் போது, ​​நீங்கள் பெரும்பாலும் கட்டுப்பாடற்ற API விசையைப் பயன்படுத்துவீர்கள், ஆனால் இந்த பயன்பாட்டை வெளியிடுவதற்கு ஏதேனும் திட்டங்கள் இருந்தால், நீங்கள் Android தடைசெய்யப்பட்ட API விசையைப் பயன்படுத்த வேண்டும்.

தடைசெய்யப்பட்ட விசையை உருவாக்க, உங்கள் திட்டத்தின் SHA-1 கையொப்பமிடல் சான்றிதழை நீங்கள் அறிந்து கொள்ள வேண்டும், எனவே இந்த தகவலை இப்போது பெறுவோம்:

  • Android ஸ்டுடியோவின் “கிரேடில்” தாவலைத் தேர்ந்தெடுக்கவும் (கர்சர் பின்வரும் ஸ்கிரீன்ஷாட்டில் வைக்கப்பட்டுள்ள இடத்தில்). இது “கிரேடில் திட்டங்கள்” குழுவைத் திறக்கிறது.

  • “கிரேடில் திட்டங்கள்” பேனலில், உங்கள் திட்டத்தின் ‘ரூட்’ விரிவாக்க இருமுறை கிளிக் செய்து, பின்னர் “பணிகள்> ஆண்ட்ராய்டு> கையொப்பமிடும் அறிக்கை” என்பதைத் தேர்ந்தெடுக்கவும். இது Android ஸ்டுடியோ சாளரத்தின் அடியில் ஒரு புதிய பேனலைத் திறக்கும்.
  • ‘பணிகள் செயல்படுத்தல் / உரை பயன்முறையை மாற்று’ பொத்தானைத் தேர்ந்தெடுக்கவும் (கர்சர் பின்வரும் ஸ்கிரீன்ஷாட்டில் வைக்கப்படும் இடத்தில்).

“ரன்” குழு இப்போது உங்கள் திட்டத்தைப் பற்றிய பல தகவல்களைக் காண்பிக்க புதுப்பிக்கும், அதன் SHA-1 கைரேகை உட்பட.

Google மேகக்கணி இயங்குதளக் கணக்கை உருவாக்கவும்

தேவையான API விசையைப் பெற, உங்களுக்கு Google மேகக்கணி இயங்குதளம் (GPC) கணக்கு தேவை.

உங்களிடம் கணக்கு இல்லையென்றால், இலவச பக்கத்திற்கான கிளவுட் மேடையில் முயற்சிக்கவும், வழிமுறைகளைப் பின்பற்றவும் 12 மாத இலவச சோதனைக்கு பதிவுபெறலாம். கிரெடிட் கார்டு அல்லது டெபிட் கார்டு தேவை என்பதை நினைவில் கொள்க, ஆனால் அடிக்கடி கேட்கப்படும் கேள்விகள் பக்கத்தின்படி, இது உங்கள் அடையாளத்தை சரிபார்க்க மட்டுமே பயன்படுத்தப்படுகிறது, மேலும் “உங்கள் இலவச சோதனையின் போது கட்டணம் வசூலிக்கப்படவோ அல்லது கட்டணம் வசூலிக்கப்படவோ மாட்டீர்கள்.”

உங்கள் பாலி ஏபிஐ விசையைப் பெறுங்கள்

நீங்கள் அனைவரும் பதிவுசெய்ததும், நீங்கள் பாலி API ஐ இயக்கி உங்கள் விசையை உருவாக்கலாம்:

  • ஜி.சி.பி கன்சோலுக்குச் செல்லுங்கள்.
  • மேல்-இடது மூலையில் வரிசையாக ஐகானைத் தேர்ந்தெடுத்து, “API கள் & சேவைகள்> டாஷ்போர்டு” என்பதைத் தேர்வுசெய்க.
  • “API கள் மற்றும் சேவைகளை இயக்கு” ​​என்பதைத் தேர்ந்தெடுக்கவும்.
  • இடது கை மெனுவில், “மற்றவை” என்பதைத் தேர்ந்தெடுக்கவும்.
  • “பாலி ஏபிஐ” அட்டையைத் தேர்ந்தெடுக்கவும்.
  • “இயக்கு” ​​பொத்தானைக் கிளிக் செய்க.
  • சில தருணங்களுக்குப் பிறகு, நீங்கள் புதிய திரைக்கு அழைத்துச் செல்லப்படுவீர்கள்; பக்க மெனுவைத் திறந்து “API கள் & சேவைகள்> நற்சான்றிதழ்கள்” என்பதைத் தேர்வுசெய்க.

  • அடுத்தடுத்த பாப்அப்பில், “கட்டுப்பாட்டு விசையை” தேர்ந்தெடுக்கவும்.
  • உங்கள் விசைக்கு ஒரு தனித்துவமான பெயரைக் கொடுங்கள்.
  • “பயன்பாட்டு கட்டுப்பாடுகள்” என்பதன் கீழ் “Android பயன்பாடுகள்” என்பதைத் தேர்ந்தெடுக்கவும்.
  • “தொகுப்பு பெயர் மற்றும் கைரேகையைச் சேர்” என்பதைத் தேர்ந்தெடுக்கவும்.
  • உங்கள் திட்டத்தின் SHA-1 கைரேகையை “கையொப்பமிடுதல்-சான்றிதழ் கைரேகை” புலத்தில் நகலெடுத்து / ஒட்டவும்.
  • உங்கள் திட்டத்தின் தொகுப்பு பெயரை உள்ளிடவும் (இது உங்கள் அறிக்கையிலும் ஒவ்வொரு வகுப்பு கோப்பின் மேலேயும் தோன்றும்).
  • “சேமி” என்பதைக் கிளிக் செய்க.

நீங்கள் இப்போது உருவாக்கிய உங்கள் திட்டத்தின் “நற்சான்றிதழ்கள்” திரைக்கு அழைத்துச் செல்லப்படுவீர்கள், அதில் நீங்கள் உருவாக்கிய பாலி-இயக்கப்பட்ட API விசை உட்பட உங்கள் எல்லா API விசைகளின் பட்டியலும் உள்ளது.

திட்ட சார்புகள்: எரிபொருள், பி 3 டி மற்றும் கோட்லின் நீட்டிப்புகள்

பாலி சொத்துக்களை மீட்டெடுக்க மற்றும் காண்பிக்க, சில கூடுதல் நூலகங்களிலிருந்து எங்களுக்கு உதவி தேவை:

  • எரிபொருள். பாலிக்கு தற்போது அதிகாரப்பூர்வ Android கருவித்தொகுப்பு இல்லை, எனவே நீங்கள் அதன் REST இடைமுகத்தைப் பயன்படுத்தி API உடன் நேரடியாக வேலை செய்ய வேண்டும். இந்த செயல்முறையை எளிதாக்க, நான் எரிபொருள் HTTP நெட்வொர்க்கிங் நூலகத்தைப் பயன்படுத்துவேன்.
  • Android க்கான செயலாக்கம். பாலி சொத்தை காண்பிக்க இந்த நூலகத்தின் பி 3 டி ரெண்டரரைப் பயன்படுத்துவேன்.

உங்கள் திட்டத்தின் build.gradle கோப்பைத் திறந்து, இந்த இரண்டு நூலகங்களையும் திட்ட சார்புகளாகச் சேர்க்கவும்:

சார்புநிலைகள் {செயல்படுத்தல் கோப்பு மரம் (அடங்கும் :, dir: லிப்ஸ்) செயல்படுத்தல் "org.jetbrains.kotlin: kotlin-stdlib-jre7: $ kotlin_version" செயல்படுத்தல் com.android.support:appcompat-v7:27.1.1 // எரிபொருள் நூலகத்தைச் சேர்க்கவும் / / செயல்படுத்தல் com.github.kittinunf.fuel: எரிபொருள்-ஆண்ட்ராய்டு: 1.13.0 // Android இயந்திரத்திற்கான செயலாக்கத்தைச் சேர்க்கவும் // செயல்படுத்தல் org.p5android: செயலாக்க-கோர்: 4.0.1}

எங்கள் குறியீட்டை இன்னும் சுருக்கமாகச் செய்ய, நான் கோட்லின் ஆண்ட்ராய்டு நீட்டிப்புகளையும் பயன்படுத்துவேன், எனவே பில்ட் கிராடில் கோப்பு திறந்திருக்கும் போது இந்த சொருகி சேர்க்கலாம்:

சொருகி விண்ணப்பிக்கவும்: கோட்லின்-ஆண்ட்ராய்டு-நீட்டிப்புகள்

இறுதியாக, நாங்கள் இணையத்திலிருந்து சொத்தை மீட்டெடுப்பதால், எங்கள் பயன்பாட்டிற்கு இணைய அனுமதி தேவை. உங்கள் அறிக்கையைத் திறந்து பின்வருவனவற்றைச் சேர்க்கவும்:

உங்கள் API விசையைச் சேர்க்கிறது

ஒவ்வொரு முறையும் எங்கள் பயன்பாடு பாலியிடமிருந்து ஒரு சொத்தை கோருகையில், அதற்கு சரியான API விசையும் சேர்க்க வேண்டும். நான் ஒதுக்கிட உரையைப் பயன்படுத்துகிறேன், ஆனால் நீங்கள் வேண்டும் பயன்பாடு எப்போதாவது வேலை செய்யப் போகிறதென்றால், இந்த ஒதுக்கிடத்தை உங்கள் சொந்த API விசையுடன் மாற்றவும்.

நான் ஒரு காசோலையும் சேர்க்கிறேன், இதன்மூலம் “INSERT-YOUR-API-KEY” உரையை மாற்ற மறந்துவிட்டால் பயன்பாடு ஒரு எச்சரிக்கையைக் காண்பிக்கும்:

android.os.Bundle import android.support.v7.app.AppCompatActivity class MainActivity: AppCompatActivity () {துணை பொருள் {const val APIKey = "INSERT-YOUR-API-KEY" fun வேடிக்கைகளை மேலெழுதவும் (சேமிக்கப்பட்ட நிலை: மூட்டை?) { super.onCreate (saveInstanceState) setContentView (R.layout.activity_main) // API விசை “INSERT” உடன் தொடங்கினால் ... // if (APIKey.startsWith ("INSERT")) {// பின்னர் பின்வரும் சிற்றுண்டியைக் காண்பி… .// Toast.makeText (இது, "உங்கள் API விசையை நீங்கள் புதுப்பிக்கவில்லை", Toast.LENGTH_SHORT) .ஷோ ()} else {... ... ...

சொத்தை மீட்டெடுக்கிறது

கூகிள் பாலி தளத்தில் நீங்கள் எந்த சொத்தையும் தேர்வு செய்யலாம், ஆனால் நான் இந்த பூமியின் மாதிரியைப் பயன்படுத்துகிறேன்.

ஒரு சொத்தை அதன் ஐடியைப் பயன்படுத்தி மீட்டெடுக்கிறீர்கள், இது URL ஸ்லக்கின் முடிவில் தோன்றும் (முந்தைய ஸ்கிரீன்ஷாட்டில் சிறப்பிக்கப்பட்டுள்ளது). இந்த சொத்து ஐடியை, பாலி ஏபிஐ ஹோஸ்டுடன் இணைக்கிறோம், இது “https://poly.googleapis.com/v1.”

android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.Toast import com.github.kittinunf.fuel.android.extension.responseJson import com.github.kittinunf.fuel .httpDownload இறக்குமதி com.github.kittinunf.fuel.http இறக்குமதி kotlinx.android.syntetic.main.activity_main. * இறக்குமதி java.io.File class முதன்மை செயல்பாடு: AppCompatActivity () {துணை பொருள் {const val APIKey = "INSERT-YOUR-API -KEY "val propertyURL =" https://poly.googleapis.com/v1/assets/94XG1XUy10q "fun வேடிக்கையை மேலெழுதும் onCreate (saveInstanceState: Bundle?) APIKey.startsWith ("INSERT")) {Toast.makeText (இது, "உங்கள் API விசையை நீங்கள் புதுப்பிக்கவில்லை", டோஸ்ட். LENGTH_SHORT) .ஷோ ()} else {

அடுத்து, httpGet () முறையைப் பயன்படுத்தி சொத்து URL க்கு GET கோரிக்கையை வைக்க வேண்டும். மறுமொழி வகை JSON ஆக இருக்க வேண்டும் என்பதையும் நான் குறிப்பிடுகிறேன்:

android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.Toast import com.github.kittinunf.fuel.android.extension.responseJson import com.github.kittinunf.fuel .httpDownload இறக்குமதி com.github.kittinunf.fuel.http இறக்குமதி kotlinx.android.syntetic.main.activity_main. * இறக்குமதி java.io.File class முதன்மை செயல்பாடு: AppCompatActivity () {துணை பொருள் {const val APIKey = "INSERT-YOUR-API -KEY "val propertyURL =" https://poly.googleapis.com/v1/assets/94XG1XUy10q "fun வேடிக்கையை மேலெழுதும் onCreate (saveInstanceState: Bundle?) APIKey.startsWith ("INSERT")) {Toast.makeText (இது, "உங்கள் API விசையை நீங்கள் புதுப்பிக்கவில்லை", Toast.LENGTH_SHORT) .ஷோ ()} else {// ஒரு சேவையக அழைப்பைச் செய்து, பின்னர் தரவைப் பயன்படுத்தி தரவை அனுப்பவும் “ListOf” முறை // propertyURL.httpGet (listOf (APIKey க்கு "விசை"). ResponseJson {கோரிக்கை, பதில், முடிவு -> // பதிலுடன் ஏதாவது செய்யுங்கள் // result.fold ({val as set = it.obj ()

சொத்தில் OBJ, GLTF மற்றும் FBX போன்ற பல வடிவங்கள் இருக்கலாம். சொத்து OBJ வடிவத்தில் இருப்பதை நாம் தீர்மானிக்க வேண்டும்.

இந்த கட்டத்தில், நாங்கள் பதிவிறக்கம் செய்ய வேண்டிய அனைத்து கோப்புகளின் பெயர் மற்றும் URL ஐ மீட்டெடுக்கிறேன்,
சொத்தின் முதன்மை கோப்பு (“ரூட்”) மற்றும் அதனுடன் தொடர்புடைய பொருள் மற்றும் அமைப்பு கோப்புகள் (“வளங்கள்”) உட்பட.

எங்கள் பயன்பாட்டால் சொத்தை சரியாக மீட்டெடுக்க முடியவில்லை என்றால், அது பயனருக்கு தெரிவிக்கும் ஒரு சிற்றுண்டியைக் காண்பிக்கும்.

android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.Toast import com.github.kittinunf.fuel.android.extension.responseJson import com.github.kittinunf.fuel .httpDownload இறக்குமதி com.github.kittinunf.fuel.http இறக்குமதி kotlinx.android.syntetic.main.activity_main. * இறக்குமதி java.io.File class முதன்மை செயல்பாடு: AppCompatActivity () {துணை பொருள் {const val APIKey = "INSERT-YOUR-API -KEY "val propertyURL =" https://poly.googleapis.com/v1/assets/94XG1XUy10q "fun வேடிக்கையை மேலெழுதும் onCreate (saveInstanceState: Bundle?) APIKey.startsWith ("INSERT")) {Toast.makeText (இது, "உங்கள் API விசையை நீங்கள் புதுப்பிக்கவில்லை", Toast.LENGTH_SHORT) .ஷோ ()} else {// சொத்து URL க்கு ஒரு GET கோரிக்கையை செய்யுங்கள் // சொத்து URL. httpGet (listOf (APIKey க்கு "விசை"). responseJson {கோரிக்கை, பதில், முடிவு -> // பதிலுடன் ஏதாவது செய்யுங்கள் // result.fold ({val சொத்து = it.obj () var objectURL: சரம்? = null var materialLibraryName: சரம்? = null var materialLibraryURL: சரம்? = பூஜ்யம் // “வடிவங்கள்” வரிசையைப் பயன்படுத்தி சொத்தின் வடிவமைப்பைச் சரிபார்க்கவும் // val propertyFormats = property.getJSONArray ("வடிவங்கள்") // எல்லா வடிவங்களிலும் சுழலும் // க்கு (நான் 0 இல் சொத்து வடிவங்கள்.நீளம் ()) { val currentFormat = propertyFormats.getJSONObject (i) // இந்த வளத்தின் வடிவமைப்பு வகையை அடையாளம் காண formatType ஐப் பயன்படுத்தவும். வடிவம் OBJ என்றால்… .// if (currentFormat.getString ("formatType") == "OBJ") {//.. பின்னர் இந்த வளத்தின் 'ரூட்' கோப்பை மீட்டெடுக்கவும், அதாவது OBJ கோப்பு // objectURL = currentFormat. getJSONObject ("root") .getString ("url") // அனைத்து ரூட் கோப்பின் சார்புகளையும் மீட்டெடுக்கவும் // materialLibraryName = currentFormat.getJSONArray ("resources") .getJSONObject (0) .getString ("relativePath") materialLibraryURL = currentFormat.getJS ("வளங்கள்") .getJSONObject (0) .getString ("url") உடைத்தல்}} objectURL !!. httpDownload (). இலக்கு {_, _ -> கோப்பு (filesDir, "globeAsset.obj")}. பதில் {_ , _, result -> result.fold ({}, {// நீங்கள் OBJ கோப்பைக் கண்டுபிடிக்கவோ பதிவிறக்கவோ முடியாவிட்டால், ஒரு பிழையைக் காண்பி // Toast.makeText (இது, "வளத்தைப் பதிவிறக்க முடியவில்லை", Toast.LENGTH_SHORT ) .show ()})} materialLibraryURL !!. httpDownload (). இலக்கு {_, _ -> கோப்பு (filesDir, materialLibraryName)}. பதில் {_, _, முடிவு -> result.fold ({}, ast சிற்றுண்டி. makeText (இது, "ஆதாரத்தைப் பதிவிறக்க முடியவில்லை", டோஸ்ட். LENGTH_SHORT) .ஷோ ()})}}, { Toast.makeText (இது, "ஆதாரத்தைப் பதிவிறக்க முடியவில்லை", டோஸ்ட். LENGTH_SHORT) .ஷோ ()})}}}

இந்த கட்டத்தில், உங்கள் Android ஸ்மார்ட்போன் அல்லது டேப்லெட்டில் அல்லது Android மெய்நிகர் சாதனத்தில் (AVD) இந்த திட்டத்தை நிறுவினால், சொத்து வெற்றிகரமாக பதிவிறக்கப்படும், ஆனால் பயன்பாடு உண்மையில் அதைக் காட்டாது. இதை இப்போது சரிசெய்வோம்!

இரண்டாவது திரையை உருவாக்குதல்: வழிசெலுத்தல் சேர்க்கிறது

நாங்கள் சொத்தை முழுத்திரை பயன்முறையில் காண்பிக்கப் போகிறோம், எனவே ஒரு பொத்தானைச் சேர்க்க எங்கள் main_activity.xml கோப்பைப் புதுப்பிப்போம், தட்டும்போது, ​​முழுத்திரை செயல்பாட்டைத் தொடங்கும்.

இப்போது MainActivity.kt கோப்பின் முடிவில் onClickListener ஐ சேர்க்கலாம்:

android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.Toast import com.github.kittinunf.fuel.android.extension.responseJson import com.github.kittinunf.fuel .httpDownload இறக்குமதி com.github.kittinunf.fuel.http இறக்குமதி kotlinx.android.syntetic.main.activity_main. * இறக்குமதி java.io.File class முதன்மை செயல்பாடு: AppCompatActivity () {துணை பொருள் {const val APIKey = "INSERT-YOUR-API -KEY "val propertyURL =" https://poly.googleapis.com/v1/assets/94XG1XUy10q "fun வேடிக்கையை மேலெழுதும் onCreate (saveInstanceState: Bundle?) APIKey.startsWith ("INSERT")) {Toast.makeText (இது, "உங்கள் API விசையை நீங்கள் புதுப்பிக்கவில்லை", Toast.LENGTH_SHORT) .ஷோ ()} else {propertyURL.httpGet (listOf ("key" to APIKey)). responseJson {கோரிக்கை, பதில், முடிவு -> result.fold ({val சொத்து = it.obj () var objectURL: சரம்? = பூஜ்ய var பொருள் லைப்ரரி பெயர்: சரம்? = பூஜ்ய var பொருள் நூலகம்: Str சுற்றுலாத் துறையை மேம்படுத்தும்? = null val propertyFormats = property.getJSONArray ("வடிவங்கள்") (i இல் 0 இல் propertyFormats.length ()) {val currentFormat = propertyFormats.getJSONObject (i) if (currentFormat.getString ("formatType") == "OBJ" ) {objectURL = currentFormat.getJSONObject ("root") .getString ("url") materialLibraryName = currentFormat.getJSONArray ("resources") .getJSONObject (0) .getString ("relativePath") materialLibraryURL = currentFormat.getJSON ) .getJSONObject (0) .getString ("url") உடைத்தல்}} objectURL !!. httpDownload (). இலக்கு {_, _ -> கோப்பு (filesDir, "globeAsset.obj")}. பதில் {_, _, முடிவு -> result.fold ({}, {Toast.makeText (இது, "வளத்தைப் பதிவிறக்க முடியவில்லை", டோஸ்ட். LENGTH_SHORT) .ஷோ ()})} பொருள் லைப்ரரி URL !!. httpDownload (). இலக்கு {_, _ -> கோப்பு (filesDir, materialLibraryName)}. பதில் {_, _, முடிவு -> result.fold ({}, {Toast.makeText (இது, "வளத்தைப் பதிவிறக்க முடியவில்லை", டோஸ்ட். LENGTH_SHORT) .ஷோ ()})}}, {Toast.makeText (இது, "ஆதாரத்தைப் பதிவிறக்க முடியவில்லை", டோஸ்ட். LENGTH_SHORT) .sh ow ()})} // ஒரு பொத்தானைச் செயல்படுத்தவும் // displayButton.setOnClickListener {val உள்நோக்கம் = நோக்கம் (இது, இரண்டாவது செயல்பாடு :: class.java) தொடக்க செயல்பாடு (நோக்கம்); }}}

ஒரு 3D கேன்வாஸை உருவாக்குதல்

இப்போது, ​​எங்கள் சொத்தை முழுத்திரை பயன்முறையில் காண்பிக்கும் செயல்பாட்டை உருவாக்குவோம்:

  • உங்கள் திட்டத்தின் MainActivity.kt கோப்பைக் கட்டுப்படுத்தவும், மேலும் “புதிய> கோட்லின் கோப்பு / வகுப்பு” என்பதைத் தேர்ந்தெடுக்கவும்.
  • “வகையான” கீழ்தோன்றலைத் திறந்து, “வகுப்பு” என்பதைத் தேர்ந்தெடுக்கவும்.
  • இந்த வகுப்பிற்கு “செகண்ட் ஆக்டிவிட்டி” என்ற பெயரைக் கொடுத்து, பின்னர் “சரி” என்பதைக் கிளிக் செய்க.

ஒரு 3D பொருளை வரைய, எங்களுக்கு ஒரு 3D கேன்வாஸ் தேவை! Android இன் நூலகத்தின் P3D ரெண்டரருக்கான செயலாக்கத்தை நான் பயன்படுத்தப் போகிறேன், அதாவது பாப்லெட் வகுப்பை நீட்டித்தல், அமைப்புகள் () முறையை மீறுதல் மற்றும் முழுத்திரை () முறைக்கு ஒரு வாதமாக P3D ஐ அனுப்புதல். பாலி சொத்தை ஒரு பிஷேப் பொருளாகக் குறிக்கும் ஒரு சொத்தையும் நாம் உருவாக்க வேண்டும்.

private fun displayAsset () {val canvas3D = பொருள்: பாப்லெட் () poly var polyAsset: PShape? = பூஜ்ய மேலெழுதும் வேடிக்கையான அமைப்புகள் () {முழுத்திரை (PConstants.P3D)}

அடுத்து, அமைவு () முறையை மீறுவதன் மூலமும், லோட்ஷேப் () முறையை அழைப்பதன் மூலமும், .obj கோப்பின் முழுமையான பாதையை கடந்து செல்வதன் மூலமும் நாம் PShape பொருளை துவக்க வேண்டும்:

வேடிக்கையான அமைப்பை மீறுக () {polyAsset = loadShape (கோப்பு (filesDir, "globeAsset.obj"). முழுமையான பாதை)}

P3D இன் கேன்வாஸில் வரைதல்

இந்த 3D கேன்வாஸில் வரைய, நாம் டிரா () முறையை மேலெழுத வேண்டும்:

வேடிக்கையான டிராவை மீறவும் () {பின்னணி (0) வடிவம் (பாலிஅசெட்)}}

இயல்பாக, பாலி ஏபிஐயிலிருந்து மீட்டெடுக்கப்பட்ட பல சொத்துகள் சிறிய பக்கத்தில் உள்ளன, எனவே நீங்கள் இப்போது இந்த குறியீட்டை இயக்கினால், உங்கள் திரை உள்ளமைவைப் பொறுத்து நீங்கள் சொத்தை கூட பார்க்க முடியாது. 3D காட்சிகளை உருவாக்கும்போது, ​​நீங்கள் வழக்கமாக தனிப்பயன் கேமராவை உருவாக்குவீர்கள், இதன் மூலம் பயனர் காட்சியை ஆராய்ந்து உங்கள் 3D சொத்துக்களை முழு 360 டிகிரியில் இருந்து பார்க்க முடியும். இருப்பினும், இது இந்த கட்டுரையின் எல்லைக்கு அப்பாற்பட்டது, எனவே திரையில் வசதியாக பொருந்துகிறதா என்பதை உறுதிப்படுத்த, சொத்தின் அளவையும் நிலையையும் கைமுறையாக மாற்றுவேன்.

எதிர்மறை மதிப்பை அளவுகோல் () முறைக்கு அனுப்புவதன் மூலம் நீங்கள் சொத்தின் அளவை அதிகரிக்கலாம்:

அளவி (-10f)

மொழிபெயர்ப்பு () முறை மற்றும் பின்வரும் ஆயங்களை பயன்படுத்தி மெய்நிகர் 3D இடத்தில் சொத்தின் நிலையை நீங்கள் சரிசெய்யலாம்:

  • எக்ஸ். கிடைமட்ட அச்சில் சொத்தை நிலைநிறுத்துகிறது.
  • ஒய் சொத்தை செங்குத்து அச்சில் வைக்கிறது.
  • இசட் இது “ஆழம் / உயரம்” அச்சு, இது 2D பொருளை 3D பொருளாக மாற்றுகிறது. நேர்மறையான மதிப்புகள் பொருள் உங்களை நோக்கி வருகிறது என்ற தோற்றத்தை உருவாக்குகிறது, மேலும் எதிர்மறை மதிப்புகள் பொருள் உங்களிடமிருந்து விலகிச் செல்கிறது என்ற தோற்றத்தை உருவாக்குகிறது.

மாற்றங்கள் ஒட்டுமொத்தமாக உள்ளன என்பதை நினைவில் கொள்க, எனவே செயல்பாட்டிற்குப் பிறகு நடக்கும் அனைத்தும் விளைவைக் குவிக்கின்றன.

நான் பின்வருவனவற்றைப் பயன்படுத்துகிறேன்:

மொழிபெயர்க்கவும் (-50f, -100f, 10f)

பூர்த்தி செய்யப்பட்ட குறியீடு இங்கே:

வேடிக்கையான டிராவை மீறுக () {பின்னணி (0) அளவு (-10 எஃப்) மொழிபெயர்ப்பு (-50 எஃப், -100 எஃப்) // வடிவம் () முறை // வடிவம் (பாலிஅசெட்) call call என்று அழைப்பதன் மூலம் சொத்தை வரையவும்

அடுத்து, அதனுடன் தொடர்புடைய தளவமைப்பு கோப்பை உருவாக்க வேண்டும், அங்கு 3D கேன்வாஸை பிரேம் லேஅவுட் விட்ஜெட்டாக சேர்ப்போம்:

  • உங்கள் திட்டத்தின் “ரெஸ்> லேஅவுட்” கோப்புறையைக் கட்டுப்படுத்தவும்.
  • “தளவமைப்பு வள கோப்பு” என்பதைத் தேர்ந்தெடுக்கவும்.
  • இந்த கோப்புக்கு “activity_second” என்ற பெயரைக் கொடுத்து, பின்னர் “சரி” என்பதைக் கிளிக் செய்க.

இப்போது நம்மிடம் “சொத்து_க்காட்சி” பிரேம் லேஅவுட் உள்ளது, அதைப் பற்றி எங்கள் இரண்டாவது செயல்பாட்டிற்கு தெரியப்படுத்த வேண்டும்! SecondActivity.kt கோப்பிற்குத் திருப்பி, ஒரு புதிய PFragment நிகழ்வை உருவாக்கி, அதை எங்கள் “சொத்து_ பார்வை” விட்ஜெட்டின் திசையில் சுட்டிக்காட்டுங்கள்:

android.os.Bundle import android.support.v7.app.AppCompatActivity import இறக்குமதி kotlinx.android.synthetic.main.activity_second. * import processing.android.PFragment import processing.core.PApplet இறக்குமதி செயலாக்க.கோர். .செயல்பாட்டு இறக்குமதி java.io.File class SecondActivity: AppCompatActivity () fun வேடிக்கைகளை மேலெழுதவும் (சேமிக்கப்பட்டஇன்ஸ்டான்ஸ்டேட்: மூட்டை?) {Super.onCreate (saveInstanceState) setContentView (R.layout.activity_second) displayAsset ()} private fun displayAsset canvas3D = பொருள்: பாப்லெட் () poly var polyAsset: PShape? = பூஜ்ய மேலெழுதும் வேடிக்கையான அமைப்புகள் () {முழுத்திரை (PConstants.P3D) fun வேடிக்கையான அமைப்பை மீறுகிறது () {polyAsset = loadShape (கோப்பு (filesDir, "globeAsset.obj"). .

இறுதி கட்டம், உங்கள் அறிக்கையில் இரண்டாவது செயல்பாட்டைச் சேர்க்கிறது:

// பின்வருவனவற்றைச் சேர்க்கவும் //

உங்கள் திட்டத்தை சோதிக்கிறது

முடிக்கப்பட்ட திட்டத்தை சோதிக்க நாங்கள் இப்போது தயாராக உள்ளோம்! உங்கள் Android சாதனம் அல்லது AVD இல் இதை நிறுவவும், உங்களிடம் செயலில் இணைய இணைப்பு இருப்பதை உறுதிப்படுத்தவும். பயன்பாடு துவங்கியவுடன், அது சொத்தைப் பதிவிறக்கும், பின்னர் “காட்சி சொத்து” பொத்தானைத் தட்டுவதன் மூலம் அதைப் பார்க்கலாம்.

இந்த முழுமையான திட்டத்தை நீங்கள் கிட்ஹப்பிலிருந்து பதிவிறக்கம் செய்யலாம்.

மடக்குதல்

இந்த கட்டுரையில், இயக்க நேரத்தில் ஒரு 3D சொத்தை மீட்டெடுக்க பாலி ஏபிஐ எவ்வாறு பயன்படுத்துவது என்பதையும், ஆண்ட்ராய்டு நூலகத்திற்கான செயலாக்கத்தைப் பயன்படுத்தி அந்த சொத்தை எவ்வாறு காண்பிப்பது என்பதையும் பார்த்தோம். வி.ஆர் மற்றும் ஏ.ஆர் வளர்ச்சியை அதிகமானவர்களுக்கு அணுகக்கூடியதாக பாலி ஏபிஐக்கு உள்ளது என்று நினைக்கிறீர்களா? கீழே உள்ள கருத்துகளில் எங்களுக்குத் தெரியப்படுத்துங்கள்!

Related

  • கூகிள் 2018 ஆம் ஆண்டில் “நூற்றுக்கணக்கான மில்லியன்” Android சாதனங்களுக்கு AR பயன்பாடுகளை கொண்டு வரும்
  • AI மற்றும் இயந்திர கற்றல் பற்றி கூகிள் உங்களுக்கு இலவசமாக கற்பிக்கும்
  • கூகிள் அட்டைப் பலகைக்கான 15 சிறந்த வி.ஆர் விளையாட்டுகள்
  • Google அட்டைப் பெட்டிக்கான 10 சிறந்த விஆர் பயன்பாடுகள்
  • கூகிள் ஃபுச்ச்சியா என்றால் என்ன? இது புதிய ஆண்ட்ராய்டு?
  • கூகிள் டூப்ளக்ஸ் என்றால் என்ன? - அம்சங்கள், வெளியீட்டு தேதி மற்றும் பல
  • வெறும் 7 நிமிடங்களில் Android க்கான VR பயன்பாட்டை எவ்வாறு உருவாக்குவது
  • மொபைல் விஆர் ஹெட்செட்டுகள் - உங்கள் சிறந்த விருப்பங்கள் யாவை?

நேர்மையாக இருக்கட்டும்: சியோமியின் மி பேண்ட் சாதனங்கள் எதுவும் இதுவரை நன்கு வடிவமைக்கப்பட்ட தொழில்நுட்பத் துண்டுகளாக இருக்கவில்லை, ஆனால் மி பேண்ட் 4 ஒரு முன்னேற்றம். இது இன்னும் எளிமையான கறுப்பு இசைக்...

Xiaomi Mi Band 4 என்பது Xiaomi இன் புதிய பட்ஜெட் நட்பு உடற்பயிற்சி கண்காணிப்பாகும். இது வண்ண தொடுதிரை காட்சி, ஆப்டிகல் இதய துடிப்பு சென்சார், அதிக எண்ணிக்கையிலான பயிற்சிகளைக் கண்காணிக்கும் திறன் மற்று...

தளத்தில் சுவாரசியமான