RAILWORKS сообщество


Всё для фаната Train Simulator 2017 и Train Sim World!

Свои изобретения в Railworks

Обсуждение вопросов и решение проблем, связанных с внутриигровым редактором, а также процессом разработки самостоятельных дополнений или игровых модификаций.

Re: Свои изобретения в Railworks

Сообщение Света » 03 ноя 2016, 10:51

Всем доброго времени суток :)

Требуется помощь математиков.
Суть задачи:
Упрощенный вариант, с которым мне удалось справиться:
Имеется регулятор, имеющий значение от 0 до любого числа. И есть переменная, которой надо управлять с помощью этого регулятора. Её значение также может быть от 0 до любого значения. Задача состояла в том, чтобы связать регулятор с переменной, чтобы при любых конечных значениях регулятора и переменой значение переменной менялось синхронно и пропорционально со значением регулятора.
Эта задача была решена такими формулами:
Код: Выделить всё
               factor = (timing - TMR)/timing

где factor - это множитель, на который умножается максимальное значение переменной его значение меняется от 0 до 1, timing - это максимальное значение регулятора, а TMR - это текущее состояние регулятора.
По этой формуле % переменной напрямую зависит от % регулятора.
Обратная зависимость решена такой формулой:

               factor = TMR/timing

Здесь при изменении регулятора от 0 до максимума значение factor изменится от 1 до 0.

Здесь всё достаточно просто.

Теперь задача посложнее.
Нужно проделать то же, но в ограниченной области, то есть не от 0 до максимума. Если TMR изменяется от х до 0, factor имеет начальное значение в промежутке от 0 до 1 (например а), конечное - также от 0 до 1 (b), надо описать это соотношение таким образом, чтобы при TMR = х...0 factor = а...b. И обратная зависимость, где при TMR = х...0 factor = b...а.
В обоих случаях а - это текущее значение factor-а, а b - задаваемое при просчете формулы.

Кто нибудь поможет? :oops:
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Света
 
Аватара пользователя
Разработчик
 
Сообщения: 685
Зарегистрирован:
Баллы репутации: 173

Re: Свои изобретения в Railworks

Сообщение maestro » 03 ноя 2016, 17:23

Никакой сложной математики здесь нет. В общем случае решение таково:

Пусть если два интервала: A...B и C...D
Требуется для точки X внутри первого интервала найти точку Y внутри второго интервала.

Процентное расположение точки X составляет (X - A)/(B - A).
Учитывая равенство процентных расположений внутри интервалов получаем (X - A)/(B - A) = (Y - C)/(D - C).
Отсюда получаем Y = (X - A) * (D - C)/(B - A) + C

Просто подставь, что нужно :beer:
Маршрут "Лесной край". Вся актуальная информация на RailUnion.net. Поддержать проект Яндекс.Деньгами: 410012195452990
Набор утилит TS Editor для Train Simulator: RailroadSim.net, обсуждение на RailUnion.net & RailWorks2.ru
maestro
 
Разработчик
 
Сообщения: 140
Зарегистрирован:
Баллы репутации: 28
За это сообщение пользователю maestro сказали "спасибо":
Света

Re: Свои изобретения в Railworks

Сообщение Cross » 13 ноя 2016, 16:27

Друзья, вопрос к тем, кто работает с моделями. Объясните, что я делаю не так? Задача такова: мне нужно конвертнуть модель кабины со всеми её нодами, текстурами, анимациями и прочим. Вроде всё делаю по правилам, плагин перегоняет всё в IGS без проблем, также BlueprintEditor2 гонит в GeoPcDx, но вот тут возникает затык - модель на выходе получается размером 12кб, все ноды внутри присутствуют, а вот текстура внутри модели прописана лишь одна. Почему так?
Верно ли я делаю, если создаю в редакторе материалов 3ds max единый материал Multi/Sub-Object, где под индивидуальным ID хранится каждая текстура?
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение le Sandro » 13 ноя 2016, 16:57

Да, делаешь все верно. RW понимает мультисабы. Только внутри мультисаба все материалы должны быть RWMaterial. Именование объектов и подобъектов проверь.
Нормали у полигонов все проверь, сделай ресетХформ, либо скинь мне модель (13й макс), я посмотрю, почему не конвертится.
Мы с PNZ.
le Sandro
 
