Страница 1 из 3

Модернизация ПС...

СообщениеДобавлено: 28.11.2011, 14:21
BigDen
:cofe: господа кто знает где почитать о модернизации подвижного состава, свет там прикрутить как или машиниста подвинуть вид из кабины немного изменить ну и эффектов прикрутить....

Re: Модернизация ПС...

СообщениеДобавлено: 28.11.2011, 18:58
MJack
Как сделать источник света описано в этой статье.

Подвинуть машиниста можно изменив его координаты в блоке "ContainerComponent" в конфиге лока.
Вот кусок из конфига лока, где машинист прописан, как дочерний объект:
Код: Выделить всё
ContainerComponent>
            <cEntityContainerBlueprint>
               <Children>
                  <cEntityContainerBlueprint-sChild d:id="44294808">
                     <ChildName d:type="cDeltaString">Driver</ChildName>
                     <BlueprintID>
                        <iBlueprintLibrary-cAbsoluteBlueprintID>
                           <BlueprintSetID>
                              <iBlueprintLibrary-cBlueprintSetID>
                                 <Provider d:type="cDeltaString">Kuju</Provider>
                                 <Product d:type="cDeltaString">RailSimulator</Product>
                              </iBlueprintLibrary-cBlueprintSetID>
                           </BlueprintSetID>
                           <BlueprintID d:type="cDeltaString">Scenery\Characters\TrainDriver00_01.xml</BlueprintID>
                        </iBlueprintLibrary-cAbsoluteBlueprintID>
                     </BlueprintID>
                     <Matrix>
                        <cHcRMatrix4x4>
                           <Element>
                              <e d:type="sFloat32" d:alt_encoding="00000020FDF6EFBF" d:precision="string">-0.9989</e>
                              <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                              <e d:type="sFloat32" d:alt_encoding="000000603480A7BF" d:precision="string">-0.0459</e>
                              <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>
                              <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                              <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>
                              <e d:type="sFloat32" d:alt_encoding="000000603480A73F" d:precision="string">0.0459</e>
                              <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                              <e d:type="sFloat32" d:alt_encoding="00000020FDF6EFBF" d:precision="string">-0.9989</e>
                              <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                              <e d:type="sFloat32" d:alt_encoding="00000000BADAE43F" d:precision="string">0.6517</e>
                              <e d:type="sFloat32" d:alt_encoding="000000800DCF0040" d:precision="string">2.1011</e>
                              <e d:type="sFloat32" d:alt_encoding="000000009A082240" d:precision="string">9.0168</e>
                              <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                           </Element>
                        </cHcRMatrix4x4>
                     </Matrix>
                  </cEntityContainerBlueprint-sChild>
где:
0.6517 - коордната по оси Z
2.1011 - коордната по оси Y
9.0168 - коордната по оси X

Изменить вид из кабины, можно отредактировав конфиг камеры кабины.
1. Открываешь папку Railworks, ищешь файл serz.exe;
1а. Для удобства можешь скопировать serz.exe в другую пустую папку;
3. Ищешь нужный конфиг с настройками камеры.
Например: <путь к папке игры>\RailWorks\Assets\Kuju\RailSimulator\RailVehicles\Diesel\Class37\BR Blue\CabView\37 CabCam.bin
4. Делаешь резервную копию файла, который ты будешь редактировать. Например: 37 CabCam.bin;
5. Если одноименный .xml файл есть в папке, переходишь к пункту 6, если нету - выполняешь пункт 5а.
5а. Перетаскиваешь файл 37 CabCam.bin на значок программы serz.exe - файл сконвертируется из бинарного формата в XML и создастся в той же папке, где находится бинарный файл (например 37 CabCam.bin --> 37 CabCam.xml);
6. Редактируешь нужные параметры в XML файле. (cameraOffset - это смещение камеры (ее координаты), cameraDirection - направление камеры, первые два блока координат - кресло машиниста ,третий и четвертый - кресло помошника).
7. Перетаскиваешь файл XML на значок serz.exe - файл сконвертируется обратно в BIN;
8. Запускаешь игру и смотришь, что получилось.

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 01:42
BigDen
большое спасибо.... так ещё бы разобраться как эффекты прикручивать...

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 08:34
Nikk
Ну если прожектор к локу, то:
1) Идём в конфиг лока имеющего свет (в моём случае это class33.bin),ищем ссылку на дочерний xml прожектора и копируем этот блок:
Код: Выделить всё
<cEntityContainerBlueprint-sChild d:id="55134816">
<ChildName d:type="cDeltaString">Fwd_Headlight_01</ChildName>
<BlueprintID>
   <iBlueprintLibrary-cAbsoluteBlueprintID>
   <BlueprintSetID>
   <iBlueprintLibrary-cBlueprintSetID>
   <Provider d:type="cDeltaString">RSC</Provider>
   <Product d:type="cDeltaString">Class33Pack01</Product>
   </iBlueprintLibrary-cBlueprintSetID>
   </BlueprintSetID>
   <BlueprintID d:type="cDeltaString">RailVehicles\Diesel\Class33\CabView\lights\HeadLight.xml</BlueprintID>
   </iBlueprintLibrary-cAbsoluteBlueprintID>
   </BlueprintID>
   <Matrix>
   <cHcRMatrix4x4>
      <Element>
         <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
         <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>
         <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>
         <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
         <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>
         <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>
         <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
         <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>
         <e d:type="sFloat32" d:alt_encoding="000000E0EC81FE3F" d:precision="string">1.90672</e>
         <e d:type="sFloat32" d:alt_encoding="000000E01BDC1D40" d:precision="string">7.46495</e>
         <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
      </Element>
   </cHcRMatrix4x4>
