お布団宇宙ねこ

にゃーん

バ美肉ライブをしたよ

先日、会社のイベントで3Dモデルを利用したライブ配信バ美肉ライブを行いました。

youtu.be

バ美肉とは

バ美肉とは、「バーチャル美少女受肉」あるいは「バーチャル美少女セルフ受肉」の略である。バーチャル美少女として受肉することを指す。

バ美肉とは (バビニクとは) [単語記事] - ニコニコ大百科

私のバ美肉についてはこちらの記事に書きました。

ku00.hatenablog.com

事の発端

これに乗ってくれた方がいたので、やること何も決めてないけれどやるぞ!ということになりました。勢いしかない。

ちなみにこれをやると決めた当初は会社のイベントに合わせてやる予定はなかったのですが、できたら絶対に面白いだろうなあと思ったので間に合わせました。イベントの10日前の出来事でした。

VR開発合宿は難しい..?

このツイートをした当初はどこかのVRプラットフォームに入ってその空間に集まってプログラミングやモデリングなどの作業をやる開発合宿のようなものを想定していたのですが、以下のような問題から難しいねという話になりました。

  • 各々の環境によって入れるVRプラットフォームが制限される
  • HMDを着けながらの作業は難しい

VRChatやclusterなどVRプラットフォームはいくつかありますが、対応するHMDやOSがまちまちなため、各自が持っている機器によってはVRでの参加ができないことがあります。 今回の場合は自分はVIVE Proを持っていて、先方はOculus Goでしたので、そもそもPC対応のみのプラットフォームは使えないねという話になりました。

また、そもそもHMD着けながら作業は無理があるというのも、VR空間上でのキーボード操作のしにくさや物理ディスプレイが見えないなどの問題からも明らかですね。 絵を描いたり、スライドを見せながらプレゼンをするなどの作業ならできるプラットフォームならいくつかありますが..。

肉体はそのままで作業する

リアルの肉体をバーチャルに置きながら開発作業をするのは難しいことがわかったので、肉体はそのままでできる方法がないか考えました。

結論、2D・3Dモデルをカメラでトラッキングさせて通話しながら作業するという方針になりました。 これならプラットフォームやHMDに依存せず、かつHMDによって作業が阻害される心配もありません。

参考までに私の好きなVTuber月ノ美兎さんの動画を載せておきますね。

youtu.be

バ美肉ライブを支える技術

できたもの

YouTubeから配信を見ている人からはこんな感じで見えています。

f:id:ku00:20180909191428p:plain

会社のイベント会場にいた人にはスクリーンを通して配信を見てもらう感じでした。

f:id:ku00:20180906195556j:plain

システム構成

以下の図のような感じのシステム構成で配信しました。

f:id:ku00:20180909191521p:plain

ポイントは以下の3つです。

  • 3Dモデルの制御は全て3teneを通して行っていること
  • リアル体の声を恋声を利用して変換していること
  • 配信映像の作成はOBSで行っていること

3tene(ミテネ)というアプリが画面上で3Dモデルを動かせてVRMにも対応しており、今回の条件にマッチしたので利用させていただきました。 ウェブカメラやマイクがあればそれぞれのデバイス入力をもとにトラッキングできるのが最高ですね。

次に恋声による女声への変換ですが、これは私のバーチャル体の世界観として取り入れたものではなく、あくまで実験的な試みでした。 恋声は用意されているプリセットの変換だけだとどうしてもボイスチェンジャー感が出てしまうので、事前にある程度のチューニングと調声をしました。しかし、当日のマイクの音量や声のコンディションによってだいぶ左右されてしまい個人的には満足のいく声にはならなかったと思っています。

最後に今回初めて動画配信をしたのですが、映像を作るのも配信するのもOBSがいい感じにやってくれるので助かりました。

映像の合成は基本的にシーン(画面レイヤーみたいなもの)の順序を決めてキャプチャして配置することと、3Dモデルのキャプチャはクロマキー合成を使ったことくらいです。配信を一緒にやる予定だった方がご多忙のため今回不参加になってしまったので、Discordなどによる画面共有はやりませんでした。

あとは、映像にのせる音声が恋声で変換した音になるように仮想オーディオ(VB-CABLEなど)を入れたり、変換後の音声にはノイズが混じってしまうのでOBSのノイズ抑制を入れたりマイクの最大音量を下げる代わりにゲインを上げたりして調整していました(結局ノイズがのってしまいましたが..)

