Поли АПИ: Дохваћање 3Д средстава за ваше ВР и АР Андроид апликације

Аутор: Peter Berry
Датум Стварања: 14 Август 2021
Ажурирати Датум: 8 Може 2024
Anonim
FALLOUT SHELTER APOCALYPSE PREPARATION
Видео: FALLOUT SHELTER APOCALYPSE PREPARATION

Садржај


Имате ли одличну идеју за мобилну апликацију Виртуал Реалити (ВР) или Аугментед Реалити (АР), али не знате како да оживите своју визију?

Осим ако нисте Андроид програмер, који је такође искусан 3Д уметник, онда стварање свих средстава потребних за пружање имерзивног искуства од 360 степени може бити застрашујући процес.

Само зато што немате времена, ресурса или искуства потребних за прављење 3Д модела, не значи да не можете да направите одличну ВР или АР мобилну апликацију! Постоји огроман распон 3Д ресурса који су доступни на Ворлд Виде Вебу, плус сви АПИ-ји, оквири и библиотеке које су вам потребне за преузимање и приказивање тих средстава у Андроид апликацијама.

Прочитајте даље: Сада можете да посетите било који веб сајт помоћу Даидреам ВР-а. Чак и онај.

У овом ћемо чланку гледати Поли, интернетско складиште и АПИ који хиљадама 3Д средстава ставља на дохват руке. На крају овог чланка направићете апликацију која у току извођења повлачи 3Д Поли имовину, а затим ће је приказати користећи популарну библиотеку Процессинг фор Андроид.


Приказивање 3Д средстава помоћу функције Поли

Ако сте се икада питали за развој Унити-а, тада је Поли репозиториј сличан Унити Ассет Сторе-у - осим што је све у Поли-у бесплатно!

Многи од Поли-ових 3Д модела објављени су под Цреативе Цоммонс лиценцом, тако да слободно можете да користите, мењате и ремиксујете те ресурсе све док ствараоцу приписујете одговарајуће заслуге.

Сви Поли-ови 3Д модели дизајнирани су тако да буду компатибилни са Гоогле-овим ВР и АР платформама, попут Даидреам-а и АРЦоре-а, али можете их користити где год желите и колико год желите - потенцијално их чак можете користити и са Аппле-овим АРКит-ом!

Када је у питању преузимање и приказивање поли имовине, имате две могућности. Прво, можете да преузмете средства на свој рачунар, а затим да их увезете у Андроид Студио, тако да се они испоручују уз вашу апликацију и доприносе њеној величини АПК-а, или можете их преузети током извођења помоћу Поли АПИ-ја.

Поли-платформа, базиран на РЕСТ-у, пружа програмски, само за читање Поли-ову огромну колекцију 3Д модела. Ово је сложеније од повезивања средстава са вашим АПК-ом, али постоји неколико предности при дохваћању поли имовине током извођења, посебно то што помаже у одржавању величине АПК-а под контролом, што може утицати на то колико људи преузме вашу апликацију.


Такође можете да користите Поли АПИ да бисте корисницима дали већи избор, на пример ако развијате мобилну игру, да бисте својим корисницима могли да одаберу низ различитих карактера.

Будући да можете слободно модификовати Поли моделе, можете чак и дозволити својим корисницима да подешавају свој одабрани лик, на пример, променом боје косе или очију или комбинујући је са другим поли имовином, попут различитог оружја и оклопа. На овај начин, Поли АПИ може вам помоћи да испоручите импресиван распон 3Д средстава, са пуно простора за персонализацију искуства - и све за релативно мало рада. Ваши корисници ће бити уверени да сте потрошили тону времена, пажљиво израђујући све ове 3Д моделе!

Израда пројекта 3Д моделирања

Направићемо апликацију која преузима одређени Поли имовину када се апликација покрене, а затим ће тај захтев приказати у режиму целог екрана, на захтев корисника.

Да бисмо нам помогли да пронађемо ово средство, користићу Фуел, који је ХТТП мрежна библиотека за Котлин и Андроид. Започните креирањем новог пројекта са подешавањима по вашем избору, али кад се од вас затражи да одаберете опцију „Укључи подршку Котлина“.

