RenderTexture を使用して 3D ビジョンを実現する

上の図に示すように、2D シーンが使用され、カメラが 3D 効果のように見えるように変更されています。 

  1. Nintendo Switch で新たにリリースされた「スーパー マリオ」では、一部のレベルで 2D グラフィックと 3D グラフィックが混在しています。

一般に、カメラはコンピュータ画面に直接レンダリングしますが、カメラにコンテンツを認識させ、それを別のオブジェクトに表示するにはどうすればよいでしょうか? カメラには、ターゲット テクスチャというプロパティが 1 つあります。

 

新しいレンダー テクスチャ(レンダー テクスチャ)を作成してカメラに追加できます。

新しいレンダリング テクスチャを作成するには、[作成] -> [レンダリング テクスチャ]を選択します。

 

次に、このオブジェクトをカメラのターゲット テクスチャ プロパティにドラッグして、カメラがこのテクスチャのキューに入れられたすべてのイメージをレンダリングします。

この時点でゲームに入ると、ゲーム画面が真っ黒で、カメラから画像を受信するためにアクティブ化されているレンダラーがないことがわかります。

 

次に、シーンに新しいカメラを追加しましょう。カメラの Projection プロパティは Perspective に設定されます。カメラの前に 3D オブジェクト (円柱など) を追加します。

次に、新しいテクスチャを作成し、その Shader 属性を「Unlit/Texture」に設定し、先ほどレンダリングしたマテリアルを、このマテリアルが該当する MainTexture にドラッグします。

このシリンダーの材質によって表示内容が決まります。

 

新しいマテリアルを作成し、Shader を Unlit/Texture に設定し、以前に作成したテクスチャとマテリアルを接続します。

このマテリアルのシェーダは正しく選択する必要があります。

 

 

最後から 2 番目のステップは、作成したばかりのレンダリング テクスチャを、新しく作成したテクスチャに追加することです。

このようにして、カメラのコンテンツがこのマテリアルにレンダリングされます。

次に、このマテリアルをシリンダーのマテリアルに設定し、内容がシリンダーに表示されるようにします。

 

マテリアル プレビューからも、2D 画像が 3D コンテンツに変換されたことがわかります。

動きをコントロールしてみると、非常に興味深い効果が得られます。

鍵となるのはマテリアルとテクスチャーの理解です。特に 3D 環境におけるこれら 2 つの概念の理解。

最後にこの円筒形の視覚効果が出てきました。

おすすめ

転載: blog.csdn.net/grf123/article/details/132393516