感想・反省

勢いだけで決まった初配信で一人で喋ることができるのかわからなくて始める前は緊張で死にそうでしたがトラブルなくなんとか終えることができました。

受け手がどれだけいるのか、どんな反応をしているのかを見ることができず、技術カンファレンスのような登壇とはまた違った怖さがありましたが、会社のSlackチャンネルのコメントやYouTubeのチャット欄が大変励みになりました、皆さんありがとうございました! インターネットあたたかい..

一方でライブ配信することに集中しすぎて、会社のイベント会場のことをほとんど考慮できず申し訳なかったです。配信用のPCを会場にも用意して、Slackチャンネルやスレッドを立てて質問を募ったり、Discordで会場と中継したりなどコミュニケーションの取り方はいくらでもあったなと思いました。次回以降改善します。

書き切れないくらい感想・反省がありますが、会社の人に「かわいかった!」「自分も参加して女子会やりたい!」という反応をもらえただけで今回のライブ配信やってよかったなあと思ったのでした。

改めまして、スクリーンなどの会場の設営をしてくれた会社の方々、配信を見てくださった皆さま、本当にありがとうございました!!!

(見てない方はアーカイブ見てね)

『輝夜 月 LIVE@Zepp VR』という最高のVRライブで平成最後の夏を終えた

youtu.be

そもそも輝夜月ちゃんとは🤔という方はYouTubeの動画を見てから戻ってきてください。

www.youtube.com

それでZepp VRってどこの会場だよ🤔という人に説明すると、cluster.というサービス上に作られた仮想の会場です。

youtu.be

cluster.上の会場に入るにはcluster.をダウンロードしてPCまたはVIVE等のVRバイスを利用する必要があります。

今回は世界初のVRライブということもあり、幸運にもチケットを手に入れた人のみがこのZepp VRに入ることができます。(収容人数は200人だったらしいです)

cluster.mu

チケットを手に入れることができなかった人でも全国の映画館でライブビューイングという形でこのVRライブを観ることができました。一人のVTuberが初のワンマンライブでライブビューイングもあるのはかなりやばいです。

liveviewing.jp

決済エラーにめげずに何度もトライした結果、運よくVRの方のチケットを手に入れることができたので私はVRから参加しました。

いざVRライブへ

こちらは会場前の様子です。 というよりも会場前もVRで用意されてるのすごいですよね。

通常cluster.上のアバターは顔にTwitterの画像アイコンが貼られているだけの質素なものなのですが、この会場にいる人はみんなエビフライになっていました。着ぐるみみたいでかわいいですね。

f:id:ku00:20180901104425p:plain f:id:ku00:20180901104429p:plain

あと会場にいた人はわかると思うのですが、リアルのライブ開演前の準備でよくある楽器の音だし調整のような音が流れていて、ライブに来た実感が湧いてきて無駄にテンションが上がっていました。こうゆう雰囲気づくり大事だしめちゃくちゃ好き。さすが水樹奈々さんファンのCEOが関わっているだけあります。

19時半頃になると開場して中に入れるようになりました。

会場に入ると輝夜月ちゃんのパーソナルカラーである赤・青・黄色で彩られた派手な光景が目に飛び込んできました。リアルなら舞台スタッフさんに止められそうな違法建築セットでしたが、そこはVRなので問題ないですし、VRだからこそアリという感じもしました。

f:id:ku00:20180901104611p:plain

しばらくすると見覚えのあるエビフライとブロッコリーが出現しました。そう「ジャスティン・エビーバー」と「パブロッコリー・ディエーゴ・ホセ・フランシスコ・デ・パウラ・ネポセーノ・マリア・デ・ロス・レメディオス・クリスピーン・クリスピアーノ・デ・ラ・サンティシマ・トリニタード ・ルイス・イ・ピカソ」です。(パブロッコリーの方名前合ってる..?)

今回は彼女(?)たちが開演前の諸注意および前説をやるようです。

リアルライブでよくある公演中の撮影・飲食は禁止のアナウンスも勿論ありましたが、VRは全然OKとのことでした!でも録画はVRでもダメだよとのこと(当たり前ですね)

