Настройка сезонов и процедурной травы
Редактируем файл TestTexturing.bin, скопированный и переименнованный EUTexturing.bin, по тексту сверху вниз, вы можете редактировать его в любом порядке, всё будет работать. В местах строящегося марщрута практически не бывает снега, так что первым делом избавляемся от зимы. Читая описание каждой текстуры в bin-е, видим записи для каждого из времен года. В большинстве случаев используются только базовая и зимняя текстуры. Заменяем зимнюю текстуру весенней, а где её нет – летней. Исходный текст:
<cMixTexDescriptor d:id="15900888"> <BaseTextureName d:type="cDeltaString">Kuju\RailSimulator\Environme nt\Terrain\Grass\Grass000</BaseTextureName> <BaseSpringTextureName d:type="cDeltaString"></BaseSpringTextureName> <BaseSummerTextureName d:type="cDeltaString"></BaseSummerTextureName> <BaseAutumnTextureName d:type="cDeltaString"></BaseAutumnTextureName> <BaseWinterTextureName d:type="cDeltaString">Kuju\RailSimulator\Environme nt\Terrain\Grass\Grass000_Wi</BaseWinterTextureName> <DisplayName d:type="cDeltaString">Green Grass</DisplayName> <LocalisedDisplayName>
После редактирования:
<cMixTexDescriptor d:id="15900888"> <BaseTextureName d:type="cDeltaString">Kuju\RailSimulator\Environme nt\Terrain\Grass\Grass000</BaseTextureName> <BaseSpringTextureName d:type="cDeltaString"></BaseSpringTextureName> <BaseSummerTextureName d:type="cDeltaString"></BaseSummerTextureName> <BaseAutumnTextureName d:type="cDeltaString"></BaseAutumnTextureName> <BaseWinterTextureName d:type="cDeltaString"></BaseWinterTextureName> <DisplayName d:type="cDeltaString">Green Grass</DisplayName> <LocalisedDisplayName>
Холмы здесь живые, но – пожухлые. Издали они выглядят зелеными (а зимой серыми), но вблизи желтеют. Но вблизи побережья зимой и весной, да и в остальные сухие дни, они должны быть зелеными. Изменим это через свойство DistantTerrainColour. Чтобы сделать их коричневыми, применяем такие настройки:
<DistantTerrainColour> <cHcColour> <Red d:type="sFloat32" d:alt_encoding="00000020D49ADA3F" d:precision="string">0.4157</Red> <Green d:type="sFloat32" d:alt_encoding="000000A03E57D73F" d:precision="string">0.3647</Green> <Blue d:type="sFloat32" d:alt_encoding="000000C00E9CCB3F" d:precision="string">0.2157</Blue> <Alpha d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1.0000</Alpha> </cHcColour> </DistantTerrainColour>
Чтобы сделать это, пришлось немного похитрить. 1.0 соответствует числу 255 в описании цвета стандартом RGB. Вместо вычислений, например, делается скриншот, определяется параметры цвета в паинте и через blueprint editior соотносим их числам в формате RW - [2] Это свойство окрашивает область средней дальности. Чтобы было заметнее, как работает этот параметр, изменил цвет на красный - [3]