投稿記事

VTuberの記事 (3)

AYA-cis 2024/04/15 18:42

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

AYA-cis 2024/04/08 15:54

無料Vtuber



Vtuberキット(moc3他).zip (247.28kB)

ダウンロード

これでVtuberごっこが出来ます。モチーフはアンラマンユで16の災難のうち、冬と淫乱を強くビジュアルに取り入れています。あとはイヤリングが土葬用のシャベルになってたり。

利用条件:脱衣麻雀や野球拳などではパンツから脱ぐ(気がする)こと

アヤシスちゃん(仮)は好きな名前で活動して大丈夫です
できれば政治的な発言は遠慮してくれると嬉しいです

使い方
Animaze(FaceRig)などで読み込む

【 お金で叩いて絵を出させる 】プラン以上限定 支援額:500円

Unity版

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:500円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

AYA-cis 2024/04/08 15:33

脱Animaze(FaceRig)Vtuberを作りたい

Vtuberって普通、moc3ファイルをどっかから買ってきてAnimaze(FaceRig)にぶち込んでなると思うんですけど。たしかにAnimazeは精度良く顔を読み込んでくれるんですけど、Animazeでは制御パラメータを弄ったりとかは出来ないんですよね。例えばケモミミとか作ってピコピコするようなモーションをLive2Dで作ったとするじゃないですか?そのパラメータを動かす機能が付いてないわけですよ。

つまり一般的にVになりたい人は、プログラムとかナニソレ分からんなのでAnimazeで妥協してるわけですな。
私もVを手作りしてたわけですが、このAnimazeに大変不服でして。

「「「おっぱいを作り込んだのに、おっぱいが全然揺れないんですよ!?」」」

なんでおっぱいが揺れないのかと言えば、Animazeは顔の動きの取り込みはしてるけど、体の動きは捉えないので、体が動かないわけなんです。なので、Live2Dでおっぱいを作り込んでもAnimazeじゃ全然揺れない!

というわけでUnityです。
Unityで作るメリット:おっぱいがぷるんぷるん!!商用Vに近い動き。
Unityで作るデメリット:Unityがむずかちい。あと余裕で6万円ぐらい吹っ飛ぶ。

なんで6万も吹っ飛ぶのかと言うと顔の動きを取り込むUnityの有料アセットで1.5万ぐらい飛びます。あとはモーションキャプチャー(mocopi)で4万ぐらい吹っ飛びます。

とはいえ、世の中の大半のVはAnimaze製で顔さえ動けば十分みたいな作りということなんで。商用に近い動きができるUnity製のVを作れば物凄い差別化が出来るわけで。ダイナミックな動きのVが作れますよ!ってアピールすれば依頼とかも来やすいんじゃないかなー???
と考えれば実質無料ですね。いぇい、いぇい。


さてさてお金の話をした辺りで8割ぐらい脱落したと思いますが。

まずはUnityにLive2D Cubism SDK
for Unityというアセットを入れます。
https://www.live2d.com/sdk/download/unity/
これはUnity上でLive2Dを動かすためのやつですね。
「SDKをインポート」に従いインポート。
https://docs.live2d.com/cubism-sdk-tutorials/getting-started/
このページに書いてある「モデルをインポート」の部分でご自分のLive2Dの書き出しファイルをインポートするわけですね。

インポート時点だと、たぶん大きくズレて配置されるので、カメラの調整。TransformのPositionのXYで横と縦の位置を、CameraのSizeで大きさをテキトーに弄って合わせます。CameraのBackGroundをクリックし、色を緑か赤か青に変えます。いわゆるクロマキー合成用で後で透かす色なので、キャラクターに使ってない色を選ぶ必要があります。
SceneとかGameとかあるタブのGameの中のFreeAspectをクリックし1920×1080を選んでおきます。(これ忘れるとOBSでエラーが出る)

次に必須ではないですがUnityCaptureを入れておきましょう。
詳しい解説はココ↓。
https://takaaki-hobby-blog.com/unity/output_obs_from_unity/
これがあるとUnityのカメラで写ったものを配信アプリであるOBSなどで映像として拾うことができるようになります。
ココでダウンロードして、
https://github.com/schellingb/UnityCapture
UnityCaptureSample/Assetsの中のUnityCaptureをプロジェクトへインポートします。
MainCameraのInspectorでAdd Componentを押しUnityCaptureを選びアタッチ。

