超簡単な地形生成--TerraGenその1
そもそも何をやってるのか
まずは基本からです。大体のイメージを掴んでいってください。
各moduleはtypeで指定された関数の結果をnameに保存します。
typeは用意された物しか使えませんが、nameのところはわかりやすいように名付けて構いません。
そして、その地形のデータを操作するときは、sourceModuleのvalueに地形のnameを渡してあげましょう。
例えば、下のようなコードをterrain_generatorsに入れてやると、最初にFastBillowを使って作られたデータをSourceに保存します。
続いてClumpOutputではsourceModuleのvalueがSourceになっているので、上で作ったデータをもとにしてできた地形がclumpOutputに保存されます。
そして、最終的な地形のデータは一番下のoutput moduleで指定されたclampOutputになります。
<terrain_generator name="vanilla" use_old_final="false">
<module name="Source" type="FastBillow" no_seed="true">
</module>
<module name="clampOutput" type="ClampOutput">
<property name="sourceModule" value="Source"/>
</module>
<output module="clampOutput"/>
</terrain_generator>
地形のデータがどんなやりとりをされるか、わかりましたか?
moduleの種類
moduleには大体40種類あることがわかっていますが、そのうち、必須なものは以下の3つだけです。
FastBillow
地形の波を-1.50~1.50くらいの範囲で作り出す。
ScaleBiasOutput
受け取った地形を引き伸ばして(縮めて)、位置をずらす。
(振幅が変わります)
ClampOutput
受け取った地形の一部だけを切り取り、はみ出た部分は平らにする。
この3つの使い方が分かれば、(望みの地形が作れるかはともかくとして、)地形の生成が出来るようになります。
地形を作る前に
それではさっそく作っていきましょう。
今回、色々試すにあたって、公式のRWG Previewerだとパット見ただけでは地形がわかりづらかったので、色々改造して見やすくしてみました。よかったら使ってください。
https://envul.com/graphical-terrain-previewer-23-7-days-to-die-mod/
ただし、これを使っている間はBiome Generatorが使えないことや、ゲーム自体を起動すると(恐らく)エラーが出ることに注意してください。
あくまで、地形生成を見やすくするためだけのものです。
要らなくなったらsteamでキャッシュの整合性チェックをしてください。たちまち元通りになります。
さて、7 days to dieのタイトル画面からEditing Toolsを選んで、RWG Previewerを起動させましょう。
ここからはrwgmixer.xmlを編集する度にゲームを終了させる必要はありません。
(ただし、文法エラーを起こすと容赦なくフリーズします)
XMLの保存が終わったら更新🔃ボタンを押すだけで地形を生成し直してくれます。
では、rwgmixer.xmlを開き、下の方にあるコードを探してください。
<terrain_generators>
<terrain_generator name="vanilla" use_old_final="false">
[[コード]]
</terrain_generator>
</terrain_generators>
このコードの部分を書き換えていくことで地形生成をカスタマイズできます。
まずは基本です。上で紹介した3つのmoduleだけで地形生成していきましょう。
Tin先生RWG講座(和訳) << RWGをいじる前に >> TerrainGenの基礎