WeChat ミニ ゲームへの Unity プロジェクト WeChat ミニ プログラムのナニー チュートリアル、複雑な問題解決、WeChat ミニ ゲーム プラットフォームの簡単なパフォーマンス テスト

序文

誰かのニーズに基づいて、私たちは簡単な技術調査を行いました。つまり、Unity プロジェクトを WeChat ミニゲームに変換しました。
この記事の主な内容: Unity で小規模なゲームを変換する手順、発生した問題の解決策、簡単なパフォーマンス テストの比較

WeChat ミニゲームの制限事項

WeChat ミニゲームには、プログラム パッケージのサイズに厳しい制限があります。最初のパッケージは 2M 未満でなければならず、最初のパッケージとサブパッケージ (ロード後) は 20M を超えてはなりません。もちろん、オンライン読み込み用にゲーム リソースをパッケージ化することもできます。ただし、WeChat のこの部分にも制限が課せられます。永続ストレージ領域は 200M を超えてはなりません。言い換えれば、ゲームの完全なエクスペリエンス パッケージが 2 億を超える場合は、どの部分をローカルにキャッシュできるか、また、実行するたびに再ダウンロードする必要がある場合でもユーザーを興奮させない部分について適切な選択をする必要があります。 。 。 。 。 。 。

最初のパッケージが 2M 未満であることを心配する必要はありません。WeChat ミニ ゲーム プラットフォームは、Unity 開発者に非常に便利な変換ツールを提供します。このツールを使用すると、WebGL プロジェクトを WeChat ミニゲームに直接パッケージ化できるだけでなく、最適化の提案を自動的に提供し、テクスチャやその他のリソースのワンクリック最適化を実行することもできます。 Unity WeChat ミニゲーム パッケージ化プラグイン

1.WeChatミニゲームプロジェクトの変換

1.1 準備

  1. まず、既存の Unity プロジェクトを WebGL プラットフォームに変換し、正常に実行できることを確認します。 「ビルド設定」を入力し、「WebGL」をクリックしてから、「プラットフォームの切り替え」をクリックしてプロジェクトを変換します
    ここに画像の説明を挿入します

  2. Unity パッケージ化プラグインのダウンロード
    Unity WeChat ミニゲーム パッケージ化プラグイン

  3. ダウンロードが完了すると、次のようになります。
    ここに画像の説明を挿入します

  4. ダブルクリックしてプラグイン インポート インターフェイスに入り、[すべて] ボタンを選択し、[インポート] をクリックしてプロジェクトにインポートします。
    ここに画像の説明を挿入します
    4 Chen Gong がインポートすると、「WeChat Mini」ゲーム」ボタンが Unity の上のツールバーに表示されます:
    ここに画像の説明を挿入します

1.2 WeChat ミニゲームのエクスポートを設定する

  1. 変換ミニゲームをクリックして設定ウィンドウを表示します
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します
    設定ウィンドウの内容は比較的理解しやすいです。以下の説明では、最も重要なものだけが選択されています:
    ゲーム AppID: WeChat ミニ ゲーム ID。この ID は、アカウントを作成し、WeChat ミニ ゲーム プラットフォームでゲームを構築することによって取得する必要があります。 ID の後にここに入力します。これが空の場合、プログラムは実行できません
    ゲーム リソース CDN: ゲームのロード本体が配置される場所です。ミニゲーム作成者の場合、HTTP プロトコルの使用が許可されていることに注意してください。他の人がテストと開発に参加して、他の人が WeChat でミニゲームをテストできるようにするには、サーバーが HTTPS をサポートしている必要があります。 。ここを空にすることはできません
    ユニティ ヒープ メモリ: ユニティ メモリのヒープ サイズ設定。通常、ここではデフォルト設定を使用できます。ただし、小さなゲームのサイズが大きく、大量のメモリを消費する場合は、この設定を増やす必要があります。そうしないとコンパイルに合格しません。
    WebGL2.0 (bate): この設定は、失敗エラーを解決するために使用されます: プレーヤーの構築エラー: グラフィックス API と互換性のない色空間

1.3 ミニゲームのエクスポート

  1. 関連する設定を行った後、[生成して変換] ボタンをクリックしてプロジェクトのエクスポートを開始できます。はい、Unity の組み込みビルディング機能はもう使用しません。今後、このボタンを使用してプロジェクトをエクスポートします。
    ここに画像の説明を挿入します
    長い待ち時間が始まります