</Matrix>
<ParentNodeName d:type="cDeltaString"></ParentNodeName>
</cEntityContainerBlueprint-sChild>

2) Идём в конфиг нужного нам лока (у меня старый class67), ищем блок Children, точнее конец этого блока. Перед строчкой </Children> вставляем скопированное
3) В блоке Element первые 12 строк отвечают за направленность прожектора, далее позиция: 13-вправо\влево, 14-высота, 15-расстояние от центра локомотива. В моём случае прожектор направлен горизонтально вперёд. Значения 13,14 и 15 подбираются в редакторе.
4) Теперь поднимаемся на 1 блок выше и смотрим d:id=xxxxx последнего оригинального child-а. Прибавляем к нему 3200 и результат пишем вместо нашего (55134816->xxxxx)
5) provider,product,blueprintID-месторасположение конфига источника света. В этом конфиге (как я понял) radius="дальность" прожектора, Phi=угол светового конуса ("ширина"), Theta=яркость?
6) Смотрим результат:
Изображение

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 11:51
pavelspb85
это хорошо тем,кто в этом хоть что-то шарит... у меня лично мозги поплыли..все нашел что надо,а вот как енто дело(скопированное вставить и сохранить)да еще потом обратно запихнуть...тут уж я дерево...
неее,не дерево,разобрался как...осталось проверить))

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 13:36
BigDen
Nikk писал(а):Ну если прожектор к локу, то:


большое спасибо...будем пробовать... :essen:

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 17:38
BigDen
Nikk писал(а):4) Теперь поднимаемся на 1 блок выше и смотрим d:id=xxxxx последнего оригинального child-а. Прибавляем к нему 3200 и результат пишем вместо нашего (55134816->xxxxx)

а почему именно 3200 откуда взято это значение...


и ещё про виды, подскажите по осям X Y Z какая за что отвечает в смысле верх-низ, лево-право, вперёд-назад...

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 18:09
Nikk
Код: Выделить всё
         </cEntityContainerBlueprint-sChild>
                  <cEntityContainerBlueprint-sChild d:id="83397008">
                     <ChildName d:type="cDeltaString">Cab Sound</ChildName>
                     <BlueprintID>
                        <iBlueprintLibrary-cAbsoluteBlueprintID>
                           <BlueprintSetID>
                              <iBlueprintLibrary-cBlueprintSetID>
                                 <Provider d:type="cDeltaString">RSC</Provider>
                                 <Product d:type="cDeltaString">Class67Pack01</Product>
                              </iBlueprintLibrary-cBlueprintSetID>
                           </BlueprintSetID>
                           <BlueprintID d:type="cDeltaString">Audio\RailVehicles\Diesel\Class67\Cab\Class 67 Cab Sound.xml</BlueprintID>
                        </iBlueprintLibrary-cAbsoluteBlueprintID>
                     </BlueprintID>
                     <Matrix>
                        <cHcRMatrix4x4>
                           <Element>
                              <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                              <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>
                              <e d:type="sFloat32" d:alt_encoding="0000000000000000"
 
