«ITMO Research_» подкаст: AR мазмұнын бүкіл стадион ауқымындағы шоумен синхрондауға қалай жақындауға болады

Бұл біздің бағдарламаға арналған екінші сұхбаттың мәтіндік транскриптінің бірінші бөлімі (Apple Podcasts, Яндекс.Музыка). Қонақ шығарылымы - Андрей Карсаков (kapc3d), п.ғ.д., Ұлттық когнитивті зерттеулер орталығының аға ғылыми қызметкері, цифрлық трансформациялар факультетінің доценті.

2012 жылдан бастап Андрей Визуализация және компьютерлік графика зерттеу тобында жұмыс істейді. Мемлекеттік және халықаралық деңгейдегі ірі қолданбалы жобалармен айналысады. Әңгіменің осы бөлігінде біз оның қоғамдық іс-шараларға AR қолдау көрсету тәжірибесі туралы айтамыз.

«ITMO Research_» подкаст: AR мазмұнын бүкіл стадион ауқымындағы шоумен синхрондауға қалай жақындауға болады
фото Бұл инженерлік RAEng (Unsplash.com)

Жобаның контексті және мақсаттары

Уақыт коды ( аудио нұсқалары) — 00:41

Дмитрийкабанов: Мен Еуропалық ойындар жобасынан бастағым келеді. Бұл көпкомпонентті, дайындыққа бірнеше команда қатысты және стадиондағы іс-шара кезінде мыңдаған аудиторияға толықтырылған шындықты қамтамасыз ету өте күрделі міндет. Сіздің қатысуыңызға келетін болсақ, ол бірінші бағдарламалық құрал болды ма?

kapc3d: Иә, біз бағдарламалау бөлігін жасадық және шоу барысында қолдау көрсеттік. Нақты уақытта барлығын бақылап, бақылап, іске қосу, сонымен қатар теледидар тобымен жұмыс істеу қажет болды. Бұл жобаны тұтастай алып қарасақ, онда ашылу және жабылу салтанаттары туралы айтуға болады Еуропа ойындары Минскіде, сондай-ақ чемпионаттың ашылу салтанаты туралы WorldSkills Қазанда. Бұл бір жұмыс схемасы болды, бірақ әртүрлі оқиғалар. Олардың арасында екі айлық үзіліс болды. Жобаны компанияның жігіттерімен бірге дайындадық Sechenov.com.

Біз оларды кездейсоқ кездестірдік Ғылым фестивалі, 2018 жылдың күзінде орын алған. Біздің магистранттар VR тақырыбы бойынша курстық жобаларын көрсетті. Жігіттер қасымызға келіп, лабораториямызда не істеп жатқанымызды сұрады. Бұл келесідей көрінді:

— Сіз VR-мен жұмыс істейсіз, бірақ толықтырылған шындықпен жұмыс істей аласыз ба?

- Иә, иә.

– Ондай тапсырма бар, осындай кіріспе сөздермен. Сіз жасай аласыз ба?

Олар шалқандарын аздап тырнады, шындыққа жанаспайтын ештеңе жоқ сияқты:

– Алдымен бәрін зерттеп, сосын шешімін тауып көрейік.

Дмитрий: Олар тек бұқаралық ақпарат құралдарына қолдау көрсете ме?

Эндрю: Олар толық стек жасайды. Басқару және ұйымдастыру тұрғысынан олар режиссерлік, сахналық қойылым, декорацияларды таңдау, материалдық-техникалық қамтамасыз ету және басқа да техникалық қамтамасыз етумен толығымен айналысады. Бірақ олар Еуропа ойындары үшін ерекше нәрсе жасағысы келді. Бұл арнайы эффектілер, аралас шындық сияқты, теледидар үшін өте ұзақ уақыт бойы жасалған, бірақ олар техникалық іске асыру тұрғысынан ең бюджеттік емес. Сондықтан, жігіттер балама нұсқаларды іздеді.

Дмитрий: Мәселені толығырақ талқылайық. Ол неден тұрды?