f:id:ku00:20180901104625p:plain f:id:ku00:20180901104644p:plain f:id:ku00:20180901104648p:plain

会場内は薄暗くスモークも焚かれていて、完全に開演前のライブ会場でした。これは高まる。会場にいる我々アバターサイリウムを振ることができるので、振る練習をしながら待機していました。ただ振ってもその動きはほかの人からは見れず、サイリウムを振ったことがわかるジェスチャーが表示されるだけのが残念なところですね..(おそらくサイリウムの動きを全員分レンダリングするのは相当負荷がかかるため)

そして最高のライブへ

20時になり会場が徐々に暗くなって暗転、ライブが、宴が始まる..!とワクワクしながらコントローラーを握りしめているとついに輝夜月ちゃんが登場しました。彼女の持ち歌である『Beyond the Moon』が来るかと思ったらラジオ体操が始まりました。

ラジオ体操というのは夏休みとかによくある音楽と音声に合わせて体操するあれです。月ちゃんの声に合わせて観客のみんなで体操をする、しかも会場では観客の動きはレンダリングされないので棒立ちをしたアバターがリアルの各々の部屋でラジオ体操を黙々と行うという謎の状況が出来上がりました。やっている自分も自分が何をやっているのかよくわからなかったですし、たぶんVRで参加している他の方もライブビューイングで参加している方もよくわからなかったと思います。というか体操の動きが我々の知るラジオ体操の動きではなかったので混乱したし、なによりライブビューイングで参加している方は十分に動けなかったのではないでしょうか。

俺たちは一体何を見せら(やらさ)れているんだ..? (でもかわいい)

f:id:ku00:20180901114336p:plain f:id:ku00:20180901114356p:plain f:id:ku00:20180901114432p:plain

ラジオ体操が終わると月ちゃんが退場し、再び会場が暗転。 前方にスクリーンが映し出され映像が流れ始めました。

f:id:ku00:20180901114507p:plain f:id:ku00:20180901114527p:plain f:id:ku00:20180901115028p:plain f:id:ku00:20180901114555p:plain

輝夜月ちゃんのデビュー当時から今までのダイジェスト映像でした。私はこういった当時を振り返る軌跡映像にとても弱いのでこの時点ですでに泣きそうでした。

デビュー当時、首絞めハム太郎などと言われていた月ちゃんが世界初のVRライブをやっている、しかもワンマンで。これはやばい。

これは月ちゃんにハマり始めたころのツイートです。
あの頃はライブをするまでになるなんて思ってもみなかったですよね。

そして映像のSTARTの文字の後に頭上からミラーボールが出現、中から輝夜月ちゃんが再登場してついに『Beyond the Moon』が流れ始めました。

ライブに参加した皆様は当然購入済みかと思いますが、念のため貼っておきますね。

f:id:ku00:20180901115127p:plain f:id:ku00:20180901115202p:plain f:id:ku00:20180901115203p:plain f:id:ku00:20180901115204p:plain f:id:ku00:20180901115205p:plain f:id:ku00:20180901115206p:plain f:id:ku00:20180901115207p:plain f:id:ku00:20180901115208p:plain f:id:ku00:20180901115209p:plain f:id:ku00:20180901115210p:plain f:id:ku00:20180901115211p:plain f:id:ku00:20180901115728p:plain f:id:ku00:20180901115729p:plain f:id:ku00:20180901115730p:plain

気が付いたらひたすらコール&レスポンスをしてサイリウムを振っていました。

印象的だったのが、会場を構成するブロックが浮遊して月ちゃんを持ち上げていく演出があり、やばい魔法みたいだ!と思いながら見ていました。リアルライブならウェディングケーキのようにせり上がる装置を入れることで同じようなことができますが、演出に合わせてリアルタイムに会場を作り替えることはVRにしかできないのではないでしょうか。

ただ、あの瞬間は歌って踊っている月ちゃんかわいいということしか考えていませんでしたが。

次の曲は椎名林檎さんの『幸福論』のカバーでした。
自分はこの曲を知らなかったのでもう一曲持ち歌があるのか?!と勝手に別の盛り上がり方をしていました。(椎名林檎さんファンの皆様ごめんなさい)

youtu.be

原曲はポップな印象を受けましたが、月ちゃんのカバーはロック調にアレンジされていてこれがまた月ちゃんらしい雰囲気になっていてとても良かったです。カバーも売ってくださいお願いします。

