概要
第1回 VRM勉強会 - connpass のメモです。
メモが取り切れていない箇所があり申し訳ありません。
資料をTwitterで見つけた方の資料リンクは掲載しておりますが、もし漏れがあった場合はコメントにてお知らせ下さい。また、登壇者様のツイッターアカウントを掲載しておりますが、こちらも間違いがありましたらお知らせ頂けると幸いです。
Luppetで分かったVRMアプリ開発Tips
- ねぎぽよ❣️/ニアちゃん👉(@CST_negi)さん | Twitter
- Luppetを先行公開します!|negipoyoc|pixivFANBOX
- PCとLeepMotionで完結するVTuberアプリ
- VRMの特徴はいろんなモデルがあるので、キャラ選択画面が欲しくなる
- モデルの体格が違うので、カメラ位置等の調整方法に工夫が必要
- 発行するアクセサリーが付いてたりする
- モデルの選択, 調整画面とキャラを動かすシーンを分ける
- モデル生成シーンとメインシーンを分けると良い(快適にモデル選択が可能)
- モデルは一度に生成すると重い、キャラ選択はメタ情報だけあれば十分
- カメラをキャラの頭のGameObjectに合わせる
- 自動調整は限界があるので、手動調整画面を用意しておくと良い
- PostProcessとか背景色も変更出来るようにすると良い (原色アバターがクロマキーで消える)
- Luppetは明るさの強さと背景色を調整可能にしている
VRMを使ったAR/MR撮影アプリを試作開発してみた話
- sotan(@sotanmochi)さん | Twitter
- VRMを使ったAR/MR撮影ツールを試作開発してみた話 / Prototype of Mobile Mixed Capture - Speaker Deck
- HumanPoseで同期、ただ位置同期が一致しない
- Animator.humanScaleの違いによって移動する距離に差が出る
- 上半身をモーションキャプチャ、下半身はアニメーションで動かす
- 上半身用モデルと下半身用モデルのHumanposeから必要なmusclesを取得する
- HumanPoseのmusclesをfloat(32bit)からhalf(16bit)に変換してデータ削減
- モデルの顔と神が消えることがある (updateWhenOffscreenで暫定対策)
アバター生放送支援アプリ「アバれぽ」の紹介
- とりすーぷ(@toRisouP)さん | Twitter
- REST APIとUDP Socketを開発者向けに提供
- テキスト解析で表情を自動設定
- 体験版と有料版用意する予定 (生放送やるだけなら無料で良さそう)
おめめのうごき
- みゅみゅ@バーチャルキャスト(@miyumiyuna5)さん | Twitter
- VRMは目の動きが制御出来る
- 視線制御 - dwango on GitHub
- コンポーネントのパラメータで可動範囲を設定可能
- 横23, 縦15ぐらいがいい感じ
- ちょっとぐらい大げさなぐらいが面白い (モデルごとに変わる)
誰でもできる!VRMモデルセットアップ小技集
- えむにわ(@m2wasabi)さん | Twitter
- アバターパペットツール m2wasabi/LiveAvatar: Digital puppet application without HMD
- VRM読み込みUI m2wasabi/VRMLoaderUI: VRM Loader UI
- MToon VRM 標準シェーダ MToon の使い方 by さんたーP さん - niconare
- MatCapは加算、リムライト以外にもテカテカな表現も出来る
- MToonには4つのRenderingType, VRM/Unlit よりも使いやすい (半透明処理も簡単に出来る)
- VRMSpringBone(揺れもの)の設定はアリシアちゃんのVRMモデル
- VRMSpringBone - dwango on GitHub
- VRMSpringBoneはSecondaryの下に何個置いて、それぞれに弾性や重力、コライダー等を設定可能
- 左右対称のVRMSpringBoneColiderGroupはコピペして、要素xの±を入れ替えれば良い
- Boneのコライダーは基本的にリグのTransformの配置に沿って生えてる (回転方向は0固定なので見ない)
- 長さ0のRootBonesコライダーは親から延長された直線状に生え、重力に引かれる
- 公式「標準以外のマテリアルはインポート側にあれば使用可能」だが、実際はスクリプトの改造が必要
VRM対応スマホアプリ開発Tips集
- なっつー(@yashinut)さん | Twitter
- VRM対応スマホアプリ 開発Tips集 by なっつー さん - niconare
- Gotanda.unity #10 VRM対応スマホアプリのすすめ
- Zip / gzip Multiplatform Native Plugin. - Asset Store で zip ファイルを ios/Android で展開可能
- デフォルトアバターの読み込みはPrefabで配置したほうが良い (ランタイムロードは重い)
- VRMアバターを含めると重くなるので、Prefabだけ残すと良い
- MToonシェーダが原因でシーンが落ちるAndroid端末がある
- Android開発の場合はデバッグ用端末を大量に用意したほうが良い (iosは安定してる)
- Application.OpenURL("URL") でOculusGoブラウザを開くことが可能
VRM姉妹のGLTF(GLB)はやればできる子! セルフビルド狐おじさんが教える動く背景データの作り方と対策
- Ichitaro (いちたろう)(@ichitarok)さん | Twitter
- VRM姉妹のGLTF(GLB)はやればできる子! セルフビルド狐おじさんが教える動く背景データの作り方と対策 第1回 #VRM勉強会 by Ichitaro さん - niconare
- VRMはglTF2.0をベースにしたフォーマット
- バーチャルキャストではglTFを背景として利用可能
- VRMと一緒に入ってくる, UnityでもBlenderでも製作可能
- Unlit/Texture と UniGLTF/UniUnlit のシェーダをよく使う
- アニメーションを加えることで動きのある背景が作れる
- UnityのAnimation機能で製作可能
- Previewを解除してからglTFを生成しないと壊れる
- Animationのフレームレートは少なすぎるとだめ
VRMSpringBoneをJobSystem&ECSで最適化してみた話
- mao(@TEST_H_)さん | Twitter
- VRMSpringBoneをJobSystem&ECSで最適化してみた話 by mao さん - niconare
- mao-test-h/VRMSpringBone-Optimize: VRMSpringBoneの最適化検証
- MainThreadではJobSystemのJobを発行しているだけ(モデル毎に処理)
- コリジョン算出, 親の回転値の取得, 物理演算/反映をJobSystemで処理
- MainThreadの処理は5ms以内に収まった
- 全モデル分を一括で処理, 08ms 〜 1msぐらいになった
- Jobの発行負荷を抑えた
- 動的なモデルの増減でスパイクが起こる (20ms)
- 【Unity】Entity Component System入門(その1)【2018.2】 - Qiita
- ECS & JobSystem で最適化すると Job ベースに比べるとマシ
(個人で)VRM対応のアダルトアプリを作っている話
- Nakaji Kohki / リリカちゃん💜💉(@nkjzm)さん | Twitter
- モーションキャスト, VRM対応のモーション再生アプリ
- バリデーションでアダルト禁止ライセンスのアバターを弾く
- Hubサービス (VRoid Hub等) からのみの利用とする
- 配布やライセンスには注意が必要、アダルトで悪用されるリスクがある
- アダルトアプリは有償でもそこそこ買ってもらえる (モーションキャストは300円)
まとめ
興味のあった部分のみのメモになっており、少し偏りがあって申し訳ないです。
僕以外にも VRM勉強会に行ってきました(簡易レポ) - 世界の果てで終末を待つだけの雑記 でレポートを書いていらっしゃる方もいますので、そちらも一緒に見て頂けたらと思います。
(勢いで Qiita にアップロードしましたが、もし適切で無いようであればブログの方に移転します)