Сви позиви које упућујете у Поли АПИ морају да садрже АПИ кључ који се користи за препознавање ваше апликације и примењивање ограничења употребе. Током развоја и тестирања често ћете користити неограничени АПИ кључ, али ако имате било какве планове за издавање ове апликације, тада морате да користите Андроид ограничени АПИ кључ.

Да бисте креирали ограничени кључ, мораћете да знате потврду о потписивању СХА-1 вашег пројекта, тако да сада добијемо ове информације:

  • Изаберите картицу „Градле“ Андроид студија (где се курсор налази на следећој слици). Ово отвара панел „Градле Пројекти“.

  • На плочи „Пројекти Градле“ двапут кликните да бисте проширили корен вашег пројекта, а затим изаберите „Задаци> Андроид> Извештај о потпису“. Ово отвара нови панел на дну прозора Андроид Студио.
  • Изаберите дугме „Укључи извршавање задатака / текстуални режим“ (где се курсор налази на следећој слици).

Панел „Покрени“ ће се сада ажурирати како би приказао пуно информација о вашем пројекту, укључујући његов отисак прста СХА-1.

Отворите налог за Гоогле Цлоуд Платформ

Да бисте набавили потребан АПИ кључ, требаће вам налог Гоогле Цлоуд Платформ (ГПЦ).

Ако немате налог, онда се можете пријавити на 12-месечно бесплатно пробно време тако што ћете се упутити на бесплатну страницу Пробна облачна платформа и следите упутства. Имајте на уму да је потребна кредитна картица или дебитна картица, али према страници Често постављана питања ово се користи само за потврду вашег идентитета и „неће вам бити наплаћено или наплаћено за време вашег бесплатног суђења.“

Набавите свој кључ Поли АПИ

Након што се сви пријавите, можете да омогућите Поли АПИ и направите свој кључ:

  • Идите до конзоле ГЦП.
  • Изаберите икону постројења у горњем левом углу и изаберите „АПИ-ји и услуге> Надзорна плоча“.
  • Изаберите „Омогући АПИ-је и услуге“.
  • У левом менију изаберите „Остало“.
  • Изаберите картицу „Поли АПИ“.
  • Кликните на дугме „Омогући“.
  • Након неколико тренутака бићете пребачени на нови екран; отворите бочни мени и изаберите „АПИ-ји и услуге> повериоци“.

  • У следећем скочном прозору изаберите „Ограничи тастер“.
  • Дајте кључу карактеристично име.
  • Под „Ограничења апликације“ одаберите „Андроид апликације“.
  • Изаберите „Додај име пакета и отисак прста.“
  • Копирајте / залепите отисак прста СХА-1 вашег пројекта у поље „Отисак сертификата о потпису“.
  • Унесите назив пакета за ваш пројекат (појављује се на вашем манифесту и на врху сваке датотеке класе).
  • Кликните на „Сачувај“.

Сада ћете бити пребачени на екран „Веродостојности“ вашег пројекта, који садржи списак свих ваших кључева АПИ-а, укључујући и кључ за АПИ који је омогућен за Поли који сте управо креирали.

Зависности од пројекта: проширења горива, П3Д и Котлин

Да бисмо преузели и приказали поли-средства, требат ће нам помоћ из неких додатних библиотека:

  • Гориво. Поли тренутно нема званични Андроид алатки, тако да ћете морати директно да радите са АПИ-јем користећи свој РЕСТ интерфејс. Да поједноставим овај поступак, користићу мрежну библиотеку Фуел ХТТП.
  • Обрађује се за Андроид. Користићу П3Д приказивач ове библиотеке за приказ Поли средства.

Отворите датотеку буилд.градле вашег пројекта и додајте ове две библиотеке као зависности пројекта:

зависности {имплементација филеТрее (укључују:, дир: либс) имплементација "орг.јетбраинс.котлин: котлин-стдлиб-јре7: $ котлин_версион" примена цом.андроид.суппорт:аппцомпат-в7:27.1.1 // Додај библиотеку горива / / имплементација цом.гитхуб.киттинунф.фуел: гориво-андроид: 1.13.0 // Додајте Процессинг фор Андроид енгине // имплементација орг.п5андроид: Процесс-цоре: 4.0.1}

Да би код био сажетији, користићу и Котлин Андроид проширења, па додајмо овај додатак док имамо датотеку буилд.градле отворену:

примените додатак: котлин-андроид-ектенсионс

И на крају, пошто преузимамо имовину са Интернета, нашој апликацији је потребна дозвола за Интернет. Отворите свој Манифест и додајте следеће:

Додавање АПИ кључа

Сваки пут када наша апликација захтева средство од Поли-а, мора да садржи важећи АПИ кључ. Користим текст резервирања места, али ти мора замените ово резервирано место са сопственим АПИ кључем ако апликација икада ради.

Такође додајем чек, тако да ће апликација приказати упозорење ако заборавите да замените текст „ИНСЕРТ-ИОУР-АПИ-КЕИ“:

импорт андроид.ос.Бундле импорт андроид.суппорт.в7.апп.АппЦомпатАцтивити класа МаинАцтивити: АппЦомпатАцтивити () {пратећи објект {цонст вал АПИКеи = "ИНСЕРТ-ИОУР-АПИ-КЕИ"} пребрисати забаву онЦреате (савеИнстанцеСтате: Бундле?) { супер.онЦреате (савеИнстанцеСтате) сетЦонтентВиев (Р.лаиоут.ацтивити_маин) // Ако АПИ кључ почиње са „ИНСЕРТ“ ... // ако (АПИКеи.стартсВитх („ИНСЕРТ“)) {// онда прикажите следећи тост… .// Тоаст.макеТект (ово, „Нисте ажурирали АПИ кључ“, Тоаст.ЛЕНГТХ_СХОРТ) .схов ()} елсе {... ... ...

Дохваћање средства

На Гоогле Поли веб локацији можете одабрати било који ресурс, али ја ћу користити овај модел планете Земље.

Добивате средство помоћу његовог ИД-а, који се појављује на крају УРЛ-а (истакнут на претходном снимку екрана). Комбинујемо овај ИД имовине са хост АПИ-јем компаније Поли, који је „хттпс://поли.гооглеапис.цом/в1.“

импорт андроид.цонтент.Интент импорт андроид.ос.Бундле импорт андроид.суппорт.в7.апп.АппЦомпатАцтивити импорт андроид.видгет.Тоаст импорт цом.гитхуб.киттинунф.фуел.андроид.ектенсион.респонсеЈсон импорт цом.гитхуб.киттинунф.фуел .хттпДовнлоад импорт цом.гитхуб.киттинунф.фуел.хттпГет импорт котлинк.андроид.синтхетиц.маин.ацтивити_маин. * импорт јава.ио.Филе класа МаинАцтивити: АппЦомпатАцтивити () {цомпанион објецт {цонст вал АПИКеи = "УМЕТИТЕ-ВАШ-АПИ -КЕИ "вал имовУРЛ =" хттпс://поли.гооглеапис.цом/в1/ассетс/94КСГ1КСУи10к "} надјачај забаву онЦреате (савеИнстанцеСтате: Бундле?) {Супер.онЦреате (савеИнстанцеСтате) сетЦонтентВиев (Р.лаиоут.ацтивити_маин) иф ( АПИКеи.стартсВитх ("ИНСЕРТ")) {Тоаст.макеТект (ово, "Нисте ажурирали АПИ кључ", Тоаст.ЛЕНГТХ_СХОРТ) .схов ()} елсе {

Затим морамо упутити ГЕТ захтев на УРЛ средства, користећи методу хттпГет (). Такође специфицирам да тип одговора мора бити ЈСОН:

импорт андроид.цонтент.Интент импорт андроид.ос.Бундле импорт андроид.суппорт.в7.апп.АппЦомпатАцтивити импорт андроид.видгет.Тоаст импорт цом.гитхуб.киттинунф.фуел.андроид.ектенсион.респонсеЈсон импорт цом.гитхуб.киттинунф.фуел .хттпДовнлоад импорт цом.гитхуб.киттинунф.фуел.хттпГет импорт котлинк.андроид.синтхетиц.маин.ацтивити_маин. * импорт јава.ио.Филе класа МаинАцтивити: АппЦомпатАцтивити () {цомпанион објецт {цонст вал АПИКеи = "УМЕТИТЕ-ВАШ-АПИ -КЕИ "вал имовУРЛ =" хттпс://поли.гооглеапис.цом/в1/ассетс/94КСГ1КСУи10к "} надјачај забаву онЦреате (савеИнстанцеСтате: Бундле?) {Супер.онЦреате (савеИнстанцеСтате) сетЦонтентВиев (Р.лаиоут.ацтивити_маин) иф ( АПИКеи.стартсВитх ("ИНСЕРТ")) {Тоаст.макеТект (ово, "Нисте ажурирали АПИ кључ", Тоаст.ЛЕНГТХ_СХОРТ) .схов ()} елсе {// Позовите сервер, а затим проследите податке користећи Метода „листОф“ // имовинаУРЛ.хттпГет (листОф („кључ“ за АПИКеи)). ОдговорЈсон {захтев, одговор, резултат -> // Урадите нешто са одговором // резултат.фолд ({вал ас сет = ит.обј ()

Средство може имати неколико формата, као што су ОБЈ, ГЛТФ и ФБКС. Морамо утврдити да је средство у ОБЈ формату.

У овом кораку преузимам и име и УРЛ свих датотека које требамо да преузмемо,
укључујући примарну датотеку средства („роот“), плус све придружене датотеке материјала и текстуре („ресоурце“).

Ако наша апликација не може исправно да преузме средство, приказаће се здравица која обавештава корисника.

импорт андроид.цонтент.Интент импорт андроид.ос.Бундле импорт андроид.суппорт.в7.апп.АппЦомпатАцтивити импорт андроид.видгет.Тоаст импорт цом.гитхуб.киттинунф.фуел.андроид.ектенсион.респонсеЈсон импорт цом.гитхуб.киттинунф.фуел .хттпДовнлоад импорт цом.гитхуб.киттинунф.фуел.хттпГет импорт котлинк.андроид.синтхетиц.маин.ацтивити_маин. * импорт јава.ио.Филе класа МаинАцтивити: АппЦомпатАцтивити () {цомпанион објецт {цонст вал АПИКеи = "УМЕТИТЕ-ВАШ-АПИ -КЕИ "вал имовУРЛ =" хттпс://поли.гооглеапис.цом/в1/ассетс/94КСГ1КСУи10к "} надјачај забаву онЦреате (савеИнстанцеСтате: Бундле?) {Супер.онЦреате (савеИнстанцеСтате) сетЦонтентВиев (Р.лаиоут.ацтивити_маин) иф ( АПИКеи.стартсВитх ("ИНСЕРТ")) {Тоаст.макеТект (ово, "Нисте ажурирали АПИ кључ", Тоаст.ЛЕНГТХ_СХОРТ) .схов ()} елсе {// Поднесите ГЕТ захтев на УРЛ средства // имовинаУРЛ. хттпГет (листОф („кључ“ за АПИКеи)). реплиЈсон {захтев, одговор, резултат -> // Учините нешто са одговором // ресулт.фолд ({вал средство = ит.обј () вар објектУРЛ: Стринг? = нулл вар материалЛибрариНаме: Стринг? = нулл вар материалЛибрариУРЛ: Стринг? = нулл // Провјерите формат средства, користећи матрицу "формататс" // вал имовинаФорматс = имовина.гетЈСОНАрраи ("формати") // Прегледајте све формате // фор (и у 0 док средствоФорматс.ленгтх ()) { вал цуррентФормат = средствоФорматс.гетЈСОНОбјецт (и) // Користите форматТипе да бисте идентификовали врсту формата овог ресурса. Ако је формат ОБЈ… .// иф (цуррентФормат.гетСтринг („форматТипе“) == „ОБЈ“) {//...додајте датотеку „роот“ овог ресурса, тј. ОБЈ датотеку // објецтУРЛ = цуррентФормат. гетЈСОНОбјецт ("роот") .гетСтринг ("урл") // Дохватите све зависности коријенске датотеке // материалЛибрариНаме = цуррентФормат.гетЈСОНАрраи ("ресурси") .гетЈСОНОбјецт (0) .гетСтринг ("релативни пут") материалЛибрариУРЛ = цуррентФормат.гетЈСОН ("ресурси") .гетЈСОНОбјецт (0) .гетСтринг ("урл") бреак}} објектУРЛ !!. хттпДовнлоад (). одредиште {_, _ -> датотека (филесДир, "глобеАссет.обј")} .одговор {_ , _, резултат -> ресулт.фолд ({}, {// Ако не можете да пронађете или преузмете ОБЈ датотеку, прикажите грешку // Тоаст.макеТект (ово, "Није могуће преузимање ресурса", Тоаст.ЛЕНГТХ_СХОРТ ) .схов ()})} материјалЛиблиотекаУРЛ !!. хттпДовнлоад (). одредиште {_, _ -> датотека (филесДир, материалЛибрариНаме)} .одговор {_, _, резултат -> ресулт.фолд ({}, {Тоаст. макеТект (ово, „Није могуће преузимање ресурса“, Тоаст.ЛЕНГТХ_СХОРТ) .схов ()})}}, { Тоаст.макеТект (ово, „Није могуће преузимање ресурса“, Тоаст.ЛЕНГТХ_СХОРТ) .схов ()})}}}

У овом тренутку, ако инсталирате пројекат на Андроид паметни телефон или таблет или Андроид Виртуал Девице (АВД), средство ће се успешно преузети, али апликација га заправо неће приказати. Хајде да то исправимо сада!

Креирање другог екрана: Додавање навигације

Приказат ћемо имовину у режиму пуног екрана, па ћемо ажурирати нашу датотеку маин_ацтивити.кмл да укључује дугме које ће, када се додирне, покренути активност на целом екрану.

Сада додајмо онЦлицкЛистенер на крај датотеке МаинАцтивити.кт:

импорт андроид.цонтент.Интент импорт андроид.ос.Бундле импорт андроид.суппорт.в7.апп.АппЦомпатАцтивити импорт андроид.видгет.Тоаст импорт цом.гитхуб.киттинунф.фуел.андроид.ектенсион.респонсеЈсон импорт цом.гитхуб.киттинунф.фуел .хттпДовнлоад импорт цом.гитхуб.киттинунф.фуел.хттпГет импорт котлинк.андроид.синтхетиц.маин.ацтивити_маин. * импорт јава.ио.Филе класа МаинАцтивити: АппЦомпатАцтивити () {цомпанион објецт {цонст вал АПИКеи = "УМЕТИТЕ-ВАШ-АПИ -КЕИ "вал имовУРЛ =" хттпс://поли.гооглеапис.цом/в1/ассетс/94КСГ1КСУи10к "} надјачај забаву онЦреате (савеИнстанцеСтате: Бундле?) {Супер.онЦреате (савеИнстанцеСтате) сетЦонтентВиев (Р.лаиоут.ацтивити_маин) иф ( АПИКеи.стартсВитх ("ИНСЕРТ")) {Тоаст.макеТект (ово, "Нисте ажурирали АПИ кључ", Тоаст.ЛЕНГТХ_СХОРТ) .схов ()} елсе {имовинаЛЛ.хттпГет (листОф ("кључ" до АПИКеи)). респонсеЈсон {захтјев, одговор, резултат -> ресулт.фолд ({вал средство = ит.обј () вар објектУРЛ: Стринг? = нулл вар материалЛибрариНаме: Стринг? = нулл вар материалЛибрариУРЛ: Стр инг? = нулл вал имовинаФорматс = имовина.гетЈСОНАрраи ("формати") за (и у 0 све до средстваФорматс.ленгтх ()) {вал цуррентФормат = имовинаФорматс.гетЈСОНОбјецт (и) ако (тренутниФормат.гетСтринг ("форматТипе") == "ОБЈ" ) {објецтУРЛ = цуррентФормат.гетЈСОНОбјецт ("роот") .гетСтринг ("урл") материалЛибрариНаме = цуррентФормат.гетЈСОНАрраи ("ресурси") .гетЈСОНОбјецт (0) .гетСтринг ("релативни пут") материалЛибрариУРЛ = цуррентФормат.гетЈСОНАрраи ) .гетЈСОНОбјецт (0) .гетСтринг ("урл") бреак}} објектУРЛ !!. хттпДовнлоад (). одредиште {_, _ -> Датотека (филесДир, "глобеАссет.обј")} .одговор {_, _, резултат -> ресулт.фолд ({}, {Тоаст.макеТект (ово, "Није могуће преузети ресурс", Тоаст.ЛЕНГТХ_СХОРТ) .схов ()})} материалЛибрариУРЛ !!. хттпДовнлоад (), одредиште {_, _ -> датотека (филесДир, материалЛибрариНаме)} .респонсе {_, _, резултат -> ресулт.фолд ({}, {Тоаст.макеТект (ово, "Ресурс није могуће преузети", Тоаст.ЛЕНГТХ_СХОРТ). схов ()})}}, {Тоаст.макеТект (ово, „Није могуће преузети ресурс“, Тоаст.ЛЕНГТХ_СХОРТ) .сх ов ()})} // Имплементирај дугме // дисплаиБуттон.сетОнЦлицкЛистенер {вал интент = Намера (ово, СецондАцтивити :: цласс.јава) стартАцтивити (намера); }}}

Израда 3Д платна

Сада, направимо активност у којој ћемо приказати свој материјал у режиму целог екрана:

  • Кликните контролном типком МаинАцтивити.кт датотеке вашег пројекта и изаберите „Ново> Котлин датотека / класа“.
  • Отворите падајући избор „Кинд“ и изаберите „Цласс“.
  • Дајте овој класи име „СецондАцтивити“, а затим кликните „ОК“.

Да бисмо нацртали 3Д објект, потребно нам је 3Д платно! Користићу П3Д приказивач библиотеке за Процессинг за Андроид, што значи проширити класу ПАпплет, пребрисати методу сеттингс () и проследити П3Д као аргумент методи фуллСцреен (). Такође морамо да створимо својство које представља Поли средство као ПСхапе објект.

приватни забавни приказАссет () {вал цанвас3Д = објект: ПАпплет () {вар полиАссет: ПСхапе? = нулл оверриде фун сеттингс () {фуллСцреен (ПЦонстантс.П3Д)}

Затим морамо иницијализирати ПСхапе објект, надјачавањем методе сетуп (), позивањем методе лоадСхапе (), а затим проласком апсолутне путање .обј датотеке:

пребрисати забавно подешавање () {полиАссет = лоадСхапе (Датотека (филесДир, "глобеАссет.обј"). абсолутни пут)}

Цртање на платну П3Д-а

Да бисмо цртали на овом 3Д платну, морамо да надјачамо методу драв ():

пребрисати забавно цртање () {позадина (0) облик (полиАссет)}}

Подразумевано, многи елементи дохваћени са Поли АПИ-ја налазе се на мањој страни, тако да ако покренете овај код сада, можда нећете ни видети имовину, у зависности од конфигурације екрана. Приликом креирања 3Д сцена обично ћете креирати прилагођену камеру тако да корисник може истражити сцену и прегледати ваше 3Д снимке са пуних 360 степени. Међутим, то је изван опсега овог чланка, тако да ћу ручно мењати величину и положај средства да бих се осигурао да се он удобно уклапа на екран.

Можете да повећате величину средства тако што ћете негативну вредност пренети методи скали ():

скала (-10ф)

Можете прилагодити положај средства у виртуалном 3Д простору помоћу методе транслате () и следећих координата:

  • ИКС. Поставите средство уздуж хоризонталне осе.
  • И. Поставите средство уздуж вертикалне осе.
  • З. Ово је ос "дубина / висина", која трансформише 2Д објект у 3Д објект. Позитивне вредности стварају утисак да објект иде према вама, а негативне стварају утисак да се објект удаљава од вас.

Имајте на уму да су трансформације кумулативне, тако да све што се догоди након функције акумулира ефекат.

Користим следеће:

превести (-50ф, -100ф, 10ф)

Ево довршеног кода:

оверриде фун драв () {бацкгроунд (0) сцале (-10ф) транслате (-50ф, -100ф) // Нацртајте средство позивањем методе схапе () // схапе (полиАссет)}}

Затим морамо да направимо одговарајућу датотеку изгледа, у коју ћемо додати 3Д платно као ФрамеЛаиоут виџет:

  • Кликните контролном типком мапе „рес> лаиоут“ вашег пројекта.
  • Изаберите „Датотека ресурса за распоред“.
  • Дајте овој датотеци име „Ацтивити_сецонд“, а затим кликните „ОК“.

Сада имамо наш „фраме_виев“ ФрамеЛаиоут, морамо да обавестимо нашу СецондАцтивити! Вратите се на СецондАцтивити.кт датотеку, креирајте нову инстанцу ПФрагмент и усмјерите је у смјеру нашег видгета „ресоурце_виев“:

импорт андроид.ос.Бундле импорт андроид.суппорт.в7.апп.АппЦомпатАцтивити импорт котлинк.андроид.синтхетиц.маин.ацтивити_сецонд. * увоз обрада.андроид.ПФрагмент импорт импорт.цоре.ПАпплет импорт Процесс.цоре.ПЦонстантс импорт обделава.цоре .ПСхапе увести јава.ио.Филе класе СецондАцтивити: АппЦомпатАцтивити () {пребрисати забаву онЦреате (савеИнстанцеСтате: Бундле?) {Супер.онЦреате (савеИнстанцеСтате) сетЦонтентВиев (Р.лаиоут.ацтивити_сецонд) дисплаиАссет ()} приватна забава дисплаиАссет () {вал цанвас3Д = објект: ПАпплет () {вар полиАссет: ПСхапе? = нулл оверриде фун сеттингс () {фуллСцреен (ПЦонстантс.П3Д)} оверриде фун сетуп () {полиАссет = лоадСхапе (Филе (филесДир, "глобеАссет.обј". абсолутПатх)} оверриде фун драв () {бацкгроунд (0) сцале (-10ф) преведи (-50ф, -100ф) облик (полиАссет)}} // Додај следеће // вал имовинаВиев = ПФрагмент (цанвас3Д) имовинаВиев.сетВиев (имовина_погледа, ово)}}

Завршни корак је додавање СецондАцтивити на ваш Манифест:

// Додајте следеће //

Тестирање вашег пројекта

Сада смо спремни да тестирамо готов пројекат! Инсталирајте га на Андроид уређај или АВД и проверите да ли имате активну интернетску везу. Чим се апликација покрене, она ће преузети средство, а затим је можете видети тако што ћете додирнути дугме „Дисплаи Ассет“.

Комплетан пројекат можете преузети са ГитХуб-а.

Окончање

У овом смо чланку погледали како користити Поли АПИ за дохваћање 3Д средства током извођења и како то средство приказати помоћу библиотеке Процессинг фор Андроид. Мислите ли да Поли АПИ има потенцијал да развој ВР и АР учини доступним већем броју људи? Јавите нам у коментарима испод!

Повезан

  • Гоогле ће 2018. године донијети АР апликације на „стотине милиона“ Андроид уређаја
  • Гоогле ће вас бесплатно научити о АИ и машинском учењу
  • 15 најбољих ВР игара за Гоогле Цардбоард
  • 10 најбољих ВР апликација за Гоогле Цардбоард
  • Шта је Гоогле Фуцхсиа? Да ли је ово нови Андроид?
  • Шта је Гоогле Дуплек? - функције, датум издавања и још много тога
  • Како створити ВР апликацију за Андроид за само 7 минута
  • Мобилне ВР слушалице - које су ваше најбоље могућности?

Ажурирање, 28. маја 2019. у 16:15 ЕТ: Након што су га задиркивали раније овог месеца, ГАМЕВИЛ је направио Талион, мобилни ММОРПГ, доступан за преузимање. Игра омогућава велике битке од 20 према 20 и д...

Велике Аппле вести ове недеље односе се на имена нових иПхоне уређаја. Очекивали смо да ће нова иПхоне имена бити аналогна прошлогодишњим: иПхоне КСИР, иПхоне КСИ и иПхоне КСИ Мак. Међутим, изгледа да...

Публикације