はじめに
Unityで新規プロジェクトを作成し、旧プロジェクトからモデルだけ取り出して移植する方法を紹介します。
Unityの基本操作やVRChat用のモデルのアップロードなどができる前提で進めます。
これらの動作はこちらをご覧ください。
モデル移植が必要な理由
Unityは半年や1年ぐらい同じプロジェクトを使い続けると動かなくなる不具合があります。
これは、アップデートの際にたまった細かなエラーや
他のアセットとの干渉が原因。
頑張って、原因を辿れば、治せない事もないですが…
心機一転、作り直した方が早い。
そこで、古いプロジェクトからモデルだけ取り出して移植します。
旧プロジェクトからモデルを取り出す
古い方のプロジェクトを開きます。
Hierarchyでアバターをクリック。(一番上の階層)
![](https://signyamo.blog/wp-content/uploads/2023/04/image-16-5.jpg)
HierarchyからProjectに「アバター」をドラッグ&ドロップ。
これで.prefab化されました。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-17-3.jpg)
.prefabを右クリック。(先ほどドラッグ&ドロップして制作したアバターデータ)
Export Package…を選択。
![](https://signyamo.blog/wp-content/uploads/2023/04/add-06.jpg)
ここから、モデルに必要なデータだけ抜き出します。
シェーダーやシステム関係のデータのチェックを解除。
Export…で書き出し。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-18-3.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
読み込みの際に必要なモノを選びなおせます。
選別は適当で大丈夫です。
任意の名前を付けて保存。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-19-2.jpg)
これで、旧プロジェクトからモデルを取り出す処理が完了です。
新規プロジェクト作成
VCCを立ち上げ。
Projectをクリック。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-20-2.jpg)
画面右上の「Create New Project」を選択。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-21-2.jpg)
Avatarsを選択。
名前や保存先を指定。
Create Projectをクリック。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-22-2.jpg)
SDKなど、必要であればアップデート。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-23-2.jpg)
また、必要であればVCCでアセットを管理できるようにします。
lilToonをVCCで管理
lilToonはiliさんが1クリックでVCC管理できるようにしてます。
このTwitterのURLをクリック。
「Creator Companionを開く」を選択。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-25-1.jpg)
Urlが ~~~~/vpm.jsonになってる事を確認。
確認後、右下の「I Understand, Add Repository」をクリック。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-26-1.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
URLの「vpm.json」がVCCでアセットを管理するのに必要なデータです。
VCCのSettings → Packagesが自動で開かれます。
そして、lilxzw(lilToon)が追加されます。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-27-1.jpg)
他のアセットを追加したい方は「vpm.json」を探して入れます。
無ければこれまで通り.unitypackageをドラッグ&ドロップで読み込み。
VCCへのアセット追加方法はこちらで解説。
追加が終わりましたら画面左上の「Projects」をクリック。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-04-11.jpg)
先ほど制作したアバタープロジェクトの「Manage Project」を選択。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-05-10.jpg)
ここで、lilToonなどのアセットをインストール。
![](https://signyamo.blog/wp-content/uploads/2023/04/add-02-3.jpg)
画面右上の「Open Project」を選択。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-39-1.jpg)
Unityが立ち上がれば、新規プロジェクトの作成が完了です。
新規プロジェクトにモデルを入れる
まず、Consoleでエラーが無いか確認。
あれば再起動などでエラーを取ります。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-40-1.jpg)
![](https://signyamo.blog/wp-content/uploads/2023/02/pd0ogJ64_400x400-150x150.jpg)
Unityを再起動するだけで治るエラーも有ります。
一番最初の読み込みは、どうもうまくいかないようです。
Projectを開きます。
ここに旧プロジェクトから取り出した.unitypackageをドラッグ&ドロップ。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-41-1.jpg)
不必要そうなものの選択を外してImport。
(古いシェーダー関係のデータが入ってたので外しました。)
![](https://signyamo.blog/wp-content/uploads/2023/04/image-42-1.jpg)
すると、モデルが読み込まれます。
先ほど制作した.prefabを選択。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-43-1.jpg)
.prefabをHierarchyにドラッグ&ドロップ。
これで、Sceneにモデルが読み込まれます。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-44-1.jpg)
後は… 細かなマテリアルエラーなどを治します。
必要なシェーダーを入れ忘れてないかなどを確認してください。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-45.jpg)
以上で新規プロジェクトにモデルを入れる処理が完了です。
新しいアバターとしてアップロード
古いアバターをバックアップとして残します。
そのために、新しいアバターとしてアップロードします。
Hierarchyでアバター一番上の階層を選択。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-46.jpg)
Inspectorを確認。
Pipeline Manager → Detachで紐づけを解除。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-47.jpg)
VRChat SDK → Build & Publishでアップロード。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-49.jpg)
新しいアバターの情報を入力。
Uploadでアップロード。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-50.jpg)
VRChatで動作を確認。
![](https://signyamo.blog/wp-content/uploads/2023/04/image-51.jpg)
これで、新しいプロジェクトへのモデル移植が完了です。
まとめ
今回は新規プロジェクトにモデルを移植する方法を紹介しました。
・Unityのプロジェクトは半年や1年以上使うと謎のエラーが出る
・謎のエラー対策の最適解はプロジェクトの作り直し
・旧プロジェクトからExport packageで必要なデータを取り出し
・新規プロジェクトに.unitypakageをドラッグ&ドロップして移植
また、他にもVRChatや3DCGについて解説してます。
ぜひ、こちらもご覧ください。
コメント