VRChat 軽量で快適な合法チートロポリコンを作ってみた!
はじめに
こんにちは!
VRC合法チート研究会開発長のTKSPです!
今回は合法チート研究会のツールとMesh Bakerを使って便利なロポリコンちゃんを作成してみたので,その方法を伝授します!
何をするか
publicワールドやお出かけに使用するShow Avatarしなくても見える軽量で便利なアバターを作っていきます!
Quest版ではExcellent、PC版ではGoodパフォーマンスのロポリコンを作成します。
どこでも寝れてどこでも座れる、巨大化縮小化が可能で空も飛べる。動画も再生できるのにexcellentなQuestアバターが完成しました。mesh bakerが必要ですが、作り方を執筆中です。
— TKSP (@YMTKSP) 2022年1月7日
VRC画像&動画共有システムをv1.0.1に更新します。#VRChat #睡眠システム #スケールチェンジシステム #動画共有システム pic.twitter.com/UkF7VfuIKm
下準備
まず必要なものの購入やダウンロードを済ませておきます。
VRC SDK3のダウンロード
VRChat homeのDownloadからダウンロード
VRChat - Home
ロポリコンの購入
こちらのリンクからロポリコンちゃんを購入します。
booth.pm
Mesh Bakerの購入
こちらのリンクから購入します。
assetstore.unity.com
Dynamic Boneの購入
みんな持ってるよね。
assetstore.unity.com
ModelBoneDeleterのダウンロード
こちらのリンクからダウンロードします。
booth.pm
PC版のGoodなロポリコンを作成する
PCプロジェクトの用意
PCアバター用のプロジェクトを作成します。
後でQuest用のものをプロジェクトを複製して作成するため保存先は分かる場所にしておいてください。
パッケージの導入
先ほどダウンロードしたものを以下の順番でインポートします。
(3つほど足りないですが、Quest対応の時にインポートします)
1.VRC SDK3
2.Dynamic Bone
3.UTS2_ShaderOnly_v2.0.8_Release
4.ロポリコン
5.合法チートツール4種
6.好きな動画(mp4,40秒未満を推奨)と好きな音楽(mp3)をProjectにドラッグ&ドロップ
ロポリコンをSDK3化する
1.LowPoly_Kon_PCプレハブをHierarchyに追加します。
Projectから矢印が付いていないほうのLowPoly_Kon_PCをHierarchyにドラッグ&ドロップします。
2.Pipeline Managerと(Scriptの削除)
右クリックでRemove Component
3.VRC Avatar Descriptorを追加
Add Componentからvrcで検索するとすぐに出ます。
4.ViewPositionとリップシンク設定
ViewPositionに(0,0.83,0.007)を設定
リップシンクはAuto Detect!で自動で設定されます。
5.HandsLayerの複製
VRCSDK/Example3/Animation/Controllers/vrc_AvatarV3HandsLayer.controllerを複製します。
選択してctrl + dで複製できます。
適当なフォルダに移動し、LowPolyKonFXLayerに名前を変えておきましょう。
選択してF2でファイルの名称変更ができます。
6.HandsLayerの編集
LowPolyKonFXLayerをダブルクリックしてAnimatorタブを開きます。
AllPartsとLeft Handの間にIdleを追加します。
Weightを1に設定してください。
7.Idleアニメーションの作成
CreateからAnimationを作成しIdleとします。
先ほど作成したLowPolyKonFXLayerのIdleに追加し、オレンジの枠を選択したら、InspectorからWriteDefaultsを切ります。
8.Idleアニメーションのキーを設定
LowPolyKonFXLayerをLowPoly_Kon_PCのAnimatorのControllerに指定します。
Window>Animation>AnimationでAnimationタブを開き、Idleを指定します。
録画ボタンを押したら、LowPoly_Kon_PC内のLowpoly_konを選択し、vrcで始まるリップシンク以外のやつを全て少し動かして0のKeyを打ちます。
最終的にこのようになります。Keyを打ち終わったら録画ボタンで停止、Previewを押してしゃがみからTポーズに戻してください。
9.変更したControllerを元に戻します。
10.アニメーションの設定
Left HandのIdleとRight HandのIdleにVGC/VGCResources/EmptyAnimationを設定します。(Keyが何も設定されていないアニメーションファイルです)
右手と左手のFistからThumbs upに好きな表情を設定しましょう。
Lowpply_Kon_ver1.2/Animation_ver1.2に表情のアニメーションが14個入っています。
11.FXレイヤーを設定する
LowPoly_Kon_PCのPlayableLayersのFXにLowPolyKonFXLayerを指定します。
お疲れ様でした。ロポリコンのSDK3化はこれで完了です。
VGCツールを導入する
睡眠システム、水泳アニメーション、スケールチェンジシステムの導入
※順番に注意してください。
睡眠システム、水泳アニメーション、スケールチェンジシステムの順で導入する必要があります。
30秒かからないですね。
動画システムの導入
動画システムを導入します。
アスペクト比調整が小さいほど画像が大きくなります。
スキップするフレーム数が小さいほどフレームレートが上がります。
Material数が1になるように調整しましょう。
DynamicBoneを減らす
耳以外のDynamicBoneは削除します。
Quest版のExcellentなロポリコンを作成する
Quest版のロポリコンをSDK3化する
LowPoly_Kon_PCのVRC Avatar Descriptorを右クリックでコピーし、LowPoly_Kon_QuestのAnimatorを右クリックしてPaste Component As Newで貼り付けます。
(Script)はRemoveしましょう。
PC版を非アクティブにし、リップシンクがPC版を参照しているのでDefaultに戻してAuto Detect!
VGCシステムの再設定
(シーン保存前にUnityを閉じたのが原因か、自分は水泳アニメーションとスケールチェンジのセットアップが未完了になっていたため再セットアップしました)
動画システムの再設定を行います。
今回はExcellentを目指すので、有効化アニメーションを変更にチェックを入れます。
ArmatureのScaleが100になっているため、ビデオシステムのスケールを0.01倍にします。
ビデオは内側を向いているので180度回転させておきましょう。
Positionも高いのでYに0を入れておきましょう。
パッケージの導入
最初に用意しておいて入れていなかったパッケージをインポートします。
1.ModelBoneDeleter
2.Mesh Baker
ボーンを削減する
GatoToolからModelBoneDeleterを使用して、髪としっぽのボーンを削除します。
複製されるのでLowPoly_Kon_Questは非アクティブにします。
Meshを結合する
GameObject>Create Other > Mesh Baker > TextureBaker and MeshBaker
からTextureBaker (0)を生成します。
Assets内の適当なフォルダにMeshBakerのフォルダを作成します。(名前はフォルダ名はMeshBakerじゃなくても分かりやすければよいです。)
TextureBakerを選択し、Create Empty Assets For Combined Materialを選択します。
マテリアルを作成するので、先ほど作成したMeshBakerフォルダに保存しましょう。
LowPoly_Kon_Quest_deleteBonesをDrag & Drop Renderers or Parents HEARにドラッグ&ドロップします。
Objects To Be Combined が2つになっていることを確認します。
Max Tilong Bake Sizeを2048にします。
include Blend Shapesにチェックを入れます。
Skinned Mesh Rendererに変更します。
Merge Blend Shapes With Same Namesにチェックを入れます。
Bake Materials Into Combined Materialを押します。
TextureBakerの中にあるMeshBakerを選択し、OutputをBake Into Prefabに変更します。
Create Empty Prefabで先ほど作成したフォルダに新規Prefabを保存します。
Bakeします。
結合したメッシュでアバターを作成する
LowPoly_Kon_Quest_deleteBonesを非アクティブにして作成したPrefabをシーンに配置します。
そのあとMyPrefab0をUnPackPrefabします。
LowPoly_Kon_Quest_deleteBones(Clone)を外に出し、MeshBaker-mesh-meshをLowPoly_Kon_Quest_deleteBones(Clone)の中に入れます。
MyPrefab0を削除します。
Lowpoly_konを削除し、MeshBaker-mesh-meshをLowpoly_konに名称変更します。
リップシンクの設定をやり直します。Defaultに戻してAuto Detect!
マテリアルのシェーダーを変更します。
Legacy Shaders/DiffuseからVRChat/Mobile/Toon Litに変更します。
アニメーションのパスを修正
VGC/CreateAssets/LowPoly_Kon_QuestにあるVGCVideo_offとVGCVideo_onのパスを変更します。
ダブルクリックでアニメーションを開き、Key名を選択した状態でキーボードのF2で名称変更します。Lowpoly_konに変更します。