Unity Weekly #009
Enter the Boss Room: our new multiplayer sample game
- GDC Showcase 2021で予告されていた、小規模なネットワーク協力型RPGである「Boss Room」が公開されました。
- 「Boss Room」はただのネットワーク協力型RPGのサンプルだけではなく、マルチプレイヤーゲームを開発する上での基本的なコンセプトとパターンを開発者に提供することを目的に開発されています。
- アクションのアニメーションの先読みやロビー実装、ステートとRPCのどちらを選ぶか、などについてのノウハウが共有されています。詳細はドキュメントサイト(Unity Multiplayer Networking | Unity Multiplayer Netpworking)にて公開されていく予定です。
- コードはUCL(Unity Companion License)で公開されているため、アセットの再利用やプロジェクトへの導入が可能です。
Arm Mobile StudioでAndroidのパフォーマンス測定をDeepなレベルでしよう!
Arm Mobile StudioでAndroidのパフォーマンス測定をDeepなレベルでしよう! - Unityステーション - YouTube
- Arm社が提供するArm Mobile Studioを用いて、実際にAndroid実機でプロファイリングを行う様子を紹介する動画です。動画ではMaliを搭載したGalaxy A20を用いてUnity公式のサンプルプロジェクトであるBoat Attackを実際に計測しています。
- Arm Mobile Studioの説明から実際に実機でプロファイリングする方法、プロファイリングした各項目の見方について説明されています。
- 実際に発行された描画コマンドやその時のフレームバッファ、デプスやステンシルバッファの状態、オーバードローの状況、シェーダーの詳細やシェーダーのそれぞれの命令のサイクル数などもプロファイルできることが確認できます。
- 補足ブログも公開されています。Arm Mobile Studioについて|黒河優介|note
鬼弾幕!新Mesh APIで本気出したら凄いことになった…
鬼弾幕!新Mesh APIで本気出したら凄いことになった…【Unity】 - YouTube
- この動画では、Unity2020から導入されているAdvanced Mesh APIについて紹介しています。
- 今までのAPIでは
SetVertices
やSetNormals
で頂点情報を設定し、その後内部で描画用の(インターリーブ形式の)頂点データに書き出し直してました。新しいAPIではその頂点データをそのまま設定することができるようになったため書き出す処理を省くことができるため、パフォーマンスが向上するとのことです。 - Advanced Mesh APIの簡単な利用方法(頂点フォーマットの定義方法、C# Job Systemでの頂点データの設定方法)が紹介されています。
- それぞれ参考資料は下記のとおりです。
- 今回利用したデモプロジェクト
- 公式ドキュメント
- 公式サンプル
- keijiroさんのサンプル
Create a Sand Dune Shader Graph in Unity URP! No Textures Needed! ✔️ 2020.3 | Game Dev Tutorial
- この動画では、Universal Render Pipeline(URP)とShader Graphを用いてテクスチャなしで上記のような砂漠のような表現をするシェーダーを作成する方法について紹介しています。
- ハイトマップ(起伏)はUV値とSin波と回転で波模様を生成し、さらにパーリンノイズをかけてより自然な起伏を生成しています。パーリンノイズはCustom Functionを用いて実装されています。
- カラーリングはハイトマップの値に対してLow ColorとHigh Colorを定義してその二色をブレンドした色で色付けしています。またセルラーノイズ(この動画ではボロノイノイズと呼ばれています)をブレンドすることで、砂粒のような表現を加えています。
- ノーマルマップは先程のボロノイノイズを元に計算されています。
Device Simulatorで複数の端末でのプレビューを爆速で検証する
【Unity】Device Simulatorで複数の端末でのプレビューを爆速で検証する - うどんてっくメモ
- この記事では、エディタで様々な解像度やセーフエリアをシミュレートできるDevice Simulatorについての紹介しています。Device Simulatorのドキュメントはこちらから確認することができます。
- Device Simulatorについてとその導入方法、基本的な利用方法について説明されています。
- ScreenやSystemInfo、Applicationの端末情報に関する設定を上書きすることができるSimulation Scopeについてその使用方法、また独自で定義した端末情報を設定する方法についても合わせて紹介されています。
Generating Meshes of a Sphere
Generating Meshes of a Sphere - Daniel Sieger
- この記事では、スフィアメッシュを生成する方法について、4手法をそれぞれコード付きで紹介しています。
- 紹介されている手法はそれぞれ、UV sphereとIcosphere、Quad sphereとGoldberg polyhedraで、それぞれの特徴についても簡単に説明されています。
uGUIをTimelineで制御できる「Unity UI Playables」を公開しました
【Unity】uGUIをTimelineで制御できる「Unity UI Playables」を公開しました - LIGHT11
- この記事ではUnityのuGUIコンポーネントのプロパティTimelineのTrackから制御できるUnityUIPlayablesについて作者であるHaruma:Kさんが導入方法から利用方法について説明されています。
- このライブラリではUIコンポーネントの大体のプロパティが操作できるようです(制御できるコンポーネントはこちら)。また、トラック間のブレンドやアニメーションカーブによる制御にも対応しています。
Generate a Maze using Compute Shaders in Unity
Generate a Maze using Compute Shaders in Unity – Bronson Zgeb
- この記事ではCompute Shaderを用いて迷路を生成する方法について紹介しています。
- 迷路の生成には二分木アルゴリズムを用いています。また、Compute Shaderの計算結果は
RWTexture2D
を用いてRenderTexture
に書き出し、その結果をそのままGraphics.Blit
によって描画しています。