Использование
Уровень детализации (Level of Detail или более известный как «LOD») — это метод, используемый для уменьшения размера ассета. Trainz использует переключение ЛОДов в зависимости от расстояния от игрока до объекта. Для ассетов, которые размещаются далеко, используется более простая и менее детализированная меш. Файл LM.txt предоставляют отдельный метод переключения ЛОДов, который обычно используется для ассетов типа (KIND) Traincar и Bogey, т.е. только для подвижного состава и тележек. Для других типов ассетов, как правило, более подходит иной метод лодирования.
На примере вагона-цистерны существуют пять уровней лодов, первый и ближайший из которых — это высокодетализированная модель с картой нормалей корпуса вагона, а самая дальняя — максимально упрощенная форма с текстурой и, в данном случае, с очень простыми низкополигональными мешами тележек.
Не используйте отдельные текстуры для каждого индивидуального ЛОДа: для всех можно использовать одну и ту же текстуру, поскольку текстуры имеют собственное встроенное уменьшение ЛОДов.
Ассеты с ЛОДами должны быть созданы только с помощью файлов IM или trainzmesh (экспортированных из Autodesk 3DS Max, Blender и т. д.). Trainz находит эти файлы мешей по путям, указанным в .lm.txt (файл меши ЛОД), на который, в свою очередь, ссылается файл config.txt ассета.
На следующих изображениях показаны пять мешей, используемых для вагона-цистерны.
Примечание: только изображение №5, версия которого имеет самое высокое разрешение, имеет карту нормалей.
Изображение №1 -количество треугольников: 294.
Изображение №2 - количество треугольников: 440.
Изображение №3 - количество треугольников: 12820.
Изображение №4 - количество треугольников: 13992.
Изображение №5 - количество треугольников: 34670.
Формат файла
Редактируемые пользователем файлы *.lm.txt представляют собой текст в формате ASCII. Обратите внимание, что этот формат отличается (несмотря на некоторые сходства) от других текстовых форматов, используемых Trainz. Пожалуйста, помните об ограничениях на символы в имени файла при именовании файлов LM.txt и IM.
Используйте только неформатированный текст для создания файла .lm.txt, т. е. используйте простой текстовый редактор, например, блокнот.
Использование заглавных и строчных букв, а также точек с запятой в данных файла важно, следуйте примеру.
Пример файла LM.TXT
Файл меши LOD (vagon.lm.txt):
version 1.0 offset = 0.00; calcPoint = center; multiplier = 1.0; animationCutOff = 0.10; renderCutOff = 0.0; attachmentCutOff = 0.1; mesh("0.05") { name="vagon_lod3.im"; } mesh("0.1") { name="vagon_lod2.im"; } mesh("0.3") { name="vagon_lod1.im"; } mesh("0.6") { name="vagon_lod0.im"; } mesh("1.00") { name="vagon.im"; }
Разбивка файла LOD Mesh
version 1.0 Необходимо включить, но только для внутреннего использования; оставьте значение 1.0 offset = 0.01; Смещение, которое предотвращает многократное «перескакивание» между двумя уровнями детализации calcPoint = center; Позиция, от которой рассчитывается уровень детализации (центр, близко, далеко) multiplier = 1.0; Множитель уровня детализации (оставьте 1.0) animationCutOff = 0.0; Уровень детализации, при котором анимация останавливается (по ширине экрана) 1.0 = полная ширина, 0.5 = половина экрана, 0.0 = никогда не останавливать анимацию renderCutOff = 0.0; Уровень (по ширине экрана), на котором останавливается рендеринг (больше не виден) attachmentCutOff = 0.06; Уровень, на котором отсекаются отмеченные Cull вложения (по ширине экрана) *Смотриеть примечание ниже Примечание: меши, на которые есть ссылки в файле LOD, должны располагаться в порядке возрастания ширины. mesh("0.05") { name="vagon_lod3.im"; } Когда вагон виден лишь на 0.05 экрана (5% экрана), отображается мешь "vagon_lod3.im". mesh("0.1") { name="vagon_lod2.im"; } Меш «vagon_lod2.im» отображается, когда вагон занимает от 0.1 (10%) и меньше от ширины экрана. mesh("0.3") { name="vagon_lod1.im"; } Меш «vagon_lod1.im» отображается, когда вагон занимает от 0.3 (30%) и меньше от ширины экрана. mesh("0.6") { name="vagon_lod0.im"; } Меш «vagon_lod0.im» отображается, когда вагон занимает от 0.6 (60%) и меньше от ширины экрана. mesh("1.00") { name="vagon.im"; } Меш «vagon.im» отображается, когда вагон занимает от 1.0 (100%) и меньше от ширины экрана.
Примечание:
attachmentCutOff = 0.1; Отсечение точки привязки указывает уровень, на котором отбрасываются точки привязки с атрибутом":Cull". Например, чтобы прекратить отрисовку тележек поезда на определенном уровне детализации, добавьте ":Cull" к имени точки привязки тележки в 3DSMax, Blender или TrainzIM (например, "a.bog0:Cull"). Это может применяться к любой привязке, например, к привязке пассажира или машиниста.
Если применяется вышеизложенное (отсеченные тележки), меши корпуса потребуется низкополигональное представление тележек, как на рисунке 1 выше.
Отсечение привязок нельзя заставить работать, изменив файл config.txt; необходимо изменить имена привязок модели.
Примечание:
Файлы LM.txt, меш .im и текстуры должны находиться в одном каталоге.
Файл config.txt:
mesh-table { default { mesh "body/vagon.lm" auto-create 1 } }
Как видите, здесь нет перечисление мешей вагона. Вместо этого использует файл .lm.txt, который содержит в себе записи все мешей. Опять же нужно подчеркнуть, что данный метод используется для объектов подвижного состава (локомотивы, вагоны) и тележек. Использовать файл .lm.txt для других типов ассетов не допускается.
Расширение файла .txt
Файлы LM.txt имеют расширение имени ".LM.txt", однако, когда файл модели указан в файле config.txt или подобном, ".txt" необходимо опустить, оставив расширение ".LM". Например, файл модели с именем box.LM.txt указан в файле конфигурации KIND Traincar с использованием сетки синтаксиса "box.lm".
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now