Разработчик
 
Сообщения: 607
Зарегистрирован:
Откуда: Пенза
Баллы репутации: 39

Re: Свои изобретения в Railworks

Сообщение Cross » 13 ноя 2016, 17:22

le Sandro
конвертится нормально, материалы все RWMaterial, иначе конвертер будет ругаться. Именование объектов и подобъектов начинается с 1_0000_имя. Я думаю, что в данном случае делать LODы нет смысла, так как это кабина при виде изнутри. Нормали повёрнуты в нужную сторону, я в максе специально поставил галку в настройках отображения BackfaceCull, чтобы видеть, где полигон вывернут. Проблема только на выходе. В модель пишется только одна текстура.
Допустим вот так:
[+]
Код: Выделить всё
<Material>
      <cHcEffectMaterialDx d:id="31652272">
         <ShaderName d:type="cDeltaString">TrainSpecEnvMask.fx</ShaderName>
         <TextureByName>
            <e d:type="cDeltaString">textures\[00]main_1</e>
            <e d:type="cDeltaString">textures\[00]main_1</e>
         </TextureByName>
         <Name d:type="cDeltaString">Main_1</Name>
         <CollisionSurface d:type="cDeltaString">METAL</CollisionSurface>
         <VertexType d:type="ref">31632656</VertexType>
         <FrameAlphaMode d:type="cDeltaString">ALPHA_MODE_NONE</FrameAlphaMode>
         <PassPlatformData/>
         <FloatParam>
            <cHcEffectMaterialDx-cFloatParam d:id="31652476">
               <Name d:type="cDeltaString">SPECULARPOWER</Name>
               <Value d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</Value>
            </cHcEffectMaterialDx-cFloatParam>
            <cHcEffectMaterialDx-cFloatParam d:id="31652488">
               <Name d:type="cDeltaString">CUSTOMPARAM0</Name>
               <Value d:type="sFloat32" d:alt_encoding="0000000000004040" d:precision="string">32</Value>
            </cHcEffectMaterialDx-cFloatParam>
            <cHcEffectMaterialDx-cFloatParam d:id="31652500">
               <Name d:type="cDeltaString">CUSTOMPARAM1</Name>
               <Value d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Value>
            </cHcEffectMaterialDx-cFloatParam>
            <cHcEffectMaterialDx-cFloatParam d:id="31652512">
               <Name d:type="cDeltaString">CUSTOMPARAM2</Name>
               <Value d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Value>
            </cHcEffectMaterialDx-cFloatParam>
            <cHcEffectMaterialDx-cFloatParam d:id="31652524">
               <Name d:type="cDeltaString">CUSTOMPARAM3</Name>
               <Value d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Value>
            </cHcEffectMaterialDx-cFloatParam>
            <cHcEffectMaterialDx-cFloatParam d:id="31652536">
               <Name d:type="cDeltaString">CUSTOMPARAM4</Name>
               <Value d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Value>
            </cHcEffectMaterialDx-cFloatParam>
            <cHcEffectMaterialDx-cFloatParam d:id="31652548">
               <Name d:type="cDeltaString">CUSTOMPARAM5</Name>
               <Value d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Value>
            </cHcEffectMaterialDx-cFloatParam>
         </FloatParam>
         <VectorParam>
            <cHcEffectMaterialDx-cVectorParam d:id="31652672">
               <Name d:type="cDeltaString">AMBIENT</Name>
               <Value d:numElements="4" d:elementType="sFloat32" d:precision="string">0.0000000 0.0000000 0.0000000 0.0000000</Value>
            </cHcEffectMaterialDx-cVectorParam>
            <cHcEffectMaterialDx-cVectorParam d:id="31652696">
               <Name d:type="cDeltaString">EMISSIVE</Name>
               <Value d:numElements="4" d:elementType="sFloat32" d:precision="string">0.0000000 0.0000000 0.0000000 0.0000000</Value>
            </cHcEffectMaterialDx-cVectorParam>
            <cHcEffectMaterialDx-cVectorParam d:id="31652720">
               <Name d:type="cDeltaString">SPECULARCOLOR</Name>
               <Value d:numElements="4" d:elementType="sFloat32" d:precision="string">1.0000000 1.0000000 1.0000000 1.0000000</Value>
            </cHcEffectMaterialDx-cVectorParam>
            <cHcEffectMaterialDx-cVectorParam d:id="31652744">
               <Name d:type="cDeltaString">DIFFUSECOLOR</Name>
               <Value d:numElements="4" d:elementType="sFloat32" d:precision="string">1.0000000 1.0000000 1.0000000 1.0000000</Value>
            </cHcEffectMaterialDx-cVectorParam>
         </VectorParam>
         <AlphaTestType d:type="cDeltaString">HC_ALPHATEST_ALWAYS</AlphaTestType>
         <AlphaRef d:type="sUInt32">127</AlphaRef>
         <TwoSided d:type="bool">0</TwoSided>
         <MipLodBias>
            <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
            <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
         </MipLodBias>
         <TextureAddrModeU>
            <e d:type="cDeltaString">HC_TEXTURE_ADDR_MODE_WRAP</e>
            <e d:type="cDeltaString">HC_TEXTURE_ADDR_MODE_WRAP</e>
         </TextureAddrModeU>
         <TextureAddrModeV>
            <e d:type="cDeltaString">HC_TEXTURE_ADDR_MODE_WRAP</e>
            <e d:type="cDeltaString">HC_TEXTURE_ADDR_MODE_WRAP</e>
         </TextureAddrModeV>
         <TextureAddrModeW>
            <e d:type="cDeltaString">HC_TEXTURE_ADDR_MODE_WRAP</e>
            <e d:type="cDeltaString">HC_TEXTURE_ADDR_MODE_WRAP</e>
         </TextureAddrModeW>
         <BorderColour>
            <e d:type="sUInt32">17</e>
            <e d:type="sUInt32">1929381121</e>
         </BorderColour>
      </cHcEffectMaterialDx>
   </Material>

