教育事業 パルテア
Home
Education
Course
Academy
Cuisine
Unity
Blender
教育事業部の事業内容 演劇、音楽のタレント並びに作詞家、作曲家、編曲家等アーティストの育成及びマネージメント、コンピュータ教室の経営等を行っています。
unity Detail
ゲームエンジン Unity オンラインマニュアル
Home
|
unity
|
unity Detail
|
unity Search
Working in Unity
|
Asset workflow
|
Input
|
2D game development
|
Graphics
|
World building
|
Physics
|
Scripting
|
Audio
|
Video and cutscenes
|
Animation
|
〜Unity Graphics スクリプト可能なレンダー パイプラインの基礎〜 #ゲームプログラミング #ゲーム制作 #unity3d #unity3dgames
Unity の Scriptable Render Pipeline (SRP) は、C# スクリプトを介してレンダリングを制御できる機能です。 SRP は、ユニバーサル レンダー パイプライン (URP) と高解像度レンダー パイプライン (HDRP) を支えるテクノロジーです。
このページでは、Unity の Scriptable Render Pipeline (SRP) がどのように機能するかを説明し、いくつかの重要な概念と用語を紹介します。 このページの情報は、ユニバーサル レンダー パイプライン (URP)、高解像度レンダー パイプライン (HDRP)、および SRP に基づくカスタム レンダー パイプラインに適用されます。
Scriptable Render Pipeline は、C# スクリプトを使用してレンダリング コマンドをスケジュールおよび構成できる薄い API レイヤーです。 Unity はこれらのコマンドを低レベルのグラフィックス アーキテクチャに渡し、グラフィックス API に命令を送信します。
URP と HDRP は SRP の上に構築されます。 SRP 上に独自のカスタム レンダー パイプラインを作成することもできます。
SRP に基づくすべてのレンダー パイプラインには、次の 2 つの主要なカスタマイズ要素があります。
レンダーパイプラインインスタンス。 これは、レンダー パイプラインの機能を定義するクラスのインスタンスです。 そのスクリプトは RenderPipeline から継承し、その Render() メソッドをオーバーライドします。
レンダー パイプライン アセット。 これは、使用するレンダー パイプライン インスタンスとその構成方法に関するデータを保存する Unity プロジェクト内のアセットです。 そのスクリプトは RenderPipelineAsset を継承し、その CreatePipeline() メソッドをオーバーライドします。
これらの要素の詳細と、カスタム レンダー パイプラインでそれらを作成する手順については、「レンダー パイプライン アセットとレンダー パイプライン インスタンスの作成」を参照してください。
ScriptableRenderContext は、レンダー パイプラインのカスタム C# コードと Unity の低レベル グラフィックス コードの間のインターフェイスとして機能するクラスです。
ScriptableRenderContext API を使用して、レンダリング コマンドをスケジュールして実行します。 詳細については、「スクリプト可能レンダー パイプラインでのレンダリング コマンドのスケジュールと実行」を参照してください。
SRP を使用する場合、これらを使用して Unity が特定の時間に C# コードを呼び出すようにします。
RenderPipeline.Render は、SRP への主要なエントリ ポイントです。 Unity はこのメソッドを自動的に呼び出します。 カスタム レンダー パイプラインを作成している場合は、ここからコードの作成を開始します。
RenderPipelineManager クラスには、サブスクライブできる次のイベントがあるため、レンダリング ループの特定の時点でカスタム コードを実行できます。
beginFrameRendering - 注: これによりガベージが生成される可能性があります。 代わりに beginContextRendering を使用してください。
endFrameRendering - 注: これによりガベージが生成される可能性があります。 代わりに endContextRendering を使用してください。
beginContextRendering
endContextRendering
開始カメラレンダリング
終了カメラレンダリング
このページでは、CommandBuffers を使用するか、ScriptableRenderContext への直接 API 呼び出しを行うことにより、Scriptable Render Pipeline (SRP) でレンダリング コマンドをスケジュールおよび実行する方法について説明します。 このページの情報は、ユニバーサル レンダー パイプライン (URP)、高解像度レンダー パイプライン (HDRP)、および SRP に基づくカスタム レンダー パイプラインに適用されます。
SRP では、C# スクリプトを使用してレンダリング コマンドを構成およびスケジュールします。 次に、Unity の低レベル グラフィック アーキテクチャにそれらを実行するよう指示し、グラフィック API に命令を送信します。
これを行う主な方法は、ScriptableRenderContext への API 呼び出しを行うことですが、CommandBuffers をすぐに実行することもできます。
SRP では、ScriptableRenderContext クラスは、C# レンダー パイプライン コードと Unity の低レベル グラフィックス コードの間のインターフェイスとして機能します。 SRP レンダリングは遅延実行を使用して機能します。 ScriptableRenderContext を使用してレンダリング コマンドのリストを作成し、Unity にそれらを実行するように指示します。 次に、Unity の低レベルのグラフィック アーキテクチャがグラフィック API に命令を送信します。
レンダリング コマンドをスケジュールするには、次のことができます。
ScriptableRenderContext.ExecuteCommandBuffer を使用して、CommandBuffers を ScriptableRenderContext に渡します。
ScriptableRenderContext.Cull や ScriptableRenderContext.DrawRenderers などの Scriptable Render Context への直接 API 呼び出しを行う
スケジュールしたコマンドを実行するように Unity に指示するには、ScriptableRenderContext.Submit を呼び出します。 コマンドのスケジュールに CommandBuffer を使用したか、API を呼び出してコマンドをスケジュールしたかは関係ないことに注意してください。 Unity は、ScriptableRenderContext 上のすべてのレンダリング コマンドを同じ方法でスケジュールし、Submit() を呼び出すまでそれらのコマンドを実行しません。
unity
日時:// ~ //
名称:
場所:
料金:¥0 (消費税込)
続きを読む
unity Images