Эндрю: Оқиға бар. Ол бір жарым сағатқа созылады. Біз оны тікелей эфирде көріп отырған көрермендер мен стадионда отырғандар сайттағы уақыт пен орын бойынша тікелей шоумен толық синхрондалған толықтырылған шындық әсерлерін көре алатындығына көз жеткізуіміз керек.

Бірқатар техникалық шектеулер болды. Интернет арқылы уақытты синхрондау мүмкін болмады, өйткені толық стендтері бар желіге шамадан тыс жүктеме және ұялы байланыс желілеріне кедергі келтіруі мүмкін шараға мемлекет басшыларының келуі мүмкін деген қауіп болды.

Андрей Карсаков, фото ITMO университетінің материалы
«ITMO Research_» подкаст: AR мазмұнын бүкіл стадион ауқымындағы шоумен синхрондауға қалай жақындауға боладыБізде бұл жобаның екі негізгі құрамдас бөлігі болды - адамдар мобильді құрылғылар арқылы алатын жеке тәжірибе және стадионның өзінде теледидарлық хабарлар мен ақпарат экрандарына не кіреді.

Егер адам кенеттен мобильді құрылғы арқылы толықтырылған шындық эпизодтарын көріп, бір уақытта экранға түссе, ол сол суретті көруі керек.

Уақытында толығымен синхрондалу үшін бізге екі іс жүзінде әртүрлі жүйе қажет болды. Бірақ мұндай шоулардың ерекшелігі - бұл көптеген техникалық қызметтер тартылатын және барлық операциялар уақыт кодтарына сәйкес орындалатын күрделі оқиғалар. Уақыт коды - бір нәрсе басталатын уақыттың белгілі бір сәті: жарық, дыбыс, адамдар кетіп бара жатқан, сахна жапырақшаларының ашылуы және т.б. Бәрі өз уақытында басталуы үшін осы жүйеге бейімделуіміз керек еді. Тағы бір ерекшелігі, толықтырылған шындық бар көріністер мен эпизодтар сценарийге байланысты болды.

Дмитрий: Бірақ сіз форс-мажорлық жағдайлардың жоғары тәуекелдеріне байланысты уақыт кодтарын пайдаланудан бас тартуды шештіңіз бе, әлде бастапқыда кейбір қуат сипаттамаларын есептеп, бүкіл жүйеге жүктеме айтарлықтай жоғары болатынын түсіндіңіз бе?

Эндрю: Егер сіз осындай аудитория үшін синхрондау қызметін жасасаңыз, онда бұл өте қиын емес. Қалай болғанда да, сұраныстар бір күнде орындалмайды. Иә, жүктеме жоғары, бірақ бұл төтенше жағдай емес. Егер желі кенеттен өшіп қалса, бұл үшін ресурстар мен уақытты жұмсаудың қажеті бар ма деген сұрақ туындайды. Біз бұлай болмайтынына сенімді емес едік. Сайып келгенде, бәрі жұмыс істеді, жүктемеге байланысты үзілістер болды, бірақ ол жұмыс істеді және біз басқа схемаға сәйкес уақыт кодына сәйкес синхрондадық. Бұл жаһандық сынақтардың бірі болды.

UX тұрғысынан жүзеге асыру қиындықтары

Уақыт коды ( аудио нұсқалары) — 10:42

Эндрю: Біз сондай-ақ стадионның классикалық концерттік орын емес екенін ескеріп, мобильді құрылғылар үшін кеңістіктегі жүйелерді синхрондауға тура келді. Сонымен, біраз уақыт бұрын мен вирусқа айналдым толықтырылған шындық оқиғасы Эминемнің концерттерінде, содан кейін Лободамен жағдай болды.

