584 Views
October 19, 17
スライド概要
2017/10/8に開催されたUnity道場 札幌スペシャル2の講演動画です。
講師:山口直樹(株式会社インフィニットループ)
講演動画:https://youtu.be/wKAKw2qKKQI
VRアイドル戦国時代の昨今、VRを使えばだれでも美少女になれます。(ただし仮想世界で)VRとの親和性の高いUnityを使って技術のなさをお金でカバーしながらも仮想世界で美少女になってVRアイドルとしてデビューする方法を紹介します。かわいいは作れる!(別途アセット購入費用)を合言葉に美少女になる方法をお伝えします。
こんな人におすすめ
・VRは難しいと思ってる方
・HTC ViveでのVRコンテンツの作り方
・VR関連のアセットについて
得られる知見
・かわいいは作れる
Unityのイベント資料はこちらから:
https://www.slideshare.net/UnityTechnologiesJapan/clipboards
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
おっさんでも美少女になれる?! VRアイドルの作り方 株式会社インフィニットループ システム開発部 山口直樹
対象者 ・VRの開発をやったことない人 ・VRの開発って難しいって思ってる人 ・美少女になりたい人 VR機材はHTC Viveを想定しています 昨年同様 ノーコーディングで進行します
株式会社インフィニットループとは ・ゲーム開発 ・モバイルアプリ開発 ・Webアプリ開発 ・Linuxサーバ構築運用 サーバのことなら任せとけって会社です
そんなサーバな会社がなぜVR? 去年エイプリールフールのネタが軽くバズったからです ちなみに今年はそうでもなかったです
自己紹介(1) 山口 直樹 札幌のソフト会社で20年ほど 低レイヤーのネットワーク管理に従事 その後、インフィニットループに転職 得意な言語 そもそもプログラムなんてやってない 特技 UTPケーブルの8字巻き
自己紹介(2) 会社でVRのコンテンツをはじめて見て「こ れ出来ればあんなことやこんなこともでき るじゃん!!」と 思って覚え始めた2年前の12月 あいえるたんさわさわ Vive あいえるたん お姫様だっこ せかいぬりえ
どんなことやってるのか?
どんなことやってるのか?
どんなことやってるのか?
VRアイドルって何? 定義が不明 たぶん3Dのモデルキャラを動かしたら VRアイドルになれるのではないか? FaceRigやKinectを使ってVRアイドルと言ってる人たちもいるので・・・
VRアイドルやってました 今の定義がVRアイドルでしたら 個人的に4年以上前からやってました もしかして今ブーム???
VR Live Studio ・多人数での空間共有 ・コメントAPIにフックしてコメントの可視化 (Youtube ニコ生 Twitter等) ・描画クライアントはなんでもOK ・ライブ配信に特化したシステム (字幕機能やダンス等) ・画面共有、カメラ切り替え ディスクトップキャプチャー機能 その他いろいろ
第一章 美少女を 動かしてみよう!
美少女の用意 弊社マスコットキャラクターの 「あいえるたん」を使用します ホームページからUnityアセットが ダウンロードできます http://www.infiniteloop.co.jp/special/iltan/3d-dl.php
美少女の用意 アセットをインポート後、アセットの中に 【ILtan】プレファブがあるので置いてみる
美少女の用意 美少女ではなく、社長になりたい 方はアセットの中にうちの社長が 入ってるのでこちらをどうぞ
IKコンポーネントの用意 キャラクターを動かすため のコンポーネントです。 (定番) ちょっとお高いけど、美少女になるためです。出費しましょう。
IKコンポーネントの用意 IKコンポーネントの中の 【VRIK】コンポーネントを ILtanに入れます
IKコンポーネントの設定 1.適当なオブジェクト作成 (ここではCube 大きさは0.1に) 2.作成したオブジェクトをVRIKの Left Arm→Targetへ
できたもの
ということは・・・ TargetのところをHTC Viveコントローラに すれば両手を自由に動かせれるのでは? (ついでに頭のところをHMDにしちゃう)
第二章 美少女になろう!
SteamVR Pluginのインポート UnityでHTC Viveを使うには、とりあえずこれがないとはじまりません。 (なくても使えるけど・・・ってツッコミはなしの方向で)
HTC Viveを使えるようにする いらない 1. [CameraRig]プレファブを ヒエラルキーに置く 2. カメラが二つになるので最初 にあるカメラを削除
VRIKの設定 [CameraRig]の中の Controller(right) → Right ArmのTarget Controller(left) → Left ArmのTarget Camera(eye) → Head Target IKポイントを設定します
できたもの
大失敗 失敗1. 美少女の背丈とリアルの背丈があっていない (そのため目線が頭の上) 解決策その1 IKの基準が地面なのをやめて無条件にHMDが頭にくるようにする (美少女が宙に浮くけど、美少女だから問題なし) 失敗2. 目線が頭の中なので、頭の中(顔の裏)しか見えない 解決策その2 顔の描画をやめる
解決策 その1 ここのチェックを外す 以上
解決策 その2 顔の部分のレイヤーを Default以外にする
解決策 その2 CameraのCulling Maskで 顔のレイヤーを外す (これで描画しない)
できたもの
自分の姿が見えない!!
第2.5章 鏡の作成
鏡の作り方 ・板を作って、そこにカメラを置いて カメラの映像を板に映せば出来るんじゃない? (Render Texture)
やってみる 鏡用のRenderTextureとマテリアルの作成 テクスチャサイズを 1024x1024に ShaderをUnlit/Textureに テクスチャを作成したRenderTextureに
やってみる 適当に板作成(Quadで作成) 作成した板のマテリアルを先ほど 作成したマテリアルに設定
やってみる その板に、カメラを追加 カメラの向きが反対なので y=180に設定 TargetTextureは作成した RenderTextureを設定 カメラ以外は使わないので Audio Listener等余計なもの は削除
できたもの
自分の姿は見えたけど・・・ 鏡なのに左右が変 鏡なのになんか比率?が変 (近づいたら巨大) 全体的に変で鏡ではない!!
鏡なのに左右が変 鏡の板のScaleを変更 (xをマイナスに)
鏡なのになんか比率?が変 間違い カメラの画角に ぴったり合わさるように カメラを後ろに配置する必要あり 正解
カメラの距離の求め方 Unityのドキュメントに ありました。 (しかも日本語) https://docs.unity3d.com/jp/530/Manual/FrustumSizeAtDistance.html
カメラの距離の求め方 1 鏡(板)の大きさ 60 カメラのField of Viewの値 (PI * 2) / 360 良い子のみんなは ちゃんとプログラムで 書こう
カメラの距離の求め方 先ほど求めた値をカメラの 距離(Z)に入れる 良い子のみんなはちゃんとプログラムで書こう
できたもの
第三章 美少女でしゃべろう!
声に合わせて口パク https://developer.oculus.com/downloads/package/oculus-ovrlipsync-for-unity-5/
声に合わせて口パク とりあえず、全部インポート
表情の変更方法 ILtanの場合は U_Char_1(頭部分)の Skinned Mesh Render内 BlendSharpsの値を変更すると 表情が変化します
表情の変更方法 BlendSharpsの名前から判断して、 ここを変更すれば「あ」「い」「う」「え」「お」の口の形に なるのかなぁ?と予想
コンポーネントの設定 【LipSyncInterface】をヒエラルキーに入れる
コンポーネントの設定 【OVR Lip Sync Mic Input】 【OVR Lip Sync Context Morp Target】 【OVR Lip Sync Context】 これらのコンポーネントを入れます (Audio Sourceが勝手に入ります)
コンポーネントの設定 【OVR Lip Sync Mic Input】 Mic Controlを Constant Speakに変更 (実行したら常にマイクONにしたいので) 【OVR Lip Sync Context】 Audio Muteのチェックを外す (自分の声をイヤホンで聞きたいので)
コンポーネントの設定 BlendShapesのインデックス値を確認 (上から順番に数えて「あ」「い」「う」「え」「お」のIndex値を求 める) 【結果】 「あ」 「い」 「う」 「え」 「お」 → → → → → 27 28 29 30 31
コンポーネントの設定 【OVR Lip Sync Context Morp Target】を設定しま す Element 0 Element 1 Element 2 Element 3 Element 4 Element 5 Element 6 Element 7 Element 8 Element 9 Element 10 Element 11 Element 12 Element 13 Element 14 無音 PP FF TH DD kk CH SS nn RR aa E ih oh ou ←「あ」(27) ←「え」(30) ←「い」(28) ←「お」(31) ←「う」(29)
できたもの
声が美少女じゃない!!
第四章 美少女の声になろう!
ボイスチェンジャーを探す https://www.assetstore.unity3d.com/jp/#!/content/54963
ボイスチェンジャーの設定 【Voice Changer Filter】を ILtanに入れる Formant 1.6ぐらい Pitch 2.3に設定
できたもの
なんか違う!!
ボイスチェンジャーを探す https://developer.oculus.com/downloads/package/oculus-ovrvoicemod-for-unity-5/
OVRVoiceModのインポート 先ほど入れたOVR LipSyncに同じスクリプトが あるので削除
OVRVoiceModのインポート まだ、怒られるので削除!削除!
ボイスチェンジャーの設定 【OVRVoiceModInterface】をヒエラルキーに入れる
ボイスチェンジャーの設定 前回入れた 【Voice Changer Filter】を削除して 新たに【OVRVoiceMod】を ILtanに入れる そして、パラメータを設定する
ボイスチェンジャーの設定 パラメータの詳細 一つ一つ数字を変えて、 「これかなぁ~」と手作業で設定 (パラメータの詳細はソースに書いて ありますが、意味不明)
できたもの
さらに なんか違う!!!!
結論 ソフトウェアで処理するには限界 (特にUnity上でボイスをいじるに限界がある) ハードウェアでやればよい!!
ハードウェアの準備 (ここからUnityとは関係ありません) 2chを見て試行錯誤して揃えてみました
構成図 (ここからUnityとは関係ありません) ¥18,000 ¥17,500(中古) ¥10,800 約¥50,000 合計 ¥147,100 ¥29,800 ¥21,000 ちょっとお高いけど、美少女になるためです。 出費しましょう。
できたもの
第五章 美少女デビューしよう!
美少女デビュー! ・このまま動画を撮って流すのも良いですが、 Live配信してみましよう!
美少女デビュー! ・配信する映像(カメラをどうするか?) 鏡の映像(RenderTexture)を配信映像にしよう! 配信映像にするにはどうすればいいのか?
方法その1 UnityCam WindowsにUnityCam用VirtualCam デバイスを登録して、Unityのカメラ映像 をWebcam経由で各種アプリケーション にもっていけるアセット 設定も簡単で便利 ただし、かなり重い! https://github.com/mrayy/UnityCam
方法その2 Windowに表示 鏡で使用しているカメラの映像をその ままWindowに表示 (通常はHMDの映像がWindowに表示 されています) Windowの映像を配信ソフトにキャプチ ャーして配信映像とします。
鏡の映像をWindowに表示する Window表示用のカメラを作成します Transformの値は鏡で使用した値と同じ Target Eyesを Noneに変更
配信ソフトを探す 配信ソフトは色々ありますが フリーで情報も多いOBSを選びま した。 (OBS Studio) https://obsproject.com/
ビルドして実行 Youtube Liveのヘルプより 解像度 1280x720と書いてあるので、 その解像度で実行
配信ソフトの設定 具体的な方法はググってください。 基本的には、 配信サーバ、ストリームキーの設定 解像度の設定 ビットレート等の設定
配信開始 OBSの映像ソースにウインドウキャプ チャを追加してUnityのWindowを指定 すれば映像が出ます。 その状態で【配信開始】!!
実際にやってみた
まとめ ・色々と問題はありますが、VRアイドルになれました ・まばたきや眼球運動、呼吸や足の制御、物理挙動 (髪の毛、スカート)など問題点はまだまだいっぱい ・ゲーム作りたいからUnity始めた方が多いかと思います が美少女になりたいからUnityを始めてもいいのでは?
まとめ 可愛いは作れる!! (要、技術かお金) 今回かかった費用 その他諸々(ケーブル代等も含めて) 約20万円
インフィニットループでは 正社員、アルバイトを募集しています 一緒に楽しいことしましょう!
ご清聴ありがとうございました