Добавление текстур в маршрут

Материал из Trainsim FAQ
Перейти к: навигация, поиск

Добавление новых текстур земли

Добавление собственных текстур земли в маршрут – важный и интересный вопрос. Прежде всего, нужно знать, какой BIN-файл с текстурами использует мой маршрут. Это можно определить это через файл RouteProperties.xml. НО! Прежде чем это сделать, всегда создавайте его резервную копию, так как любые случайные изменения могут привести к ошибке. После этого открываем RouteProperties.xml и ищем там раздел TerrainBlueprint. Вот как он выглядит:

<TerrainBlueprint>
<iBlueprintLibrary-cAbsoluteBlueprintID>
<BlueprintSetID>
<iBlueprintLibrary-cBlueprintSetID>
<Provider d:type="cDeltaString">Kuju</Provider>
<Product d:type="cDeltaString">RailSimulator</Product>
</iBlueprintLibrary-cBlueprintSetID>
</BlueprintSetID>
<BlueprintID d:type="cDeltaString">Environment\Terrain\EUTextur ing.xml</BlueprintID>
</iBlueprintLibrary-cAbsoluteBlueprintID>
</TerrainBlueprint>

Теперь мы знаем, какой BIN использует маршрут, и можем скопировать (и переименовать) его в папку своих assets, после чего отредактировать поля Provider и Product (а так же имя файла) в свойствах своего маршрута, например:

<TerrainBlueprint>
<iBlueprintLibrary-cAbsoluteBlueprintID>
<BlueprintSetID>
<iBlueprintLibrary-cBlueprintSetID>
<Provider d:type="cDeltaString">DMV</Provider>
<Product d:type="cDeltaString">CC_Route</Product>
</iBlueprintLibrary-cBlueprintSetID>
</BlueprintSetID>
<BlueprintID d:type="cDeltaString">Environment\Terrain\Texturin g.xml</BlueprintID>
</iBlueprintLibrary-cAbsoluteBlueprintID>
</TerrainBlueprint>

Причина, по которой создана копия именно того BIN-файла, который ранее использовался маршрутом, в том, что RailWorks запоминает последовательность, в которой там перечисляются текстуры. И если, например, Dry Grass была второй на момент создания маршрута, а потом добавилось что-то перед ней, скажем Corn Fields, то при очередной загрузке маршрута текстура кукурузы подменит текстуру сухой травы. Теперь добавляем текстуры земли в BIN. Итак, создадим в нем копию BIN-файла, переименовав EUTexturing.bin в TestTexturing.bin:

<BlueprintID d:type="cDeltaString">Environment\Terrain\TestText uring.xml</BlueprintID>

Открываем и ищем:

</cMixTexDescriptor>
</MixTex>

Чтобы добавить текстуру, вы должны её иметь. Поскольку примерный маршрут уже использует материалы Portland Terminal (PT), текстуру возьмем оттуда же. Собственные текстуры добавляются таким же способом. Так, в bin-файле маршрута PT есть текстура Asphalt000, которой нет в bin-е нового маршрута:

<cMixTexDescriptor d:id="56736104">
<BaseTextureName d:type="cDeltaString">G-TraX\PortlandTerminal\Environment\Terrain\Urban\As phalt000</BaseTextureName>
<BaseSpringTextureName d:type="cDeltaString"></BaseSpringTextureName>
<BaseSummerTextureName d:type="cDeltaString"></BaseSummerTextureName>
<BaseAutumnTextureName d:type="cDeltaString"></BaseAutumnTextureName>
<BaseWinterTextureName d:type="cDeltaString">G-TraX\PortlandTerminal\Environment\Terrain\Urban\As phalt000_Wi</BaseWinterTextureName>
<DisplayName d:type="cDeltaString">Asphalt 00</DisplayName>
<LocalisedDisplayName>
<Localisation-cUserLocalisedString>
<English d:type="cDeltaString">Asphalt 00</English>
<French d:type="cDeltaString"></French>
<Italian d:type="cDeltaString"></Italian>
<German d:type="cDeltaString"></German>
<Spanish d:type="cDeltaString"></Spanish>
<Dutch d:type="cDeltaString"></Dutch>
<Polish d:type="cDeltaString"></Polish>
<Russian d:type="cDeltaString"></Russian>
<Other/>
<Key d:type="cDeltaString"></Key>
</Localisation-cUserLocalisedString>
</LocalisedDisplayName>
<Wang d:type="cDeltaString">eTrue</Wang>
<FloraIndex d:type="sUInt32">0</FloraIndex>
<FloraDensity d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0.0000</FloraDensity>
<Category d:type="cDeltaString">eConcrete</Category>
</cMixTexDescriptor>

Копируем (не вырезаем!) и вставляем текстуру из bin-а Портленда в свой между двумя строками, указанными выше (</cMixTexDescriptor> и </MixTex>). Наконец, последний шаг делается в редакторе маршрутов. Так как текстура взята из PT, я должен разрешить её использование через фильтр объектов (на скрине [1]).

Оригинал: статья 1 статья 2 статья 3 статья 4

Перевел E69, оригинал перевода здесь и здесь