Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
coinsLT#101資料 バーチャルアバターによるAR(ryの進捗
Search
にー兄さん
July 25, 2019
Technology
0
67
coinsLT#101資料 バーチャルアバターによるAR(ryの進捗
情報特別演習Ⅱの進捗報告をcoinsLT#101(
https://atnd.org/events/106745)にて行ったときの資料
にー兄さん
July 25, 2019
Tweet
Share
More Decks by にー兄さん
See All by にー兄さん
XRエンジニアの視点から XRのイマと社会実装の実現について考える / thinking-about-xr-popularization
drumath2237
0
6
軽率にプログラミング言語のシンタックスについて考えてみよう / lets-think-about-programming-lang-syntax
drumath2237
0
55
エンジニアが軽率に趣味から始める、OSS貢献を軸とした個人活動 / oss-contribution-as-a-hoby-project
drumath2237
0
36
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
190
フォークギター with VFXの 制作を軽率に振り返ろう! / look back fork guitar with vfx
drumath2237
0
38
軽率に始まった Babylon.js勉強会運営の 1年間をふりかえって / look back babylonjs japan activity
drumath2237
0
67
利己的利他、 あるいは軽率2.0に備えよ。 / prepare-for-keisotsu-2.0
drumath2237
0
54
軽率にAndroidXRのJetpack SceneCoreを使って3Dモデルを表示してみる / androidxr-scenecore-3dmodels
drumath2237
0
130
あなたの知らないWebXR Device APIの話を軽率に / about-webxr-device-api-you-dont-know
drumath2237
0
56
Other Decks in Technology
See All in Technology
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
500
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
770
個人CLAUDE.md紹介と設定から学んだこと/introduce-my-claude-md
shibayu36
0
190
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
280
iPhone Eye Tracking機能から学ぶやさしいアクセシビリティ
fujiyamaorange
0
570
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
110
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
170
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
270
Grafana Meetup Japan Vol. 6
kaedemalu
1
200
生成AI時代に必要な価値ある意思決定を育てる「開発プロセス定義」を用いた中期戦略
kakehashi
PRO
1
270
Vault meets Kubernetes
mochizuki875
0
260
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
130
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
Optimizing for Happiness
mojombo
379
70k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Six Lessons from altMBA
skipperchong
28
4k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Cult of Friendly URLs
andyhume
79
6.6k
Site-Speed That Sticks
csswizardry
10
810
The Language of Interfaces
destraynor
160
25k
Transcript
バーチャルアバターに よるARライブ(ryの進 捗 にー兄さん(@ninisan_drumath) in coinsLT
Agenda 自己紹介 概要など WIP
自己紹介
Who am I ? にー兄さん coins18。 普段はVR/AR、3DCG、Web系などいじる ただのVTuberオタク 情報特別演習Ⅱの演習テーマの紹介とかします!
「バーチャルアバターによるARライブ配 信システムの構築」 概要
演習テーマ: バーチャルアバターによるARライブ配信システムの構築 昨今のVTuberブームから着想を得た バーチャルアバターをまとって、かつ現実に投影できる バーチャルアバターとARの親和性が高いことに注目 ⇒将来的にVTuberならぬATuberとかでてくるんじゃないか...?
動作のイメージ
開発の要件(基本機能) 1. モーションキャプチャデバイスからモーションデータを取得 2. モーションデータのジョイントからアバターのボーンのトランス フォームを計算 3. リアルタイム鯖を介して視聴者クライアントにブロードキャス ト 4.
クライアントでARレンダリング
開発の要件(発展) • 配信者へのコメント、投げ銭、フォロー • 配信者:視聴者=n:nの対応 • 声質変換(ボイチェン)
WIPと今後の展望
関門:Kinectでのモーショントラッキング • IPLAB(ユビ研)からKinect v2借用 • KinectとUnityによって ◦ モーションデータの取得 ◦ ビジュアライズ
◦ リアルタイムデータ送信 • Kinectの文献少なくない...? ⇒サポートが終了してるのでそれはそう
解決の糸口 • 公式ドキュメントを熟読する • Twitterで助けを求める ⇒MSのQAサイトで興味深い文献を発見できた • 自分でビジュアライザを作る
自作ビジュアライザ
関門:KinectのJointデータをVRMのボーンに適用 • 取得したJointデータと反映するボーンデータは違う • 自分の環境だと、JointType.LeftShoulderが右肩のデータを返す謎 挙動 • 対応表などは有志で開発している人のGitHubがあった ↑の挙動やローカル回転の実装方法の違いにより破綻 •
自作の対応表が必要だ ⇒作った
とりあえず辞書を定義した
気づいたらビジュアライザがLiveHostに化 けていた 1. アバターボーンの適用結果を反 映 2. さらにソケット通信まで実装した (もうビジュアライザではない)
関門:腕がプルプルする(は?) • リアルタイムでモーションデータを適用する ⇒腕がスライムみたいになった • 先生「プルプルしてるねぇ」 自分「プルプルしてますねぇ」 ⇒先生からの提案でフィルターとIKの開発を始める • いまここ
HumanoidのBoneに対応するIKを作成中
関門:リアルタイム通信 • クライアントにブロードキャストするSocket鯖を立てた • 辞書を作っておいたので割と楽に実装できた • なんかラグい…?→改善の余地あり
関門:AR対応 • まぁすぐできるやろ→今日の3限で爆死 • ARCoreのアップデートで実装(正確にはプレファブの対応関係)の 仕様が違った • コード読み直して今週末には実装完了を目指す
結論: 関門いっぱい!でも楽しい! ()
ご清聴ありがとうございまし た!