Unity Weekly #036

Unity Weeklyは、@yucchiy_が読んだUnity関連の記事の中から、気になった記事を週報形式で紹介するコンテンツです。

記事に関するコメント等は、@yucchiy_までリプライいただけると幸いです。もし気に入っていただければRSSやブクマいただけると喜びます。

一覧はこちらから閲覧できます。

Unity Official

Unity ゲーミングサービスのご紹介

0

Unity ゲーミングサービスのご紹介 | Unity Blog

クロスプラットフォームのマルチプレイヤーゲーム Unityゲームサービス のベータ版がリリースされました。

RelayとLobbyというサービスをオープンベータとして利用できます。

Relay はホストプレイヤーが立てたサービス経由でプレイヤー同士をつなぐことでマルチプレイヤーゲームを実現するソリューションで、Lobby はカスタムのプライベート・プライベートルームにより複数プレイヤーがともにプレイできる環境を実現するソリューションのようです。

どちらのサービスもUnity NetcodeおよびTransportに対応しているため、エディタから直接ゲームを、簡単にオンライン対応することができます。

ハイパーカジュアルゲームナイト - New Story Inc. データドリブン開発の失敗と成功 - Unityステーション

7

ハイパーカジュアルゲームナイト - New Story Inc. データドリブン開発の失敗と成功 - Unityステーション - YouTube

この動画ではNew Story社が創業から約500日間で、ハイパーカジュアルゲームを成長させるために取り組んできたデータドリブンな考え方についての紹介と、それをもとにした開発プロセスや改善事例について紹介しています。

ゲーム未経験から自社パブリッシュするためにどのような施策を実施したか(約3ヶ月で60ゲームをとにかく作る)、お金のやりくり、 開発プロセスとして実際に導入しているOODAループをより早く回すための施策としてより詳細な情報を取得するために計測SDKを導入(みる)、取得した情報をBIツールに落とし込んで適切なかたちでビジュアライズすること(わかる)、解くべき課題が決まったところから具体的な打ち手を決めるプロセスの紹介(決める)、実際に高速に打ち手を実装する際に、より高速に実装するために分業可能にする、または開発しないための工夫を紹介しています。

またハイパーカジュアルゲームとしてより多くのユーザーを獲得するためのAndroidの低スペック端末をサポートする重要性と、Application Not Responding(ANR)の改善についても解説しています。

Sycoforge の『Return to Nangrim』が、Unity と Plastic SCM を使ったゲーム開発を民主化する

1

Sycoforge の『Return to Nangrim』が、Unity と Plastic SCM を使ったゲーム開発を民主化する | Unity Blog

この記事では、Sycoforge 社が「Return to Nangrim」の開発で利用したコラボレーションにおいて導入した Plastic SCM についてのインタビューしています。

Sycoforge社では、VCSにはBitbucketを利用していましたが、Unityに近いという理由で Unity Teamsに切り替え、さらにプロジェクトが大きくなったタイミングでPlastic SCMに切り替えたとのことです。

プラグラマーだけでなくアーティストでも使いやすいツールを探すのに苦労していたSycoforge社は、Plastic SCMを見つけたときはゲームチェンジャーに感じたそうで、プログラマーにもノンプログラマーにも使いやすいツールのようです。

Articles

Interactive Volumetric Fog With Fluid Dynamics and Arbitrary Boundaries

4

Interactive Volumetric Fog With Fluid Dynamics and Arbitrary Boundaries | by Shahriar Shahrabi | Oct, 2021 | Medium

任意の境界線を考慮したリアルタイムなインタラクティブなフォグを流体シミュレーションベースで作成する方法を紹介しています。

この記事では流体シミュレーションの詳細には触れずに、フォグのレンダリング方法および、障害物情報をもとにデプスマップを作成し、そこからオブスタクルマスクを作成して任意の境界線情報として、その情報をもとにフォグの描画する方法を解説しています。

フォグ描画は、流体シミュレーションにより算出された透明な平面をコンピュートシェーダによって生成しています。

境界線は、地形のなかで障害物としてタグ付されたものから障害物のハイトマップを生成し、そのマップの高さからオブスタクルマスクを生成しています。

また、Terrainなどで発生するOver Hangs問題と、SDFやShadow VolumeであるようなCount Up Count Down Methodによる解決方法についても触れています。

Creating a Foliage Shader in Unity URP Shader Graph

3

Creating a Foliage Shader in Unity URP Shader Graph | by NedMakesGames | Oct, 2021 | Medium

この記事では、Shader GraphとUniversal Render Pipeline(URP)を用いて、シェーダーで葉っぱのライティングや風による外力の実装を紹介しています。

プロジェクトのセットアップから、両面を描画するためのTwo Sidedオプションの設定と後ろ面を描くための法線ベクトルの反転をShader Graphのサブグラフで実装するためのノードのセットアップ、葉っぱの半透明による照明の影響を近似するためにシェイプ法線(“Shape” normals)によるライティングを行うために追加の法線を持つ方法と、DiffuseとSpecularの計算でシェイプ法線とメッシュ法線(モデルがもつ通常の法線)を使い分ける実装の紹介、葉っぱから光が透き通ってみえるような半透明の実装に、シンプルなsubsurface scattering lightingアルゴリズムを用いる方法について、それぞれ画像・動画付きで解説しています。

Low Power mode in Unity

5

Low Power mode in Unity – Bronson Zgeb

この記事では、Unityアプリの電力消費を抑える方法について紹介しています。

モバイルアプリにおいてなぜ電力消費を抑えることが重要なのか、一般的にゲーム(エンジン)がなぜ電力を消費するかについて触れ、 電力消費に影響するUnityのAPIや設定として「Target Frame Rate」と「On-Demand Rendering」、「VSync」についてそれぞれの機能と設定方法を紹介しています。

また、低電力化ために Physics.autoSimulationMonoBehaviour.Update の実行タイミングと無効化、 OnDemandRendering.willCurrentFrameRender によるオンデマンドレンダリングのデバッグにも触れています。

How to make AI sentient in Unity, Part I

2

How to make AI sentient in Unity, Part I

NPCのようなAI対して感性を実装する方法について紹介する記事です。

本記事では、目や耳のような感性を実装するためのベースとなる Sense クラスの設計と、 Sense クラスを継承して目や耳のクラスを実装する方法について解説しています。

次回のパートでは、ステートパターンを用いてリアクティブな動作を実装する方法を紹介する予定とのことです。

UnityとROSで学ぶ移動ロボット入門をLinux/Windowsで動かす

6

UnityとROSで学ぶ移動ロボット入門をLinux/Windowsで動かす

この記事では、Unity社とアールティ社が共同で開発したUnityとROSを組み合わせたロボット入門者向け教材 である unity3d-jp/Unity-ROS-MobileRObot-UI-Tutorial をLinux/Windows環境で実行する方法を紹介しています。

公式のチュートリアルではROS Networkの構築部分Windowsとその上にインストールしたDocker上に構築していますが、LinuxでUnityおよびDockerをセットアップして、チュートリアルを動作する方法について解説しています。


Yuichiro MUKAI
Yuichiro MUKAIGame & Web Programmer

シブヤで働くゲームプログラマー. C#(For Unity)をメインに, 趣味でPHPなどを書きます.

Twitter / Facebook