022
エクスポートは正常に完了しました。出力ディレクトリに 2 つのフォルダーがあることに驚くでしょう。ナンニ? ?
ここに画像の説明を挿入します
ミニゲームは、ゲーム プロジェクトに基づいて WeChat ミニ ゲームによって生成されるホームページ プログラムです。これは単なるホームページであり、ゲーム自体は含まれません。このファイルは WeChat ミニゲーム プラットフォームにアップロードする必要があります。
webgl はゲームそのものであり、リソース サーバーに配置する必要があります。 Tencent Cloud (より優れたサポート、より高価)、他のブランド、または独自のサーバーを使用できます。サーバー上のこのフォルダーのディレクトリは、 前の手順の「Game Resources CDN」 のパスです。

上記の手順を完了すると、ミニゲーム プラットフォームでテスト リンクを申請し、携帯電話の WeChat を通じて自分の WeChat ミニ ゲームを検索してテストすることができます。

2. 発生する可能性のある問題

1 エラー: Unity がミニゲームをエクスポートするときに、次のレポートが表示される場合があります: プレーヤーの構築エラー: グラフィックス API と互換性のない色空間。
解決策: 「ミニ ゲーム変換」設定ウィンドウで「WebGL2.0(bate)」をチェックしてください。
2 エラー: ミニ ゲームを実行するときWeChat またはエミュレータを使用すると、Web コンソールにエラーが報告されます: プラグインが承認されていませんここに画像の説明を挿入します
解決策: [WeChat ミニ ゲームの変換] ウィンドウの [ゲーム AppID] が正しいかどうかを確認してください。
ここに画像の説明を挿入します

3 問題: エミュレータまたは携帯電話で WeChat ミニゲームを実行すると、次のメッセージが表示されます: リソースのダウンロードに失敗しました。同時に、コンソールには、リソース パッケージのダウンロードが失敗したことを示すメッセージが表示されます。
ここに画像の説明を挿入します
解決策: [WeChat ミニ ゲームの変換] ウィンドウの [ゲーム リソース CDN] が正しく設定されているかどうかを確認します。ここに画像の説明を挿入します
4 問題: WeChat を実行するとエミュレータがクラッシュします。ミニ プログラム
ここに画像の説明を挿入します
解決策: 携帯電話を使用した直接デバッグは、多くの場合成功します。

3 つのパフォーマンス テスト

3.1. 物理ブロックストレステスト

テスト ハードウェア: iphone12 pro
テスト プラットフォーム: ミニ プログラム
ゲーム パッケージ サイズ (WeChat ストレージ): 14.5M
パケット サイズ (独自のサーバー ストレージ): 24.1M
レンダリング パイプライン: URP

ここに画像の説明を挿入します

ここに画像の説明を挿入します

3.2. ブロックレンダリングストレステスト

テスト ハードウェア: iphone12 pro
テスト プラットフォーム: ios
ゲーム パッケージ サイズ: 55.3M
レンダリング パイプライン: URP
ここに画像の説明を挿入します
ここに画像の説明を挿入します

3.3 WeChat ミニゲームと IOS の水平比較

ここに画像の説明を挿入します

3.4 テストの結論:
  1. WeChat ミニ ゲーム レンダリング エンジンは、Webwiew よりも強力なパフォーマンスを持つ WebGL API を直接呼び出すと主張しています。しかし、パフォーマンスから判断すると、あまり改善されておらず、ネイティブ アプリケーションと比較すると大きな差があります。
  2. テーブル データによれば、純粋なレンダリング モードであっても物理エンジン モードであっても、パフォーマンスには大きな制限があることがわかります。特に描画面数が2万程度になるとフレームレートが20を下回り、明らかにラグ感が出てきます。レンダリング面の数が 30,000 に達すると、通常のインタラクティブな操作ができなくなります。
  3. ゲームの同時レンダリングが多数ある場合、クラッシュ現象が発生します。テストだけでなく、オンラインで公開されている一部の成熟したゲーム作品にも適用されます。

おすすめ

転載: blog.csdn.net/lengyoumo/article/details/134271739