勉強会のレポート(メモ)です。
参加したのはこちら、「第1回 VRM勉強会」
会場提供は「メルカリ」さん。懇親会は「VRMコンソーシアム設立準備会」さん提供です。
動画はこちら(複数本に分かれてるっぽい?)
xR Tech Tokyoチャンネルで確認してください。
スライドのまとめはこちら
https://niconare.nicovideo.jp/events/44
時間(予定) | タイトル | 発表者 | |
---|---|---|---|
19:00-19:10 | Luppetで分かったVRMアプリ開発Tips | @ CST_negi | |
19:10-19:20 | VVRMを使ったAR/MR撮影アプリを試作開発してみた話 | @sotanmochi | |
19:20-19:30 | アバター生放送支援アプリ「アバれぽ」の紹介 | @toRisouP | |
19:30-19:45 | 休憩 | --- | |
19:45-19:55 | おめめのうごき | @miyumiyuna5 | バーチャル登壇 |
19:55-20:05 | 誰でもできる!VRMモデルセットアップ小技集 | @m2wasabi | |
20:05-20:15 | VRM対応スマホアプリ開発Tips集 | @ yashinut | |
20:15-20:30 | 休憩 | --- | |
20:30-20:40 | VRM姉妹のGLTF(GLB)はやればできる子! セルフビルド狐おじさんが教える動く背景データの作り方と対策 | @ichitarok | バーチャル登壇 |
20:40-20:50 | VRMSpringBoneをJobSystem&ECSで最適化してみた話 | @ TEST_H_ | |
20:50-21:00 | (個人で)VRM対応のアダルトアプリを作っている話 | @nkjzm |
目次
- LT1. Luppetで分かったVRMアプリ開発Tips
- LT2. VVRMを使ったAR/MR撮影アプリを試作開発してみた話
- LT3. アバター生放送支援アプリ「アバれぽ」の紹介
- LT4. おめめのうごき
- LT5. 誰でもできる!VRMモデルセットアップ小技集
- LT6. VRM対応スマホアプリ開発Tips集
- LT7. VRM姉妹のGLTF(GLB)はやればできる子! セルフビルド狐おじさんが教える動く背景データの作り方と対策
- LT8. VRMSpringBoneをJobSystem&ECSで最適化してみた話
- LT9. (個人で)VRM対応のアダルトアプリを作っている話
- 懇親会&展示会の様子
- 他の方のメモ、感想ブログ
LT1. Luppetで分かったVRMアプリ開発Tips
スライド
https://niconare.nicovideo.jp/watch/kn4016
開発の勘所について話します。
Luppetとは
ノートPCとLeepMotionで完結するVtuberシステムです。
・セットアップが簡単。
・バストショットに特化(頭表情手指のみ)
・VRM対応
開発者視点から見るVRM
VRMはいろんなモデルがいる。
・複数モデルの使用が見込まれる
・モデルごとに体格が違う
・モデルごとに見た目が違う
これを考慮したワークフローと工夫点
・複数モデルの使用が見込まれる
モデルとモデルの情報だけのシーンと、キャラを動かすシーンで分ける。
役割を分割し開発を楽にする。キャラ選択ではモデルを全て生成せずメタ情報だけにしましょう。
・モデルごとに体格が違う
Humanoidモデルの各ボーンを取得する。
首の位置を取得して、そこにカメラの位置を設定する。
ただし、自動だと限界があるので手動調整をする機能を入れましょう。
・モデルごとに見た目が違う
背景色 PostProcessingのブルームなどを調整できるようにする。
明るさ調整 背景色ブルームなど。
まとめ
モデルの生成とメインでシーンは分ける。
調整はある程度自動化するとユーザにやさしい、でも手動も必要。
LT2. VVRMを使ったAR/MR撮影アプリを試作開発してみた話
スライド
VRMを使ったAR/MR撮影ツールを試作開発してみた話 / Prototype of Mobile Mixed Capture - Speaker Deck
やりたいこと
屋内外でAR/MRの動画を撮影したい。
実は業務用ですが事例がありますがこれを個人でワンオペでやりたい。
試作したツール
動画を合成して撮影、ケーブルなしで動いています。
構成はスライドを見てください。
開発Tips
姿勢の動機はHumanPoseを送受信。
ただしこれだけだとうまく合わなかった、なぜならキャラクターによってスケールが違うため。
別途位置を同期するオブジェクトを用意しました。
冗長かもしれませんが、上半身と下半身で分けています。
上半身はモーションキャプチャ、下半身はアニメーションで動かしています。
まとめ
個人で購入できるハードウェア、ソフトウェアで実現しました。
モーキャプの制度とかを改善していけば遊ぶ分には問題ないでしょう。
LT3. アバター生放送支援アプリ「アバれぽ」の紹介
スライド
https://niconare.nicovideo.jp/watch/kn4017?nicorepotwitter_upload_knowledge
アバれぽとは
アバター生放送を支援するwindows向けアプリ。
VRMの表示、ツイッターや生放送のコメントをメッセージで表示できる。
生放送で使え、登壇時にリアルタイム読み上げができる。
APIを公開するのでいろいろ試してみてください。
技術的な話
使ってるライブラリいろいろあります。
UniVRM、UniRx、UniWinApi、CoreTweet、UnityBoyomichanClientなどなど
オニオンアーキテクチャを採用しています。
今後の予定
開発者向けにAPIを提供します。
VRMの連携、表情の自動制御やキーボードやパッドの入力を反映も予定。
4月くらいまでにリリースします。体験版、有償版を用意します。
LT4. おめめのうごき
これから目を動かすニーズは高まる。
実はVRMは標準で目の制御ができます。
しかしパラメータがたくさんあってわからないと思うので実演を交えて解説します。
ここでデモ(動画を見てね)
試行錯誤したら、縦15横23くらいがいい感じ、パラメータをいじるとそれっぽい感じになります。
最後に一言
ちょっとぐらい大げさな方がいいと思います。
自分のモデルを使うときは限界ギリギリを算出してみてください。
LT5. 誰でもできる!VRMモデルセットアップ小技集
スライド
小さなTipsを話していきます。
4月16日はVRMリリース1週年です。
記念にセットアップ本を無料で公開します。
MToon編
MatCapとリムライトについて。
MtoonのMatCapは乗算ではなく加算である、なので白色にびかびかになるので注意。
Mtoonには4つのRenderingTypeがありVRM/Untilよりも使いやすい。
半透明の処理などができるようになります。
SpringBone編
セットアップはニコニ立体ちゃんを参考にしましょう。
左右対称のVRMSpringBoneColliderGrouoはコピペしてxの+-を入れ替えればok。
JSONでのインポートエクスポート機能は、ボーン構造が少しでも変わっていると使えないので、コピペがおすすめです。
Boneのコライダーの生え方
基本的にRigの配置にそって生える。ただし方向は関係なく位置関係のみで配置されます。
長さ0のボーンについては、親から延長された直線状に生えます。
重力0なら関係ないが、あるとそのコライダーが影響を受ける。
misc編
標準以外のマテリアルはスクリプトを改造、使いたいシェーダーの名前を追加しないといけない。
LT6. VRM対応スマホアプリ開発Tips集
スライド
https://niconare.nicovideo.jp/watch/kn4008
VRMはいいぞ
IOSのダウンロード事情
IOSはダウンロードする場所を選ぶことができる。(Androidはダウンロードフォルダへ)
zipはスマホ側でインポートするのが大変。専用のアセットを使いました。
プリセットキャラのロード
デフォルトキャラが入っています。StremingAssetに置けばロードはできるがVRMのランタイムロードはすごく重い。
prefabで配置したほうがいい。
バグ対応
・一部端末で描画が死ぬ、体が消える
・一部端末で落ちる
・一部端末で読み込みができない
これらで言いたいのは、Android端末は多様性があるのでデバッグ端末を用意しておくといいです。
おまけ
OculusGoは中身がAndroidなので同じようにできます。
Webを開いたりもできましたが、ダウンロードフォルダのvrmを消せない、
アプリ内から消せる仕組みが必要。
VRMはいいぞ
LT7. VRM姉妹のGLTF(GLB)はやればできる子! セルフビルド狐おじさんが教える動く背景データの作り方と対策
スライド
https://niconare.nicovideo.jp/watch/kn4013
内容盛りだくさんなのでスライドを見てください。
アニメーションなど
世界は不順な動きで満ちている、これを作ることで現実に近づけることができる
アニメーションはユニティ内で作りましょう。確認しながら作れるため。
階層はうまく使いましょう
空のオブジェクトを作ってグループ化していきましょう。
ただし階層は途中で変更すると動かなくなります、注意しましょう。
.animはavaterに入れましょう、これはよく忘れます。
フレームレート
多ければいいという問題ではない、1でもいい。
回転する時はquatinonを選びましょう。
出力時の注意
animationのpreviewを解除しないで出力しようとするとだめ。
フレームレートは回転が速すぎてできない場合はフレームレートを増やす。
LT8. VRMSpringBoneをJobSystem&ECSで最適化してみた話
スライド
https://niconare.nicovideo.jp/watch/kn4015
ニコニ立体ちゃんを256体を同時に動かして負荷テストします。
JobSystem
・モデルごとに処理
モデルの持つボーンを一箇所で全て平行処理します。
mainスレッドは5msいないに収まった Jobの処理がまばらなのかスパイクがあった。
・全モデルを一括で処理
ボーンをモデルごとではなく全モデルの情報一括で処理します
キャラが何体いようと全てまとめて処理できます。
処理自体は一番良い結果となった。
データをまとめることでジョブの発行を抑えることができるようになりましたが、
動的なモデルの追加削除の負荷はそれなりにかかります。
ECSとjobsystem
ESCとGameObjectがかかわってくるのでHybridが必要。
増減はJobベースよりもマシになる。
ここで時間切れ、続きはスライドを見てください。
LT9. (個人で)VRM対応のアダルトアプリを作っている話
スライド
https://niconare.nicovideo.jp/watch/kn4023
開発したきっかけ
開発思想
健全なアダルト文化を作りたい。
社会的な意義があり、安全なものを作っていきたい。
現実よりもアバターの方が自分を表現できる人たちがいる。その人たちを支援したい。
安全なアダルトアプリ
アバター時代のリベンジポルノになるのを防ぎたい->性的表現を許可してるモデルだけを通すようにする。
アバターを生み出す人は、配布やライセンスには要注意。悪用されるリスクがでてきます。
作ってみた知見
有償でも買ってもらえる。
反応がわかりづらい、聞きづらい。
イベントで門前払いされる、アダルトOKな会場がない。
今後
マルチプラットフォーム化
任意のモーションを読み込む
複数人対応
まとめ
アダルト系の開発者イベントがやりたい
懇親会&展示会の様子
今日のピザ
— シン (@Shin09shin) February 19, 2019
取らないといけない気がした#VRM勉強会 pic.twitter.com/ypauZQdkZe
タブレットやキーボードの操作に追従するモデル #VRM勉強会 pic.twitter.com/1UiLH8dOjA
— クラチョコ@グラブる (@crushed_choco) February 19, 2019
おもちゃLABOさん( @toy_labo ) のゲーム前にTwitterで見た時に気になったけど良さげだったし展示に向いてそう。その内試してみたい(並んで待てないダメな人) #VRM勉強会 pic.twitter.com/wMn9JzKxN0
— オークマネコ (@ookumaneko_XD) February 19, 2019
りりかちゃんとツーショットぴょん!
— ドコカノうさぎ@バーチャル美少女(棒) (@patsupyon) February 19, 2019
LookingGlassすごい!#VRM勉強会 pic.twitter.com/ctYgysMPgQ
USBフットペダルでワンオペ#VRM勉強会#Luppet pic.twitter.com/odn9y4QOJr
— Mahiro (@Mahiro_ch) February 19, 2019
VRM勉強会で注文したピザ、「安いという理由で選択したプレーンピザにチーズとチーズをトッピングしてもなお安い」という理由で注文したチーズだらけピザが紛れてたんだけど、それが一番うまいと評判で草だった pic.twitter.com/8dEre4OSPB
— とりすーぷ (@toRisouP) February 19, 2019
ピザがたくさん出ました。ポテトやソーセージなどいろいろありますが、
とろとろのチーズピザが一番おいしかった。
他の方のメモ、感想ブログ
次回は5月頃のようです。
間違っている所、消してほしいツイートなどがありましたらコメントにお願いします。
誤字や、校正忘れを修正しました。