фото Роберт Бай (Unsplash.com)
«ITMO Research_» подкаст: AR мазмұнын бүкіл стадион ауқымындағы шоумен синхрондауға қалай жақындауға боладыБірақ бұл әрқашан сіздің алдыңызда тәжірибе - бүкіл тобыр сахнаның алдында тұрады, синхрондау өте қарапайым. Стадион жағдайында сіз шеңбердің қай жағында тұрғаныңызды, салыстырмалы позицияны түсінуіңіз керек, осылайша стадион виртуалды ортада бар кеңістікке сәйкес келеді. Бұл ауыр сынақ болды. Олар оны әртүрлі жолдармен шешуге тырысты және нәтиже Лобода жүзеге асырған нәрсеге жақын болды, бірақ барлық жағынан емес.

Біз пайдаланушыға оның қайда екенін шешуге мүмкіндік береміз. Адамдар секторды, қатарды, орынды таңдаған стадионға белгілер жасадық. Мұның бәрі төрт «нұқу». Одан кейін сахнаға баратын бағытты анықтауға тура келді. Бұл әрекетті орындау үшін біз сахнаның әдеттегі көзқарас тұрғысынан шамамен қандай болуы керектігі туралы силуэт көрсеттік. Ол оны біріктірді, түртеді, мінекей - сахна отырды. Біз бұл процесті мүмкіндігінше жеңілдетуге тырыстық. Дегенмен, шоуды көргісі келген көрермендердің 90% -ы толықтырылған шындықпен байланысу тәжірибесі бар адамдар емес.

Дмитрий: Бұл жоба үшін бөлек өтінім болды ма?

Эндрю: Иә, біз дүкенге итеріп жіберген iOS және Android жүйесіне арналған қосымша. Ол үшін бөлек жарнамалық науқан болды. Жүктеп алу жолы және т.б. туралы бұрын егжей-тегжейлі сипатталған болатын.

Дмитрий: Адамның физикалық сынақтан өтуіне және мұндай қолданбаны пайдалануды үйренуіне орын жоқ екенін түсіну керек. Сондықтан аудиторияны «тәрбиелеу» міндеті күрделене түсті.

Эндрю: Иә Иә. UX көмегімен біз көптеген соққыларға тап болдық, өйткені пайдаланушы тәжірибені үш рет басу арқылы алғысы келеді: жүктелді, орнатылды, іске қосылды - ол жұмыс істеді. Көптеген адамдар күрделі оқулықтарды орындауға, оқулықтарды оқуға және т.б. Біз оқулықта мүмкіндігінше пайдаланушыға барлығын түсіндіруге тырыспадық: терезе осы жерден ашылады, камераға кіруге болады, әйтпесе ол жұмыс істемейді және т.б. Қанша түсіндірме жазсаңыз да, қаншалықты егжей-тегжейлі шайнасаңыз да, қандай гифтерді салсаңыз да, адамдар оны оқымайды.

Минскіде біз осы бөлім бойынша үлкен кері байланыс пулын жинадық және Қазандағы қолдану үшін көп нәрсені өзгерттік. Біз оған қосымша шындықтың белгілі бір эпизодына сәйкес келетін фонограммалар мен уақыт кодтарын ғана салып қоймай, барлық фонограммалар мен уақыт кодтарын толығымен алдық. Сонымен, қолданба іске қосу кезінде не болып жатқанын естіді және - егер адам қате уақытта жүйеге кірсе - ол: «Жолдас, кешіріңіз, сіздің AR эпизодыңыз 15 минуттан кейін болады» деген ақпаратты берді.

Сәулет және синхрондау тәсілі туралы аздап

Уақыт коды ( аудио нұсқалары) — 16:37

Дмитрий: Сіз дыбыс бойынша синхрондау туралы шешім қабылдадыңыз ба?

Эндрю: Иә, бұл кездейсоқ болды. Біз нұсқаларды қарастырып, бір компанияны кездестірдік Cifrasoft Ижевск қаласынан. Олар дыбысты уақытпен синхрондауға мүмкіндік беретін ерекше күрделі емес, бірақ темірмен жұмыс істейтін SDK жасайды. Жүйе шартты жарнаманың дыбысы негізінде қолданбада бірдеңені көрсетуге немесе фильм жолына негізделген интерактивті тәжірибені беруге болатын теледидармен жұмыс істеуге арналған.

