Unityの便利な機能を学んで、制作に活かそう!9月にUnity Japanが配信したYouTubeまとめ
Unityでは、ユニティ・テクノロジーズ・ジャパンのスタッフを中心に、一押し機能やアセットの紹介、映像や建築など特定領域での活用方法などをYouTubeで配信しています。
本記事では、9月に配信した注目のコンテンツをまとめて紹介します。気になる動画がありましたら、ぜひ視聴してみてください。
RenderMesh API で大量のオブジェクトを描画してみよう!
RenderMesh APIは、メッシュを描画するための拡張機能です。以前は「DrawMesh API」という名前でしたが、RenderMesh APIに生まれ変わりました。
動画では、RenderMesh APIで大量のオブジェクトを描画する方法について紹介しています。メッシュを大量に描画する際は「RenderMeshInstanced」が効率的で、そちらも解説しています。さらに「GameObject」「RenderMesh API」「RenderMeshInstanced」をプロファイリングしてパフォーマンスを比較。それぞれ遅延や負荷がどれくらいあるかをを説明しています。
動画の最後では、大量のオブジェクトを使用する際の指針をまとめているので、ぜひ参考にしてみてください。
RenderMeshInstancedでペンライト演出を作ろう!
「RenderMesh API で大量のオブジェクトを描画してみよう!」では、「RenderMeshInstanced」を簡単に紹介しました。今回は、より踏み込んだ使い方を解説します。
RenderMeshInstancedは、少ないレンダリング回数で同じオブジェクトを大量に描画できる機能です。動画では、ペンライトを振る大量のオーディエンスをサンプルにし、カラフルなペンライト演出を説明します。
様々な色のペンライトを実装するには、インスタンスごとに位置情報や色の指定などが必要です。基礎的な単色ペンライトの実装から、各インスタンスにさまざまな色を設定する方法について解説しています。
ペンライトの集団を数学的に制御する!簡単なプロシージャルアニメーションの例
「RenderMeshInstancedでペンライト演出を作ろう!」で登場したペンライトについて、その動きを簡単なプロシージャルアニメーションで実装する例をこの動画では解説しています。
三角関数を用いて規則正しいリズムで振る方法や、乱数とノイズでランダムに動かす方法について解説しています。三角関数や乱数などは汎用性の高い手法ですので、ぜひ活用してみてください。
Compute Shaderをスレッドグループ共有メモリで最適化してみよう!
「Compute Shader」は、画像や映像処理向けに使われる演算装置「GPU」上で実行されるプログラミングの一つです。以前公開した動画「GPUの力を解き放て!Unity Compute Shader入門!」では、Compute Shader特有の概念やサンプルプロジェクトに書かれたソースコードの解説・最適化など、Compute Shaderの基礎知識を解説しました。
Compute Shaderには、複数のスレッドが束になって動作する「スレッドグループ」という概念があります。そこで今回の動画では、Compute Shaderを最適化させるためにスレッドグループ内で使えるスレッドグループ共有メモリ(Thread Group Shared Memory)について解説しています。
動画内では、Compute Shaderで画像の輝度分布をリアルタイムにヒストグラムで算出するサンプルプログラムを作成。そのサンプルの中で、スレッドグループ共有メモリを使うことで実行時間をどれだけ短縮できるかについて紹介しています。
Compute Shaderの最適化をしてみたい方は、ぜひ参考にしてみてください。
今後もUnity Japanチャンネルではみなさんの制作に役に立つ情報を、楽しくわかりやすくお届けしていきます!
👇チャンネル登録もぜひお願いします👇