тут ещё строчки

                           </Element>
                        </cHcRMatrix4x4>
                     </Matrix>
                  </cEntityContainerBlueprint-sChild>
                  <cEntityContainerBlueprint-sChild d:id="83400208">
                     <ChildName d:type="cDeltaString">Horn Sound</ChildName>
                     <BlueprintID>
                        <iBlueprintLibrary-cAbsoluteBlueprintID>
                           <BlueprintSetID>
                              <iBlueprintLibrary-cBlueprintSetID>
                                 <Provider d:type="cDeltaString">RSC</Provider>
                                 <Product d:type="cDeltaString">Class67Pack01</Product>
                              </iBlueprintLibrary-cBlueprintSetID>
                           </BlueprintSetID>
                           <BlueprintID d:type="cDeltaString">Audio\RailVehicles\Diesel\Class67\Cab\Class 67 Horn Sound.xml</BlueprintID>
                        </iBlueprintLibrary-cAbsoluteBlueprintID>
                     </BlueprintID>
                     <Matrix>
                        <cHcRMatrix4x4>
                           <Element>
                              <e d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</e>
                              <e d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</e>
                              <e d:type="sFloat32" d:alt_encoding="0000000000000000"

ну и так далее...   

83400208 минус 83397008=3200
Возможно эту разницу надо проверять индивидуально для каждого лока
А виды в смысле камера в кабине?
<cameraOffset>
<cRVector3>
<X d:type="sFloat32" d:alt_encoding="000000406210D8BF" d:precision="string">-0.376</X> = вправо-влево
<Y d:type="sFloat32" d:alt_encoding="000000C0CCCC0640" d:precision="string">2.85</Y> = вверх-вниз
<Z d:type="sFloat32" d:alt_encoding="000000A0703D1F40" d:precision="string">7.81</Z> = вперёд-назад
</cRVector3>
</cameraOffset>

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 18:32
BigDen
так понятно....
ещё вопрос
000000406210D8BF
а подобные данные в каком формате и чем их можно пере конвертировать в десятичные и обратно?

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 18:37
Nikk
000000406210D8BF = -0.367
конвертор изменит их сам, при повторном открытии измененного файла циферки-буковки будут уже другие
PS Только не считайте меня специалистом - все изучено методом тыка)))

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 18:37
MJack
BigDen - пожалуйста, рад помочь :)

Nikk писал(а):4) Теперь поднимаемся на 1 блок выше и смотрим d:id=xxxxx последнего оригинального child-а. Прибавляем к нему 3200 и результат пишем вместо нашего (55134816->xxxxx)

ИМХО все эти d:id=xxxxx для настройки конфига не важны, потому что используются в в бинарных файлов как идентификаторы, я например никогда не меняю их значения, если копирую кусок конфига с другого лока.

BigDen писал(а):и ещё про виды, подскажите по осям X Y Z какая за что отвечает в смысле верх-низ, лево-право, вперёд-назад...

X - вперед/назад (+/-), Y - вправо/влево (+/-), Z - вверх/вниз (+/-).

Прошу прощения, перепутал местами оси вот тут:
MJack писал(а):0.6517 - коордната по оси Y - вправо
2.1011 - коордната по оси Z - вверх
9.0168 - коордната по оси X - вперед

а в конфиге камеры кабины тут кординаты по другому
<X d:type="sFloat32">0.650000</X> - вправо
<Y d:type="sFloat32">2.750000</Y> - вверх
<Z d:type="sFloat32">7.300000</Z> - вперед

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 19:21
BigDen
MJack писал(а):ИМХО все эти d:id=xxxxx для настройки конфига не важны, потому что используются в в бинарных файлов как идентификаторы, я например никогда не меняю их значения, если копирую кусок конфига с другого лока.


3200 (в данном случае) это по идее сумма данных блока и её нужно прибавить к сумме данных обшей записанной в предыдущим блоке и уже вот эту цифру записать в данном блоке....но если конвертер сам переводит в десятичные и обратно то правильную сумму данных он посчитает сам спокойно...

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 19:31
sharsh
Эти огромные цифры - 64 битный код. Serz сам переконверчивает десятичные в этот код, как сказал Nikk.

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 19:58
BigDen
то есть получается меняя привязку в соответствующим блоке я могу поменять дым, пыль,свет....а добавляя соответствующий блок соответственно добавить какой то эффект....

Re: Модернизация ПС...

СообщениеДобавлено: 29.11.2011, 21:01
Nikk
BigDen писал(а):в соответствующим блоке я могу поменять дым, пыль,свет...

...фиксированные\нефиксированные позиции контроллера, их кол-во, работу тормозного крана (автоперекрыша\"наша система"), чувствительность клавиш и мыши, звук стука колес...