Дмитрий: Бірақ бұл бір нәрсе - сіз қонақ бөлмеңізде отырсыз, ал басқа нәрсе - мыңдаған адамдар бар стадион. Дыбыс жазу сапасы және оны кейіннен тануы сізге қалай әсер етті?

Эндрю: Қорқыныш пен күмән көп болды, бірақ көп жағдайда бәрі жақсы танылды. Олар өздерінің айлакер алгоритмдерімен аудио тректе қолтаңбалар жасайды - нәтиже бастапқы аудио файлдан азырақ. Микрофон қоршаған дыбысты тыңдаған кезде, ол осы мүмкіндіктерді табуға және олардың негізінде жолды тануға тырысады. Жақсы жағдайда синхрондау дәлдігі 0,1-0,2 секундты құрайды. Бұл жеткілікті болды. Нашар жағдайларда сәйкессіздік 0,5 секундқа дейін болды.

Көп нәрсе құрылғыға байланысты. Біз құрылғылардың үлкен паркімен жұмыс істедік. iPhone үшін тек 10 модель бар. Олар сапа және басқа мүмкіндіктер бойынша жақсы жұмыс істеді. Бірақ андроидтермен хайуанаттар бағы менің анам сияқты. Дыбысты синхрондау барлық жерде жұмыс істемейтіні белгілі болды. Кейбір ерекшеліктерге байланысты әртүрлі құрылғыларда әртүрлі тректерді есту мүмкін болмаған жағдайлар болды. Бір жерде төмен жиіліктер жоғалып кетеді, бір жерде жоғары жиіліктер сықырлай бастайды. Бірақ егер құрылғыда микрофонда нормализатор болса, синхрондау әрқашан жұмыс істеді.

Дмитрий: Сәулет туралы айтып беріңізші - жобада не пайдаланылды?

Эндрю: Біз Unity-де қосымшаны жасадық - көп платформалық және графикамен жұмыс істеу тұрғысынан ең қарапайым нұсқа. Қолданылған AR Foundation. Біз бірден жүйені қиындатқымыз келмейтінін айттық, сондықтан бәрін сынауға уақыт табу үшін ARKit және ARCore қолдайтын құрылғылар паркімен шектелдік. Біз DigitalSoft SDK үшін плагин жасадық, ол біздің GitHub-да бар. Біз сценарийлер уақыт шкаласына сәйкес жұмыс істейтін етіп мазмұнды басқару жүйесін жасадық.

Біз бөлшектер жүйесімен аздап айналыстық, өйткені пайдаланушы кез келген уақытта белгілі бір эпизодқа кіре алады және бізге ол синхрондалған сәттен бастап бәрін көруі керек. Біз XNUMXD тәжірибесін фильмдегідей алға-артқа айналдыруға болатын сценарийлерді уақытында анық ойнауға мүмкіндік беретін жүйемен жұмыс жасадық. Ол классикалық анимациялармен қораптан тыс жұмыс істегенімен, бізге бөлшектер жүйелерімен айналысуға тура келді. Бір сәтте олар уылдырық шаша бастайды, егер сіз уылдырық шашу нүктесіне дейін бір жерде болсаңыз, олар әлі туылмаған, бірақ олар болуы керек сияқты. Бірақ бұл мәселені шешу өте оңай.

Мобильді бөлік үшін архитектурасы өте қарапайым. Телехабар тарату үшін бәрі күрделірек. Бізде аппараттық шектеулер болды. Тапсырыс беруші шарт қойды: «Міне, бізде мынадай аппараттық парк бар, дөрекі айтқанда, соған бәрі жұмыс істеу керек». Біз бірден салыстырмалы түрде бюджеттік бейне түсіру карталарымен жұмыс істейтінімізге назар аудардық. Бірақ бюджет олардың нашар екенін білдірмейді.

