7DTD WIKI 共同管理人
Alphado
2016/12/20 (火) 21:37:24
ただしこのままだと、山と平地の境界線がかなりはっきりしていて、自然な地形ではありません。2つの地形の境界をなめらかにするにはedgeFalloffを使います。これは、2つの地形の境界線になるboundsの両側で、なめらかにぼかす範囲を指定します。
<terrain_generator name="vanilla" use_old_final="false">
<module name="landBase" type="FastBillow">
<property name="frequency" value="0.1"/>
</module>
<module name="landScaled" type="ScaleBiasOutput">
<property name="sourceModule" value="landBase"/>
<property name="scale" value="0.14"/>
<property name="bias" value="0.25"/>
</module>
<module name="mountainBase" type="FastRidgedMultifractal">
<property name="frequency" value="1"/>
</module>
<module name="mountainScaled" type="ScaleBiasOutput">
<property name="sourceModule" value="mountainBase"/>
<property name="scale" value="0.5"/>
<property name="bias" value="0.65"/>
</module>
<module name="continentController" type="FastNoise">
<property name="frequency" value="0.1"/>
</module>
<module name="continentMixed" type="Select">
<property name="controlModule" value="continentController"/>
<property name="sourceModule1" value="landScaled"/>
<property name="sourceModule2" value="mountainScaled"/>
<property name="bounds" value="0.4,100"/>
<property name="edgeFalloff" value="0.2"/>
</module>
<module name="scaleBiasOutput" type="ScaleOutput">
<property name="sourceModule" value="continentMixed"/>
<property name="scale" value="160"/>
<property name="bias" value="0"/>
</module>
<module name="clampOutput" type="ClampOutput">
<property name="sourceModule" value="scaleBiasOutput"/>
<property name="bounds" value="-50,158"/>
</module>
<output module="clampOutput"/>
</terrain_generator>
山に特徴を付ける
最後は調整です。ここではFastTurbulenceを用いて連なる山脈を作ったり、山肌を荒くしたりします。これについては、文章を読むよりも実行の結果を見て、それぞれのpropertyにどういった効果があるのか知るのが分かりやすいです。
<terrain_generator name="vanilla" use_old_final="false">
<module name="landBase" type="FastBillow">
<property name="frequency" value="0.1"/>
</module>
<module name="landScaled" type="ScaleBiasOutput">
<property name="sourceModule" value="landBase"/>
<property name="scale" value="0.14"/>
<property name="bias" value="0.25"/>
</module>
<module name="mountainBase" type="FastRidgedMultifractal">
<property name="frequency" value="1"/>
</module>
<module name="mountainScaled" type="ScaleBiasOutput">
<property name="sourceModule" value="mountainBase"/>
<property name="scale" value="0.5"/>
<property name="bias" value="0.65"/>
</module>
<module name="continentController" type="FastNoise">
<property name="frequency" value="0.1"/>
</module>
<module name="continentMixed" type="Select">
<property name="controlModule" value="continentController"/>
<property name="sourceModule1" value="landScaled"/>
<property name="sourceModule2" value="mountainScaled"/>
<property name="bounds" value="0.4,100"/>
<property name="edgeFalloff" value="0.2"/>
</module>
<module name="continentFinal" type="FastTurbulence">
<property name="sourceModule" value="continentMixed"/>
<property name="frequency" value="0.5"/>
<property name="power" value="1"/>
<property name="roughness" value="1"/>
</module>
<module name="scaleBiasOutput" type="ScaleOutput">
<property name="sourceModule" value="mountainScaled"/>
<property name="scale" value="160"/>
<property name="bias" value="0"/>
</module>
<module name="clampOutput" type="ClampOutput">
<property name="sourceModule" value="scaleBiasOutput"/>
<property name="bounds" value="-50,158"/>
</module>
<output module="clampOutput"/>
</terrain_generator>
下の画像では、frequencyとpowerを変えた時の地形の変化を表にしています。
どちらも低いと、元の地形から変化はなく、frequencyが高くpowerが低いと、ノイズの入った様な地形になり、
frequencyが低くpowerが高いと、引き延ばされたような地形になり、どちらも高いと、元の地形は失われます。
バランスを見つけるのは難しいですが、これが最終的な地形に大きくかかわるので、しっかりこだわるべき場所です。
間違ってもバニラのような極端な値にするのはやめましょう・・・・。
続いて、roughnessですが、これはfrequencyの違う変形済みの地形をいくつ重ねるか指定します。1~30の整数を指定できますが、これを2倍にすれば処理時間も2倍になります。個人的に1でも良いと思います。下の画像は、左からroughness=1,2,4,8,16の地形です。
通報 ...