公開に向けて

これまでの手順で、ゲーム内で完全に動作する車両 MOD が作成できました。しかし、作成した MOD を公開して他の人にプレイしてもらうことを考えると、もう少し手を加える必要があります。ここでは、作成した MOD を公開する前にやっておくべき追加の手順について説明します。

1. LOD を設定する

LOD (Level of detail) は、視点(カメラ)からモデルまでの距離に応じてモデルを切り替える仕組みのことです。モデルを近くから見るときは、床下機器や内装などモデルの詳細な部分までが見えますが、遠くから見るときは詳細は必要なく、むしろ詳細は省いて描画負荷を下げないといけません。このように、視点からモデルまでの距離によって最適なモデルの詳細度は変わるため、モデルを切り替えて場面に適した描画を行えるようにするのが、LOD の目的です。

LOD を実現するには、詳細レベルの異なるいくつかのモデルが必要です。TpF では、用意する詳細レベルは 2つ(近距離と遠距離)、もしくは 3つ(近距離・中距離・遠距離)にすることが多いようです。ここでは例として、作成済みのモデルを近距離用(lod0)として、新しく遠距離用のモデル(lod1)を作成し、 2レベルの LOD が実現できるようにします。

遠距離用のモデルは作成済みのモデルを複製してローポリ化してもよいですが、もっと簡単でよく使われる方法があります。近距離モデルでだけ描画される部分はオブジェクトとして切り分けておき、エクスポート時にそのオブジェクトを含めないようにすることで、簡単に詳細を省いたモデルを作ることができます。この手順を紹介します。

まず、Blender 上で遠距離モデルで描画したいオブジェクトだけを選択状態にします。ここでは、車体オブジェクトだけを選択し、台車・車輪・内装オブジェクトは選択せずにおきます。

この状態で、TpF モデルとして組み立てる でやったように、モデルを FBX 形式でエクスポートします(モディファイアーの適用を忘れないでください)。エクスポートの設定画面では、次の2点を修正してください。

  • ファイル名は「vehicle-train-demo_lod1.fbx」とします。「lod1」の部分が、LOD の詳細レベルを表しており、数字が大きいほど遠距離で使われます。

  • 設定パネルの「内容」グループの「選択したオブジェクト」のチェックをオンにします。

このようにエクスポートすると、エクスポート先のフォルダの下に、近距離用の lod0 と遠距離用の lod1 の2つの FBX ファイルが格納された状態になります。この状態で、モデルエディタを開き、lod0 の FBX ファイルをインポートします(ファイルリストには lod0 だけが表示されるはずです)。インポートが完了したら、「SAVE」をクリックしてモデルを保存してください。

これで LOD の設定は完了です。動作を確認する前に、demo.mdl を開いて、どのように LOD が設定されているかを見てみます。中間行が多く見づらいかもしれませんが、次のような構造が見つかるはずです。

	lods = {
		{
			node = {
				...
			},
			static = false,
			visibleFrom = 0,
			visibleTo = 550.80297851563,
		},
		{
			node = {
				...
			},
			static = false,
			visibleFrom = 550.80297851563,
			visibleTo = 1652.4089355469,
		},
	},

「lods」の下に2つの要素があり、それぞれに visibleFrom と visibleTo の項目があるのがわかるでしょうか。この2つの要素が LOD のそれぞれのレベルを表しており、visibleFrom と visibleTo にはそれぞれのレベルが使われる距離が設定されています。

モデルエディタで視点をモデルから遠ざけていくと、距離 550 を超えたところで台車・車輪・内装がパッと消えるのがわかると思います。小さくてわかりにくければ、visibleFrom と visibleTo を適当に変更して、より近くで切り替わるようにして試してみてください。

2. テクスチャ画像を圧縮する

テクスチャを作成する では、テクスチャ画像を無圧縮 TGA 形式で保存していました。この形式は扱いが簡単ですが、ファイルサイズが非常に大きく、ほかのプレイヤーがダウンロードするときに時間がかかったり、ロード時間が長くなったりする欠点があります。そこで、実際に MOD を公開するときには、テクスチャ画像を DDS 形式に変換してファイルサイズを圧縮します。

画像ファイルを DDS 形式に変換する方法はいろいろありますが、ここでは Paint.NET を使った方法を紹介します。基本的には名前を付けて保存するだけですが、注意する点がいくつかあります。

まず、DDS 形式で保存する前に、画像の上下を反転させてください。TGA では左下が原点、DDS では左上が原点となるためです。

また、保存時の設定画面では、半透明部分を持つ画像の場合は「BC2 (線形, DXT3)」を、半透明部分がない画像の場合は「BC1 (線形, DXT1)」を選択して保存してください。また、「ミップマップの生成」にチェックを入れてください。

DDS ファイルで保存できたら、TGA テクスチャを設定した時と同じように、MOD フォルダの下の所定の場所にファイルを格納し、モデルエディタでテクスチャファイルを指定してください。元あった TGA ファイルは不要ですので、削除してかまいません。

ところで、Paint.NET で DDS ファイルが直接保存できるなら、最初から DDS で保存すればよいと思われたかもしれませんが、最初から DDS で保存しない理由は2つあります。1つ目は、DDS 形式は不可逆圧縮で、保存して開く操作を繰り返すと画質が悪化していくため、繰り返しの編集には向きません。2つ目は、DDS 形式は条件によって設定を変える必要があり、設定を間違えるとテクスチャが反映されなかったりゲームがクラッシュするなどして扱いが難しいため、モデルの出来栄えを確認するときは TGA で出力して余計なイライラを避ける狙いがあります。この2つの理由から、まずは TGA で出力し、モデルが完成した後にDDS に変換することをおすすめします。

3. 多言語に対応する

TBA

最終更新