歌っているときはスクショを取る暇がないくらい月ちゃんが会場を動き回っており、それを観客が追いかけまわすというVRならではの光景でした。

そして曲が終わり、暗かった天井が明るいピンク色に転調して月ちゃんのフリートークの時間に。

f:id:ku00:20180901115737p:plain f:id:ku00:20180901115738p:plain

よくライブである今日みんなはどこから来たの?という質問から始まり、Twitterでよく絡む人が会場にいるという話や、『Beyond the Moon』の歌詞は月ちゃんがほとんど考えたという話まで聞けました。

歌を通して普段の動画では言わないようなことを、輝夜月が考えていること・やろうとしていることを彼女自身の言葉で伝えようとしてくれていたんだという事実に嬉しくなりました。

そんなことを考えていると、後ろにいた大きなエビフライがいつの間にか巨大なエビーバーに変わっていました。しかも観客のエビフライエモーションを受けることでさらに巨大化していくという..!

キモいキモい!と逃げ惑う月ちゃん。

f:id:ku00:20180901115739p:plain

突然、会場を飲み込むほどの大きさになったエビーバーが爆発し、そこから出てきたのはエビフライになった月ちゃん。状況が呑み込めないままもう一度『Beyond the Moon』が流れます。でもエビフライになってもかわいいのであった。

フィナーレに相応しい花火や照明が会場全体を包みました。

f:id:ku00:20180901115732p:plain f:id:ku00:20180901115733p:plain f:id:ku00:20180901115731p:plain

曲が終わると突然会場の天井が崩壊し地球が現れました。

f:id:ku00:20180901115735p:plain

すぐにこのライブ会場が月であることを悟りました。我々観客はリアルからバーチャルな月へ移動し、そこで輝夜月という月のお姫様のライブを見ていたのだ..。

前方に月ちゃんからのメッセージが浮かび、最高のVRライブは終わりを告げました。

終演後..

現実に戻りたくないと思いつつ会場を後にすると、会場前にはなんと売店が。

f:id:ku00:20180901115736p:plain

VRから参加した我々は自分を含めおそらくライブビューイングの会場に出向くことは無理なはずなので、当然グッズが欲しいわけですが残念ながらここでは購入できませんでした。 将来的にはバーチャル空間で購入してリアルに届くという体験ができると良さそうですね。

後日通販でTシャツだけ手に入れることができました。現実は厳しい。

終わりに

久しぶりにライブレポートのようなものを書きましたが、とにかく情報量が凄まじかったです。

エビとブロッコリーによる前説、エビに乗る月ちゃん、エビになった月ちゃん、爆発するライブ会場..。次に何が起こるかわからない、これがVRライブ..。

世界初のVRライブとのことですが、大きなアクシデントもなく無事に終わることができて本当に良かったと思います。cluster.スタッフの皆様本当にお疲れさまでした。これを機にVRでのライブ、およびVRの技術が加速することを願っています。

私自身、輝夜月ちゃんをVR上で出会い、ライブのトークパートで彼女が言っていた触れたいけど触れられないという言葉を受けて、よりバーチャルな世界に自分自身の存在を近づけていきたくなりました。

そして、彼女が初めての自己紹介動画で発言していた「夢はみんなを笑顔にできるYouTuberになることです」というのを思い出して、それはこのライブを通してまた一つ形になったのでは思いました。少なくとも私は笑顔になれました。

youtu.be

とにかく平成最後の夏をこんな素敵なライブで締めることができて本当に良かったです、ありがとうございました!!!

VRoidの3Dモデルにリップシンクを覚えさせる

前回の目の瞬きに引き続き、今回はリップシンクを覚えさせます。

リップシンクとは

舞台、生放送などであらかじめ収録された音声入りの楽曲に対して歌っているように見せること。 『Wikipedia』より

要は口パクです。

これを覚えるとHMDやマイクから入力された音声と同期して3Dモデルが口パクをしてくれるようになります。

シェイプキーはこだわりがないなら作る必要はない

前回の目の瞬きを覚えさせたときに、VRoidはある程度シェイプキーを用意してくれることがわかったので今回もそれを使おうと思います。