Дальше в тегах SourceLToPTransform есть все координаты нодов.
теги TransformDependency тоже содержат какие-то цифры для всех нодов.
и TransformName внутри имеет полноценный список всех сконверченых нодов.
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение olegich » 14 ноя 2016, 00:12

Cross писал(а): возникает затык - модель на выходе получается размером 12кб

потому что модель не прошла конверт,прошли только координаты,саму модель
без нодов и всего лишнего попробуй прогнать,возможно в ней косяк,а текстуры и без нее конвертятся и прописываются блюпринтом если они RWшные
olegich
 
Аватара пользователя
Разработчик
 
Сообщения: 161
Зарегистрирован:
Откуда: Дзержинск,ниж. обл.
Баллы репутации: 74

Re: Свои изобретения в Railworks

Сообщение le Sandro » 14 ноя 2016, 08:13

У меня сконвертилась нормально, когда пути в source правильно прописал.
Мы с PNZ.
le Sandro
 
Разработчик
 
Сообщения: 607
Зарегистрирован:
Откуда: Пенза
Баллы репутации: 39

Re: Свои изобретения в Railworks

Сообщение Cross » 14 ноя 2016, 12:20

один объект нормально экспортирует. Три тоже проходят. А вот начинаешь целиковую модель перегонять, так снова на выходе получается куча нодов в списке и одна текстура. В игре ясное дело только одна часть модели, для которой прописалась соответствующая текстура. А куда девается остальное - неясно)
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение olegich » 14 ноя 2016, 13:33

Если блюпринт не ругается при конверте значит проблемма в модели либо в именах зависящих элементов,а скрин окончания экспорта в максе можно увидеть когда все вместе идет?
olegich
 
Аватара пользователя
Разработчик
 
Сообщения: 161
Зарегистрирован:
Откуда: Дзержинск,ниж. обл.
Баллы репутации: 74

Re: Свои изобретения в Railworks

Сообщение le Sandro » 14 ноя 2016, 14:58

Вечером покажу. У меня вся модель целиком из макса сконвертилась. IGS получился в районе 8Mb.
Мы с PNZ.
le Sandro
 
Разработчик
 
Сообщения: 607
Зарегистрирован:
Откуда: Пенза
Баллы репутации: 39

Re: Свои изобретения в Railworks

Сообщение Cross » 14 ноя 2016, 15:13