Аппараттық құралдарға, бейне түсіру карталарына және жұмыс жағдайларына шектеулер болды - суретті қалай қабылдау керек. Түсіру карталары - Blackmagic Design, ішкі пернелер схемасына сәйкес жұмыс істейді - дәл осы кезде сізге камерадан бейне кадр келеді. Карточканың өзінің өңдеу чипі бар, онда жақтау да кірістірілгеннің үстіне қойылуы керек. Карта оларды араластырады - біз ол жерде басқа ештеңеге қол тигізбейміз және бейне камераның кадрына әсер етпейміз. Ол нәтижені бейне шығысы арқылы басқару бөлмесіне жібереді. Бұл тақырыптарды және басқа ұқсас нәрселерді қабаттастырудың жақсы әдісі, бірақ ол аралас шындық әсерлері үшін өте қолайлы емес, өйткені көрсету құбырында көптеген шектеулер бар.

Дмитрий: Нақты уақыттағы есептеулер, нысанды байланыстыру немесе басқа нәрсе тұрғысынан ма?

Эндрю: Сапа және қажетті әсерге қол жеткізу тұрғысынан. Өйткені біз суретті ненің үстіне қоятынымызды білмейміз. Біз бастапқы ағынның үстіне түс пен мөлдірлік туралы ақпаратты жібереміз. Бұл схемамен сыну, дұрыс мөлдірлік және қосымша көлеңкелер сияқты кейбір әсерлерге қол жеткізу мүмкін емес. Мұны істеу үшін бәрін бірге көрсету керек. Мысалы, оттан немесе ыстық асфальттан ауаның бұрмалану әсерін жасаудың ешқандай жолы жоқ. Бұл сыну көрсеткішін ескере отырып, мөлдірлік әсерін беру үшін де қолданылады. Біз бастапқыда осы шектеулерге негізделген мазмұнды жасап, сәйкес әсерлерді қолдануға тырыстық.

Instagram-да бұл хабарламаны көру

Минскіде ІІ Еуропа ойындарының жабылуы.

Жариялаған пост Алена Ланская (@alyonalanskaya) 30 жылғы 2019 маусымда 3:19 PDT

Дмитрий: Еуропалық ойындарға арналған бірінші жобада өз контентіңіз болды ма?

Эндрю: Жоқ, контентті әзірлеудің негізгі кезеңін Sechenov.com сайтының жігіттері жасады. Олардың графикалық суретшілері негізгі мазмұнды анимациялармен және басқа нәрселермен салды. Біз барлығын қозғалтқышқа біріктірдік, қосымша эффектілер қостық, барлығы дұрыс жұмыс істейтіндей етіп бейімдедік.

Егер құбыр туралы айтатын болсақ, онда теледидарлық хабар тарату үшін біз барлығын Unreal Engine 4-те жинадық. Кездейсоқ, олар дәл осы сәтте аралас шындыққа арналған құралдарын күшейте бастады. Барлығы оңай емес екені белгілі болды. Қазірдің өзінде барлық құралдар шикі, көп нәрсені қолмен аяқтауға тура келді. Минскіде біз қозғалтқыштың тапсырыс бойынша құрастырылуымен жұмыс істедік, яғни, мысалы, нақты заттардың үстіне көлеңке түсіру үшін қозғалтқыштың ішіндегі кейбір нәрселерді қайта жаздық. Қозғалтқыштың сол кездегі қолданыстағы нұсқасында мұны стандартты құралдардың көмегімен жасауға мүмкіндік беретін мүмкіндіктер болмады. Осы себепті біздің жігіттер өмірлік қажетті заттардың барлығын қамтамасыз ету үшін өздерінің жеке құрастыруын жасады.

Басқа нюанстар және Қазандағы WorldSkills-ке бейімделу

Уақыт коды ( аудио нұсқалары) — 31:37

Дмитрий: Бірақ мұның бәрі өте қысқа мерзімде?