ただ、用意されているものだけだと後述する必要なシェイプキーに一部合わない(足りない)ものがあり、完全なリップシンクとはちょっと違う感じになってしまったのでその点だけご注意ください。

VRChatにアップロードできるところまで準備する

具体的にはFBX形式にエクスポートしてVRC_Avatar Descriptorを追加するところまでです。詳細は以前ブログに書いたので参考までにどうぞ。

ku00.hatenablog.com

このコンポーネントを使います。

f:id:ku00:20180817022533p:plain

シェイプキーを割り当てる

VRC_Avatar Descriptorでリップシンクの設定ができます。

まずはLip Syncを[Viseme Blend Shape]に変更します。
次にFace Meshは[UMARenderer]を選択します。

あとは口の形に合わせてシェイプキーを割り当てるだけです。Viseme: 〇〇の項目がそれです。
各項目の説明についてはVRChat 日本語wikiを参照してください。 vrchatjp.playing.wiki

全ての項目を埋めるにはシェイプキーが足りないので、ある程度同じシェイプキーで埋めることになります。

自分の設定はこちらです

f:id:ku00:20180828233039p:plain

これで終わりです。こいつ..しゃべるぞ..!!

それでは~

バーチャルマーケットに行ってきたよ

http://v-market.work/

3Dアバター・3Dモデルの展示会『バーチャルマーケット』に参加してきました。

これの何がすごいかというとVRChatで開催されるため、出展物も展示会に行く私たち自身も全部バーチャル空間上で完結するということなんですよね。当然バーチャル空間なので、展示されている3Dアバターは自分で着て実際にどんな姿になるのか確認できますし、3Dモデルも触ることができます。今までBoothなどでよさそうなアバターを見つけても画像でしか確認することができず購入しづらいと思っていた人も解消されそうです。

自分もアバターの試着したり、スクショ撮ってたら一時間くらい余裕で経っていた..!

バーチャルの買い物楽しい! 未来が来てた!
西側を完全に失念していたのは内緒です。

以下スクショです(カメラの設定をミスったせいで自撮りはないです)

f:id:ku00:20180827230837j:plain f:id:ku00:20180827230937j:plain f:id:ku00:20180827230946j:plain f:id:ku00:20180827231036j:plain

会場の様子が気になる人は動く城のフィオさんのアーカイブ動画があるのでこちらをご覧ください。

youtu.be youtu.be

運営、出展者のみなさん、本当にお疲れさまでした!

VRoidの3Dモデルに目の瞬きを覚えさせる

VRoid製の3Dモデルは瞬きのやり方を知らないので今回はこれを覚えさせます。

瞬きの方法については検索すればいくらか情報が出てきますが、VRoidの場合は少し方法が異なります。

「シェイプキー」を作る必要はない

「シェイプキー」とはオブジェクトの形を記憶させておく機能のことです。「モーフ」とも呼ばれます。

人の3Dモデルを例に挙げると、真顔や笑顔などの表情やサムズアップのような手のジェスチャーをシェイプキーとしてよく作ります。このシェイプキーを使ってキーフレームで真顔から笑顔に、平手からサムズアップに変化させるようにアニメーションを作ることができます。

自作アバターを一から作る場合はBlender等で適宜シェイプキーを作る必要がありますが、VRoidの場合はデフォルトでいくつかシェイプキーが登録されているのでそれらを使ってある程度の表情などが出せるようになっています。

mtprince9 さんがVRoidで出力される表情のリストを貼ってくれているのでこちらを参考にしましょう。

この結論に辿り着くまでだいぶ時間がかかりました..。

FBX形式でエクスポートする

VRoidの3Dモデルのシェイプキーを利用するために、FBX形式でエクスポートするところまでやりましょう。一つ注意点としては、FBXでエクスポートする際のオプションで「Animated Skinned Mesh」にチェックを入れてエクスポートする必要があります。

FBX形式でのエクスポート方法については以下の記事で書いたので参考までにどうぞ。

ku00.hatenablog.com

FBXのエクスポートが完了してFBXファイルをHierarchyに追加したら、UMARendererを選択し[Inspector]->[Skinned Mesh Renderer]->[BlendShapes]が追加されていることを確認してください。

f:id:ku00:20180827000054p:plain

登録されているシェイプキーは0~100の値で調整できます。 試しに1つ値を変えてみるとこんな感じになります。