olegich
в максе проходит экспорт всех видимых нодов, в самом низу списка строчка completed. IGS при этом тоже где-то в районе 8Mb, а дальше из BlueprintEditor2 выходит гео модель весом 182кб. Щас сам пробую частями проводить конверт, добавляя каждый элемент в общую модель и смотрю как всё выглядит в игре.
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение olegich » 14 ноя 2016, 18:11

Cross писал(а):olegich Щас сам пробую частями проводить конверт, добавляя каждый элемент в общую модель и смотрю как всё выглядит в игре.

есть прогресс?
olegich
 
Аватара пользователя
Разработчик
 
Сообщения: 161
Зарегистрирован:
Откуда: Дзержинск,ниж. обл.
Баллы репутации: 74

Re: Свои изобретения в Railworks

Сообщение Cross » 14 ноя 2016, 18:39

olegich
Да, есть прогресс. Затык был из-за двух объектов с одинаковым именем. Перелопатил почти всё, а обнаружил случайно
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение olegich » 14 ноя 2016, 18:46

бывает :) порой все разберешь до маленьких частей что бы найти ошибку
olegich
 
Аватара пользователя
Разработчик
 
Сообщения: 161
Зарегистрирован:
Откуда: Дзержинск,ниж. обл.
Баллы репутации: 74

Re: Свои изобретения в Railworks

Сообщение Cross » 14 ноя 2016, 19:09

сейчас другие сложности - модель стекла не хочет настраиваться. Если смотреть максимально вправо, стекло появляется, но с жуткими артефактами как на HST от Oovee, все помнят этот глюк. Материал настроен вроде правильно, как в оригинальной модели, про Mip уровни знаю мало, поэтому только экспериментами удаётся чего-то добиться
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение olegich » 14 ноя 2016, 19:25

Cross писал(а):сейчас другие сложности - модель стекла не хочет настраиваться. Если смотреть максимально вправо, стекло появляется, но с жуткими артефактами как на HST от Oovee, все помнят этот глюк. Материал настроен вроде правильно, как в оригинальной модели, про Mip уровни знаю мало, поэтому только экспериментами удаётся чего-то добиться

стекло на окнах или приборах?с MIPами тоже не занимался,не делал и со стеклом не было проблем
olegich
 
Аватара пользователя
Разработчик
 
Сообщения: 161
Зарегистрирован:
Откуда: Дзержинск,ниж. обл.
Баллы репутации: 74

Re: Свои изобретения в Railworks

Сообщение Cross » 14 ноя 2016, 19:31

olegich
окна делаю. Сейчас при виде спереди всё вот так:
Изображение
Когда смотришь вправо, то так:
Изображение
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение olegich » 14 ноя 2016, 19:36

какой шейдер и текстура с альфой?и если сделать скрин кабины со стороны окна то можно использовать как текстуру для окна,уменьшив прозрачность и получить псевдо отражение кабины при взгляде в окно
olegich
 
Аватара пользователя
Разработчик
 
Сообщения: 161
Зарегистрирован:
Откуда: Дзержинск,ниж. обл.
Баллы репутации: 74

Re: Свои изобретения в Railworks

Сообщение Cross » 14 ноя 2016, 19:41

Специальный для этого шейдер TrainGlassWeatherEffects.fx использую.
wiperdiff_nm - диффузная текстура с альфой 32 битная.
wipernorm_nm - карта нормалей с альфой 32 битная.
wiperanim_nm - карта для того, чтобы убирать капли со стекла во время работы стеклоочистителей. С альфой 32 битная.
Материал настроен как в оригинале.

--- добавлено позже в 14 ноя 2016, 19:42 ---

olegich
каким бы образом сделать псевдоотражение ?
*Train Simulator 2018*
Изображение
Cross
 
Аватара пользователя
Разработчик
 
Сообщения: 6332
Зарегистрирован:
Откуда: Москва
Баллы репутации: 496

Re: Свои изобретения в Railworks

Сообщение le Sandro » 14 ноя 2016, 19:52

Cross, для начала попробуй настроить TrainGlass. Где-то был хороший ман по настройке этого шейдера. Потом уже подключишь погодные эффекты.
Мы с PNZ.
le Sandro
 
Разработчик
 
Сообщения: 607
Зарегистрирован:
Откуда: Пенза
Баллы репутации: 39
Пред.След.

Вернуться в Внутриигровой редактор и разработка дополнений

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2