Starcraft 2がマップをレンダリングするのに使用するテクノロジーは何ですか?


9

実行時に手続き的に生成されるマップがあり、現在このマップをレンダリングする方法を調査しています。私はStarcraft 2の外観に興味を持っており、それを実現するために採用されている方法についてアドバイスをお願いします。第二に、可能であれば、チュートリアル、記事、さらにはソースコードの例を見たいです。

いくつかアドバイスをお願いしたいのですが、私に役立つ他のことをお気軽に提案してください。

  1. スナップ可能なタイルセット-典型的なスタークラフトマップは、一緒にスナップして崖、スロープ、その他の高所の地形を作成できるモデルのタイルセットで構成されているようです。自然に見えるようにするためにどのような方法を採用していますか?つまり、繰り返しを見つけるのは非常に難しいということです。

  2. 地形テクスチャ-地形テクスチャは非常に多様でダイナミックです(Zergクリープ)。これにはどのような方法が使用されますか?

ありがとう。


#2については、「テクスチャスプラッティング」を研究してください。
ジョージデュケット

回答:


23

Blizzardには驚くほど多くのテクスチャーアーティストがいるのかもしれません。しかし、質問を少し言い換えてみましょう:

予算が限られているため、テクスチャを明らかにタイリングせずにリアルタイム戦略ゲームを作成したいと考えています。どうすればそれを達成できますか?

良い質問!ここに私が使用するいくつかの大きなツールがあります:

1)かなり大規模な交換可能なタイルのセット。グリッドで64x64のテクスチャサイズを使用するとします。8つの64x64テクスチャを作成します。いずれのテクスチャも他のタイルと並べることができます。タイルベースのゲームで、バリエーションが豊富です。

2)デカールまたはメガテクスチャリング。繰り返されるテクスチャと、少数の「汚れ」または「汚れ」または「擦り傷」のオーバーレイテクスチャを取り上げます。テクスチャにそれらのオーバーレイのいくつかをスプラッタします。これらはリアルタイムでレンダリングできます。その場合はデカールですが、巨大なテクスチャにベイク処理することもできます。その場合はメガテクスチャリングと呼ばれます。どちらの場合でも、おそらくそれを半ランダムに行うことができ、適用されたオーバーレイをいくつか適用するだけで多くのバリエーションが得られます。

3)セミタイルこれがどのように機能するかの詳細については、これをチェックしてください。要約すると、これは少数の部分的に透明な明らかにタイル張りの背景を取得し、それを使用して、はるかに明らかにタイル張りの背景を生成する方法です。

4)テクスチャスプラッティング。これは、1つのテクスチャをタイリングすることを回避するためではなく、複数のテクスチャをシームレスに組み合わせるためのものなので、最後に保存しました。ただし、予算内で余分なテクスチャをいくつか取り除くことができれば、これは重要なツールになる可能性があります。実際、これを使用していない場合は、おそらく何か間違っていると思います。これは、単一のテクスチャタイプの明らかにタイル張りされた大きなセクションには役立ちませんが、さまざまなテクスチャを並べて見栄えをよくするために使用します。


スタークラフト1はこのリストの#1を使用し、スタークラフト2は#4を使用します。どちらの場合も、これは基本的な地形用です。SC1の「dodads」に関する限り、それらは#2(メガテクスチャではなくデカール)であり、SC2ではすべて3Dモデルです。-余談ですが、SC2マップの見栄えが良いのは、ほとんどの場所に2つのテクスチャがさまざまな角度で重ね合わされているため、Cicadaタイルのように見えるからです。(これまでは知りませんでしたが、使用する予定です。)
DampeS8N 2012

@ DampeS8N:実際には、SC1は#1自体を実行しません。代わりに、それらは、互いにタイルを張る小さなタイルのパレットと、特定の他のタイルとのみタイルを張る特定タイルです。マップエディターには、どのタイルと何を並べたテーブルがあるので、並べて表示しないタイルを近くに配置すると、そのタイルがテーブルを通過し、配置したタイルで実行するタイルに置き換えられます。再帰的に。
Nicol Bolas

@NicolBolas技術的には真実ですが、根底にある哲学は、互いに突き合わされた交換可能なタイルです。これに関連して、私の友人と私は、SC1エディターでチェーンリアクションとして発生する可能性のあるタイルフリップの数を確認していました。
DampeS8N 2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.