f:id:ku00:20180827000100p:plain f:id:ku00:20180827000104p:plain

瞬きのアニメーションを作る

瞬きに合うシェイプキーを探しましょう。 目を閉じる Face.M_F00_000_Fcl_EYE_Close が最適そうですね。

アニメーションの作り方については文章で説明するのが大変なので以下の動画を参考にしてください(本当に動画の方が分かりやすいので..!)

youtu.be

瞬きができるようになったらVRChatにアップロードしてみましょう。

目の瞬きがあるだけでも人間らしくなりますね。それでは。

VRoidの3DモデルでVRChatの世界に入ったよ

先日ようやくVRChatのアップロード制限が解除されたので、今回は前回の記事で作ったVRoidの3Dモデルを使ってVRChatの世界に入ろうと思います。

こちらの記事を参考にさせていただきました。ありがとうございました。
VRoidで作成したモデルをVRChatの世界に送り出す方法 - あたまのたいそう

下準備

事前に用意するものがいくつかあるので、まずは下準備からです。
順番に説明していきます。

  • 3Dモデルのポリゴン数を2万以内に収める
  • VRoidから作成した3DモデルをVRM形式でエクスポートする
  • 必要なソフトウェアやファイルを揃える

3Dモデルのポリゴン数を2万以内に収める

VRChatに持ち込める3Dモデルはポリゴン数が2万までと制限されているため、この閾値を超えないように3Dモデルを作っておく必要があります。VRoidでは意識せずにアバターを作っていると軽く閾値を超えてしまうため注意が必要です。

ポリゴン数を削減する方法については前回の記事で紹介しているのでここでは触れません。

また、Simplygonを利用してポリゴン数を削減できるようですが、自分の場合はこの方法ではうまくいかなかったのでやめました。(テクスチャが参照できないみたいなエラーが発生してしまった)

VRoidから作成した3DモデルをVRM形式でエクスポートする

ポリゴン数が閾値以下で収まったら、VRM形式でエクスポートしましょう。

VRoidの上部タブの [撮影・エクスポート] から左メニューの [エクスポート] を選択、エクスポートに必要なアバターの情報を入力して [エクスポート] を押下するだけです。

必要なソフトウェアやパッケージを揃える

最後の下準備として、今後の作業に必要なソフトウェアとパッケージを用意しましょう。必要なものは以下です。

Unityはダウンロード後にインストールまで行ってください。複数バージョンインストールするのでインストールするディレクトリをそれぞれ区別できるように変更してください。

https://docs.unity3d.com/jp/460/Manual/InstallingMultipleVersionsofUnity.html

Unity Packageはこの時点ではダウンロードのみでOKです。

Unityで2バージョン必要なのは、前者の 2.3f1 をVRM形式をFBX形式にコンバートするために利用し、後者の 5.6.3p1 をVRChatへアップロードするために利用するからです。

VRCSDKはVRChatにログインして、CONTENT CREATIONの [DOWNLOAD SDK] からダウンロードできます。

CubedsShadersはシェーダーなので必要のない人はスキップしてください。

以上で下準備は完了です。


やること

ここからようやく作業に入ります。やることは以下です。

  • VRM形式の3DモデルをFBX形式にコンバートする
  • VRChat用に3Dモデルを整える
  • VRChatにアップロードする

VRM形式の3DモデルをFBX形式にコンバートする

Unity 2.3f1を起動してプロジェクトを新規作成します。

作成できたらVRM形式のファイルを読み込めるようにするためにUniVRMをインポートします。

[Assets] -> [Import Package] -> [Custom Package] から、UniVRM-0.40.unitypackageを選択してください。

パッケージのインポートが終わったらVRMファイルを下の画像の枠線内にドラック&ドロップで渡すと読み込んでくれます。

f:id:ku00:20180816235634p:plain

読み込みが完了するとprefabファイルとそれに付属するテクスチャなどのディレクトリがプロジェクトのAssetsディレクトリ以下に作成されます。


次に読み込んだVRMファイルをFBX形式にコンバートします。

コンバートにはFBX ExporterというAsset Packageを利用します。
FBX ExporterはAsset Store経由でインポートすることができます。

真ん中の画面の上部タブから [Asset Store] を押下し、そこからストアにアクセスできます。