OpenCVのアセットを購入しインポート。
https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088?aid=1101l8AFE&utm_source=aff

Dlib FaceLandmark Detectorのアセットを購入しインポート。
https://assetstore.unity.com/packages/tools/integration/dlib-facelandmark-detector-64314?aid=1101l8AFE&utm_source=aff
インポート後、セットアップツールでMoveStreamingAssetsFolderを押すこと。(消しちゃってたらToolsから再度開けば出来る)

ここからはココを参照。iOS用の作成のページだが、PC用として読み替えていただければ。
https://welchizm.medium.com/スマホで使えるvtuberアプリを作ろう-live2d編-917eb5208ffe

Assets内の分かりやすい所で右クリックしてCreateしてC# Scriptして「DlibWebCamFaceDetector.cs」を作成。コードは以下のページからコピペ。
https://gist.github.com/welchi/42a61adc4f18ae0c3f8ae8c41bb67b83#file-dlibwebcamfacedetector-cs
Live2DのVモデルにAdd ComponentでDlibWebCamFaceDetectorを選択。

同じくAssets内の分かりやすい所で右クリックしてCreateしてC# Scriptして「FrontalFaceParam.cs」を作成。コードは以下のページからコピペ。
https://gist.github.com/welchi/a2c7abb4a8e61f8ac4559677040061eb#file-frontalfaceparam-cs
Live2DのVモデルにAdd ComponentでFrontalFaceParamを選択。

HierarchyビューでLive2DのVモデルに右クリック>「UI」>「RawImage」。Colorを押しA(透明度)を0にする。(カメラが動作してるかチェックするときは255にするとよい)

Add ComponentしたDlibWebCamFaceDetectorのSurfaceでRawImageを選択。
同様にFrontalFaceParamでFaceDetectorでLive2DのVモデルを選択。HeadAngleParameterをクリックし、カメラで撮った顔の動きを反映するパラメーターを選択。

この時点で再生を押すとVにカメラ(ivCam)の動きが反映される。(…のだがコードに致命傷があって、物理演算が反映されない。次の記事で修正版のコードを提案する)

ここからはmocopiを使うのでここのページを参照。
https://www.sony.net/Products/mocopi-dev/jp/documents/ReceiverPlugin/Unity/CreateSampleApp.html
余談だが、mocopiを使って3Dアバターを動かす記事はそこそこあるのに、Live2Dの2Dアバターを動かす記事は確認した限り無かったので多分ここが初出です。やったぜ。

mocopiを動かすためのSDKをダウンロードしましょう。
https://www.sony.net/Products/mocopi-dev/jp/downloads/DownloadInfo.html
アセットをインポート。
MocopiReceiver/Samples/ReceiverSample/ModelsからMocopiAvatarをHierarchyへ入れます。この時点だとVに3D人形が重なって大変邪魔ですが後でどかします。とはいえ、ちゃんとmocopiの動きを受信出来ているかチェックするのに便利。
同様にMocopiReceiver/Resources/PrefabからMocopiSimpleReceiverをHierarchyへ入れます。
MocopiAvatarにAdd ComponentでMocopiAvatarをアタッチ。
MocopiSimpleReceiverにAdd ComponentでMocopiSimpleReceiverをアタッチしAvaterSettingで+を押しMocopiAvatar>MocopiAvatar、port>12351を押す。

mocopiでモーションキャプチャーして送信すると、Unity側で再生した際に3Dのアバターが動くはずなのでチェック。動いてたらMocopiAvatarのTransformのpositionをテキトーな値にして画面外に出す。

Assets内の分かりやすい所で右クリックしてCreateしてC# Scriptして「AvatarToLive2D.cs」を作成。コードは有料記事からコピペ。
Live2DのVモデルにAdd ComponentでAvatarToLive2Dをアタッチ。反映するパラメータを選択。
まあ単純に3DのAvatarのパラメータ拾ってLive2Dの方に反映させてるだけなんだけどね。
再生すると、カメラの動きとmocopiでの動きがVに反映される。

次回はLive2DをUnityで作る際のつまづきポイントである、手書きのコードでパラメータを動かすと、物理演算が上手く反映されない問題について解説します。

【 お金で叩いて絵を出させる 】プラン以上限定 支援額:500円

コード

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:500円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索