Эндрю: Мерзімдері тығыз болды Қазан жобасы, Минск бойынша - қалыпты. Әзірлеуге шамамен алты ай, бірақ алты адам тартылғанын ескере отырып. Сонымен бірге біз жылжымалы бөлікті жасап, теледидар өндірісінің құралдарын әзірледік. Тек суретті шығару ғана болмады. Мысалы, оптикасы бар бақылау жүйесі, ол үшін сіз өзіңіздің құралдарыңызды жасауыңыз керек еді.

Дмитрий: Бір жобадан екіншісіне бейімделу болды ма? Бір жарым айдан кейін әзірлемелерді пайдаланып, жаңа мазмұндағы жобаны жаңа сайтқа көшіру керек болды ма?

Эндрю: Иә, бір жарым ай болды. Минск жобасынан кейін бүкіл команда үшін екі апталық демалысты жоспарлаған болатынбыз. Бірақ жабылғаннан кейін бірден Sechenov.com сайтының жігіттері келіп: «Олай болса, Қазанды жасайық», - дейді. Біз әлі де аздап демалдық, бірақ бұл жобаға тез ауыстық. Біраз техникалық жұмыстарды аяқтадық. Уақыттың көп бөлігі мазмұнға жұмсалды, өйткені WorldSkills үшін біз мұны толығымен жасадық, біз оны тек өндіріс тобымен үйлестірдік. Олар тарапынан тек сценарий ғана болды. Бірақ бұл оңайырақ болды - қосымша қайталаудың қажеті жоқ еді. Мазмұнды өзіңіз жасаған кезде оның қозғалтқышта қалай жұмыс істейтінін бірден көресіз және жылдам өңдеуге және үйлестіруге болады.


Мобильді бөлікке келетін болсақ, біз Минскіде болған барлық нәзіктіктерді ескердік. Біз қосымшаның жаңа дизайнын жасадық, архитектураны аздап қайта жасадық, оқулықтар қостық, бірақ оны мүмкіндігінше қысқа және түсінікті етуге тырыстық. Қолданбаны іске қосудан мазмұнды қарауға дейінгі пайдаланушы қадамдарының санын қысқарттық. Сәйкес жобаны аяқтау үшін бір жарым ай жеткілікті болды. Бір жарым аптада біз сайтқа жеттік. Мұнда жұмыс істеу оңайырақ болды, өйткені жобаны бақылау ұйымдастырушылардың қолында болды, басқа комитеттермен келісу қажет болмады. Қазанда жұмыс істеу оңайырақ және оңайырақ болды және уақыттың аз болуы қалыпты жағдай болды.

Дмитрий: Бірақ сіз дыбысқа негізделген синхрондау тәсілін сол қалпында қалдыруды шештіңіз бе?

Эндрю: Иә, біз оны дыбыспен қалдырдық. Бұл жақсы жұмыс істеді. Олар айтқандай, егер ол жұмыс істесе, оған қол тигізбеңіз. Біз жай ғана аудио трек сапасының нюанстарын ескердік. Олар кіріспе жасаған кезде, шоу басталмас бұрын адамдар көруі үшін жаттығу эпизоды болды. Бір таң қалдыратыны, стадионда трек ойнап жатқанда, «тіріде» дауыл соғып жатқанда, жүйе осы трекпен жақсы синхрондауға мүмкіндік береді, бірақ егер осы сәтте жазылған шапалақ трекпен араласса, онда трек енді ұсталмайды. Мұндай нюанстар ескерілді, дыбыс жағынан бәрі жақсы синхрондалды.

PS Шығарылымның екінші бөлімінде біз ғылыми деректерді визуализациялау, басқа жобалардағы процестерді модельдеу, ойын әзірлеу және магистрлік бағдарлама туралы сөйлесеміз »Компьютерлік ойын жасау технологиясы" Жалғасын келесі мақалада жариялайтын боламыз. Бізді мына жерден тыңдап, қолдау көрсете аласыз:

PPS Сонымен қатар, Habr ағылшын тіліндегі нұсқасында: ITMO университетіне жақынырақ қарау.

Ақпарат көзі: www.habr.com

пікір қалдыру