f:id:ku00:20180816235638p:plain

パッケージのインポートが完了したら、先ほど読み込んだVRMファイル、正確には.prefabという拡張子が付いているファイルを左側のHierarchyにドラック&ドロップします。

f:id:ku00:20180816235641p:plain

それができたら右クリックメニューから [Export To FBX] を選択します。

Export Optionsはデフォルトのままで [Export] を押下します。

エクスポートが完了するとAssetsディレクトリ以下に.fbxのファイルが作成されているはずです。

Unity 2.3f1の役目はここで終わりなので終了してください。

VRChat用に3Dモデルを整える

ここからはUnity 5.6.3p1を使います。

別バージョンのUnityなので、プロジェクトは先ほどのを使いまわすのではなく新規作成してください。

作成できたらコンバートのときと同じ要領で以下のパッケージをインポートします。

  • UniVRM
  • VRCSDK
  • CubedsShaders

インポートが完了したらVRMファイルとFBXファイルの順番でAssetsにドラック&ドロップします。なぜコンバートしたのにVRMファイルも一緒に読み込むのかというと、FBXファイルにはテクスチャの情報が付属しないためVRMのものを参照する必要があるからです。

その後、FBXファイルを左側の Hierarchy にドラック&ドロップすることで3Dモデルを整える準備が完了します。


まずHierarchyに追加したFBXの階層からUMARendererを選択します。

f:id:ku00:20180817012352p:plain

選択すると右側の [Inspector] にマテリアルの情報が出るので、ここから各マテリアルのシェーダーを CubedsShaders のに変更します。CubedsShaders にも種類があり自分は Flat Lit Toon にしました。

f:id:ku00:20180817012402p:plain

FBXファイルをインポートした時点ではマテリアルの一部が意図せず黒くなって表示されることがありますが、これは Rendering Mode を [Transparent] などに変更すると直ります。

f:id:ku00:20180817012417p:plain

なんかパンダみたいになる..

f:id:ku00:20180817012409p:plain

直った!

f:id:ku00:20180817012652p:plain


次はボーンの設定です。

Assets内のFBXファイルを選択し、右側の [Inspector] -> [Rig] の Animation Type を [Humanoid] に変更し、 [Apply] を押下します。

f:id:ku00:20180817022453p:plain

先ほどと同じく右側の [Inspector] -> [Rig] の Avatar Definition の [Configure] を押下します。

ボーン設定に遷移するので、Bodyを以下のように変更します。

  • Chest: [J_Bip_C_UpperChest]
  • UpperChest: [None]

f:id:ku00:20180817022506p:plain

変更したら [Apply] 、[Done] の順で押下したら完了です。 これでモデルデータが人型(Humanoid)として認識されます。


左側のHierarchyのモデルの [Inspector] から [Add Component] を押下して [Scripts] -> [VRCSDK2] -> [VRC Avatar Descriptor] を選択します。

[Inspector] に VRC_Avatar Descriptor が追加されるので、まずは Default Animation Set を [Famale] に変更します。

次に View Position を変更します。これはアバターを使用したときの利用者の目線を表しています。[Scene] の画面にグレー色の球体がデフォルトだとモデルの真上くらいに表示されるので、これを目と目の間にめり込むくらいの位置に調整します。

f:id:ku00:20180817022519p:plain

参考までに自分の設定はこちらになります。

f:id:ku00:20180817022533p:plain

VRC_Avatar Descriptorの詳細な設定についてはVRChat 日本wikiにも書かれているのでそちらも参考までに。

ここまでくればあとはVRChatにアップロードするだけです。

VRChatにアップロードする

まず先に上部メニューの [VRChatSDK] -> [Settings] からVRChatにログインします。

次に [VRChatSDK] -> [Show Build Control Panel] から [Build & Publish] を押下します。

処理が完了すると真ん中の画面にVRChatのアップロード画面が表示されるので、各項目を入力してから[Upload]ボタンを押下すれば完了です。

f:id:ku00:20180817024324p:plain

あとはVRChatを起動して設定画面の [AVATAR] にアップロードしたアバターが表示されていればOKです。

お疲れさまでした。

(目のハイライトが消えてしまったのであとで直す..)

VRoidで美少女アバターを作ったよ

vroid.pixiv.net

