[VRChat] 2017LTSから2018LTSへの移行について(日本語訳)

はじめに

この記事は、既存のUnity2017で作成したプロジェクトを2018へ移行するためのガイドである下記公式ドキュメントをざっくり翻訳したものです。

元記事:Migrating from 2017 LTS to 2018 LTS

新規にプロジェクトを作成する場合は、2018.4.20f1をインストールし、目的に合ったVRCSDKを導入するだけで済みます。

備考

こちらの注意喚起ツイートにある内容はすでに反映されています。


UnityHubをインストール

すでに導入済の場合は、この手順はスキップしてください。


2018.4.20f1をインストール


プロジェクト移行の準備


1.プロジェクトのバックアップを用意する
移行したいプロジェクトフォルダ名の末尾に_2018と付けておくと区別しやすいです。

2.エクスプローラーでプロジェクトフォルダ内のassets/scriptの中身を削除
Post Processing Stack v1を削除(もし使用していた場合)
--PPSを使いたい場合は、PPSv2に更新すること
Shader Forgeを削除
Dynamic Fog & Mistを削除
Dynamic Boneを更新
その他、assets/scriptが2018に対応しているか確認する


移行の手順


1.新しいVRCSDK2をダウンロードする
 VRChat公式ページ(https://www.vrchat.com/)にログイン→ダウンロード
 2017から2018への移行に使うのはVRCSDK2(VRCSDK3は非対応)
 執筆時点で該当するファイル:VRCSDK2-2020.04.09.10.48.unitypackage
メモ:
 VRCSDK2はアバターや、従来通りのコンポーネントでギミックを構築するためのもの
 VRCSDK3はすべてのギミックをUdonで構築するためのもの

2.移行したいプロジェクトをUnityHubに追加する
 リストに追加→移行したいプロジェクトフォルダを開く→フォルダーを選択
3.移行したいプロジェクトのUnityバージョンを2018に切り替える

画像1

4.移行したいプロジェクトを開く
 プロジェクトを新しいバージョンのUnityにアップグレードしますか?→確認

画像2

 Windowsセキュリティの重要な警告→アクセスを許可する(おそらく初回のみ)
 プログレスバーが表示されるので、しばらく待つ

5.ファイルメニューから新しいシーンを作成して、保存する
 File→NewScene
 File→保存
 updateとか適当な名前でシーンを保存

6.Unityを閉じる

7.エクスプローラーを開いて古いVRCSDKを削除
 Assets/VRCSDK、およびVRCSDK.metaを削除
 Assets/Pludins/VRCSDK、およびVRCSDK.metaを削除

8.再びプロジェクトを開く
 さきほど作った空のシーンが開く

9.Assets→ImportPackage→CustomPackageからVRCSDK2をインポートする
 Importを押してしばらく待つ

10.Unityスクリプトの更新
画面上にある再生ボタンを押す
SceneビューにAll compiler errors have to be fixed before you can enter playmode!と表示される

画像3

Consoleウィンドウのエラー
 CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 4.0 language specification

Edit→ProjectSettings→Player→OtherSettings→Configration→Scripting Runtime version→.Net 4.0 Equivalentに切り替える

画像4

Restart required→Restart
これでエラーは解消されるはずです
再起動すると、Unityは再度ログインを要求してくるのでログインする(おそらく初回のみ)
ここでまだ赤いエラーが出る場合は、該当するエラーを適宜解決する必要があります(2018に対応していないエディタ拡張を一端削除する等)

11.作業したいシーンを開いて作業に戻ろう


統合に関する問題

SDKの導入(手順6-9)に際して問題がある場合、不具合のあるAssets/Scriptをすべて削除する
1.Unityを閉じる
2.古いSDKを削除
3.Regedit(レジストリエディタ)を起動
 PCのスタートメニュー→ファイル名を指定して実行→regedit
4.以下のパスを画面上の欄に張り付けてEnter(もしくは手動でこのパスに移動)
 Computer\HKEY_CURRENT_USER\Software\Unity Technologies\Unity Editor 5.x
5.VRCで始まるキーを削除
 該当するキーを右クリック、キー削除
6.Regeditを閉じる
7.UnityHubから再びプロジェクトを開く
8.VRCSDK2をインポート
9.SDKが正しくインストールされるはず


私のコンテンツは、2018にアップデートする必要がありますか?

Post Processing
 Post Processing Stack v1 は使えないので、更新してください
Crunch Compression
 クランチ圧縮に変更はないので、更新しなくて良い
UV、ラッピング
 ラッピング(クランプ、リピート)について、まれに壊れることがあるので、必要に応じて更新してください
HDR Colors
 HDRカラーの値がガンマ空間ではなくリニア空間になったので、修正の必要があります
 VRChat SDK→ユーティリティに、マテリアルの色空間を交換するツールがあります
Lights Using Light Temperature
 Use Color Temperatureモードが削除されたため、色温度はRGBに変換する必要があります
 シーンの色温度をRGBに変換するスクリプト
 https://gist.github.com/ScruffyRules/980fab5864888ba4cecb062480a10b98
 注:ライトにUse Color Temperatureが表示される場合がありますが、機能していません
Dynamic Fog & Mist
 非対応
Shaders
 Unityは2018betaの間にたくさんのバグフィックスを行ったため、ほとんど問題はおこらないはずです
 シェーダーに問題が起きたコンテンツについては、常に更新と再アップロードを推奨しています
Keywords
 (シェーダー作者向けのアドバイス)
シェーダーの互換性
 各シェーダーの対応状況


追記

RespawnHeightが初期化される(-100になる)
AvatarShapeKeyAttacher.cs エラーが出て動作しない

Streaming Mip Mapsに関するエラー
Select→チェックを入れる(AutoFixは押さない事)
これはmipmapテクスチャを動的に読み込むという2018から追加された機能で、Assetsに配置された画像ファイル(テクスチャ)をクリック、InspectorにあるStreaming Mip Mapsにチェックを入れる必要があります

参考:画像付きの詳しい手順(アバター向け)


以上

この記事が気に入ったらサポートをしてみませんか?