以下に示すN64ゲーム「ゼルダの伝説:時のオカリナ」のタイトル画面のロゴのような炎のような効果を再現したいと思います。
ROMで使用されるテクスチャをざっと見てみると、エフェクトに似た単一の32x32テクスチャが提供されますが、そのイメージ(正しいイメージであると仮定)がロゴに表示されるエフェクトにどのように変換されるかわかりません。
同様の何かを実装するにはどうすればよいですか?
以下に示すN64ゲーム「ゼルダの伝説:時のオカリナ」のタイトル画面のロゴのような炎のような効果を再現したいと思います。
ROMで使用されるテクスチャをざっと見てみると、エフェクトに似た単一の32x32テクスチャが提供されますが、そのイメージ(正しいイメージであると仮定)がロゴに表示されるエフェクトにどのように変換されるかわかりません。
同様の何かを実装するにはどうすればよいですか?
回答:
まず、ロゴ/テキストの黒地に白のマスクを作成し、ぼかします。
次に、繰り返し(タイル化可能)ソリッドノイズテクスチャを作成します(ここではGIMPを使用します)
Map-> Tile ...フィルターを使用して、次のステップで3x3のタイルパターン(この例では128x128 x 3 = 384x384)を作成し、テクスチャがまだ再現可能であることを確認します-中心部分のみを保持します。
Blur-> Motion Blur ...を使用して、テクスチャを上方向にぼかし、中央のみを1/3に保ちます(128x128に戻します)
GPUで両方のテクスチャを乗算し、不透明度に使用します。
次に、パターンテクスチャをマスクテクスチャの上に移動してアニメーション化します。
アニメーション部分は完了です。
次に、グラデーションマップ(黒->赤->黄->白)を適用して、火の色を付けることができます。
他の色を使用して、ひどく青い火、明るい黄色のオーラフィールド、よりスモーキーな効果などを作成できます。
これをロゴと3Dレンダリングに加法として組み合わせると、目的の効果が得られます。
マスクおよび/またはパターンの明るさ、および/または頂点の色、および/またはグラデーションカラーマップを設計されたレベルに調整することにより、効果を暗くすることができます。
異なる速度と方向で2つのテクスチャパターン(マスク*発射パターン*発射パターン)を一緒に使用して、より複雑な発射効果を作成することもできます。
技術的には、N64では、テクスチャに関するN64のハードウェアの制限により、マスクテクスチャの代わりに三角形メッシュと頂点カラーを使用して、マスクの近似値が作成されている場合がありますが、最終結果は同じです((頂点カラー*パターンテクスチャ)vs(マスクテクスチャ*パターンテクスチャ))。
頂点カラーを引き続き使用できますが、20年後、生活を楽にし、2つ以上のテクスチャを使用することができます。今日のモバイルGPUでも、問題なく256x128のグレーテクスチャを追加処理できます。
ROMに小さな炎のテクスチャが含まれている場合、これは何らかの粒子効果で行われていると思います。
これは、最初にタイトルとロゴのスプライトを画面に配置することによって行われます。次に、タイトルスプライトの背後に炎の効果を作成する多数のパーティクルエミッタを配置します。つまり、Z /画面の奥行きは、タイトルの背後にレンダリングされるほどです。
GameMakerのパーティクルエフェクトを使用して、このアプローチの可能性について考えさせるフレームを作成する例を次に示します...
http://martincrownover.com/gamemaker-examples-tutorials/particles-fire/