pixivからVRoid Studioという人型アバターの3Dモデルが簡単に作れるアプリケーションがリリースされましたね。

今回はVカツで作ったアバターをVRoidでも再現できるのかどうか試してみました。

結論から言うと作ることはできましたがVカツのようにパラメータのみをいじって完成!とはいかず、絵(イラスト)を描くのと同じような作業がいくつか必要になり慣れるまではちょっと大変かなという印象でした。

チュートリアルや操作説明などのドキュメントについてはベータ版ということもあってか整っていません(というよりもほぼ無いに等しい)。 また、VRoidハッシュタグで検索したりVRoidの公式TwitterのRTを覗いてみれば他の方のアバターがたくさん見られますが、ざっと探した感じだとドキュメントを補完するような情報は少なかったです。

なので自分が作るときに参考にしたものや使ったものなどをメモ程度に紹介します。

作ったアバターをVカツのと比較してみる

どんな感じのアバターができるのかをまず先に載せます。

Vカツのりたろうちゃんがこちら

今回作ったVRoidのりたろうちゃんはこちら

髪の色味・光具合とか目の大きさとか色々違うけどこれはこれでいいよね

作り方の雰囲気を掴むために動画を観る

公式でチュートリアル動画などがあればよかったのですが、無いので適当にYouTubeで検索しました。自分が参考にしたのはこの動画です。

VRoid Studioでレム(remu)作製 裏技公開の制作流れ VRoidStudio髪編集と顔編集のまとめ先行制作 - YouTube

VRoidを最初に開いたときにパッと見て操作方法がわからないという理由から触るのをちょっとためらってしまいました。

参考動画では目や髪の毛の描き方を中心とした作業の様子を映したものなので、この操作をするとこう変わるみたい直感的に理解できてよかったです。

ペンタブがあると描きやすい

マウスでも描けないことはないと思いますが、特に髪は手のブレが結構反映されてしまうのでペンタブがあると線が真っ直ぐ描けると思います。

筆圧についてはまだ対応してなかったと思います。

参考までに自分はWacomの『One by Wacom』を使っています。

store.wacom.jp

ポリゴン数を減らしたいときは髪の毛を調整するといい

こちらの方のツイートで言及されている通り、VRChatではアバターのポリゴン数が2万ポリと制限されているためそういったサービスで利用する場合は調整が必要になります。

自分は最終的にVRoidで作ったアバターをVRChatに持っていきたい気持ちがあったので同じような方法で調整しました。

調整前は約26000ポリでしたが、「滑らかさ」を前髪以外 40.0 から 15.0 に、「断面形状」をひし形から底なし三角形に変更することで約17000ポリまで下げることができました。

前髪の滑らかさを変更しなかったのは、滑らかさを削ると思いのほか粗さが目立ってしまったからです。

衣装はどう描けばいいんだ..

アイラインや衣装などをどうやって描くのかについてはよくわからないままでした。前者はモデルのプレビューを見ながら雰囲気で描けましたが、後者は雰囲気では描けそうになかったので諦めました(衣装の展開画像を見てもこれでどう描けと..)

f:id:ku00:20180815140630p:plain
衣装のテクスチャ画面

VRoidへのフィードバック

  • [既知] vroidファイルを読み直したときに発生する髪の毛が意図しない位置に吹っ飛ぶ不具合を早めに直してほしいです
    • 高さ調整とかでは修正が効かなくて結局描き直しました😢
  • 髪の毛の流れを調整するプレビュー側のガイド(?)のみのundoができるようになってほしい
    • ガイドが変になったと思って直そうにも直せないので(そしてやり直すために読み込み直しをして上の不具合にぶち当たるコンボがつらい)
  • 体型編集の身長調整で実身長の目安が出ると嬉しい

まとめ

冒頭にも書いた通りドキュメント不足による障壁は大きいですが、慣れてしまえばのは難しくないと思います。描き始めてからはそこまでつっかかることはなく完成させることができました。これは自分がVRoidを立ち上げたときのデフォルトのモデルから主に目と髪の毛のみを描き直すという方法を取れたことも大きな要因だと思っています。

ひとまず絵がほとんど描けない自分でもそれなりのクオリティの3Dモデルが作れるのでVRoidさん本当にありがとうございますという気持ちです。

皆さんもぜひ試してみてください。それではよいバーチャルライフを。