特定の物が徐々に変化するような処理

特定の物が時間経過とともに段々変化していく処理を実装したいです。
通常の別のものに変化する処理は下記の画像のようにBPを組んで実現させています。

動画はこちら[YouTube][3]

現時点では一瞬で物が変化してしまうので、これを時間経過とともにだんだん変化させていきたいです。
イメージはアハ体験のような感じです。(参考:[アハ体験][4])
どうかご教授いただきたいです。よろしくお願いします。

変化させる対象や変化のさせ方で様々な実装方法が考えられます。描画の質や負荷を考えず、手っ取り早く実装するのであれば、例えば以下のようなものでしょうか。

【1】マテリアルのOpacityを変化させて入れ替わったように見せる

  1. あらかじめ入れ替えたいメッシュのマテリアルのOpacityをパラメータ化して、レベルの同じ場所に配置する
  2. DynamicMaterialInstanceを作ってメッシュに割り当てる
  3. 必要なタイミングで透明度を入れ替える

ただしマテリアルにTranslucentを設定したメッシュは、シャドウを受けられなかったり反射が無視されたりするなどのデメリットがあるため、場合によっては悪目立ちしてゲームプレイを阻害するかもしれません。

【2】レンダーターゲットを使用する

  1. 入れ替え対象以外は全く同じ2つの撮影空間を用意し、SceneCaptureCameraで撮影した絵をRenderTextureに書き込む
  2. RenderTextureを反映する板を2枚用意し、それを撮影するカメラを用意する(このカメラがプレイ中
    、プレイヤーに見せるカメラになる)
  3. 任意のタイミングで、2枚用意した板の手前側のOpacityを下げていく

この方法で【1】のデメリットを避けられますが、単純にメッシュの数が倍になるだけでなくRenderTarget自体が重めの処理のため、オブジェクト自体が多い場合やFPSが気になる場合には向かないでしょう

回答ありがとうございます。レンダーターゲットを用いた方法はとても面白くて勉強になりました。
一つ質問があるのですが、【1】のマテリアルはTranslucent以外だとどのような設定で可能でしょうか?

今回のように半透明として処理するためには、マテリアルのBlendModeをTranslucentに設定するしかありませんが、ディザリングで疑似的に透明なように見せかける方法はあります。接近するとドットが目立ちますが、あまり大きく扱わないならもしかするとうまくいくかもしれません。