RAILWORKS сообщество


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

Маршрутам нужна трава, где взять траву?

Игровые модификации (улучшения), патчи, звуковые пакеты, локализации, перекраски подвижного состава и всё остальное для дополнений и в виде дополнений к Train Simulator 2017.

Маршрутам нужна трава, где взять траву?

Сообщение lesha-nsk » 29 сен 2016, 17:10

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


Как можно выйти из ситуации?, есть ли такая же травка, только чтобы была по размерам площади чуть больше? И если есть, где ее можно взять?, Или может быть есть секрет, как в маршруте всю ее натыканую выделить и скопировать кучей рядом на пустую землю?
lesha-nsk
 
Пользователь
Пользователь
 
Сообщения: 17
Зарегистрирован:
Откуда: Новосибирск
Баллы репутации: 4

Маршрутам нужна трава, где взять траву?

Сообщение Витя » 29 сен 2016, 17:32

Есть специальный пусто-квадрат (подзабыл как называется), который может быть заполнен указанными объектами, и по моему с возможностью их концентрации. Объекты при этом будут повторять рельеф местности. А вдоль полотна имхо, лучше удлинённая пачка одним объектом из такой же травы, но это либо - делать самому, либо - запрашивать тюнинг у разраба.
Витя
 
Аватара пользователя
Профессор
Профессор
 
Сообщения: 1630
Зарегистрирован:
Откуда: Литва
Баллы репутации: 112

Маршрутам нужна трава, где взять траву?

Сообщение lesha-nsk » 29 сен 2016, 18:03

Я прям раскусил чего не хватает, стоило добавить плотную траву, все маршрут сразу на уровень по качеству и графики поднялся. :) А то ровный пол с рисованной травой уже в прошлом, почти во всех играх давно используется реальная трава на земле.
lesha-nsk
 
Пользователь
Пользователь
 
Сообщения: 17
Зарегистрирован:
Откуда: Новосибирск
Баллы репутации: 4

Маршрутам нужна трава, где взять траву?

Сообщение Moss® » 29 сен 2016, 19:01

Тебе осталось раскусить движок Куджу и то, как он твою красоту обрабатытавать будет. Fps никто не отменял.
Пусто-квадрат это ассет-блок, но лучше использовать его новую реинкарнацию
Moss®
 
Аватара пользователя
Профессор
Профессор
 
Сообщения: 1726
Зарегистрирован:
Баллы репутации: 270

Маршрутам нужна трава, где взять траву?

Сообщение lesha-nsk » 29 сен 2016, 19:13

Moss® писал(а):Тебе осталось раскусить движок Куджу и то, как он твою красоту обрабатытавать будет. Fps никто не отменял.
Пусто-квадрат это ассет-блок, но лучше использовать его новую реинкарнацию

Так если по таким мини кусочкам травинок делать, а этих кусочков тысячи, то я думаю фпс будет падать. Нужно чтобы трава была большой площадью одним обьектом.
lesha-nsk
 
Пользователь
Пользователь
 
Сообщения: 17
Зарегистрирован:
Откуда: Новосибирск
Баллы репутации: 4

Маршрутам нужна трава, где взять траву?

Сообщение Moss® » 29 сен 2016, 19:23

Используй Asset Block (Irregular)
Больше 10000 на блок не ставь
В блоке есть выбор двух видов наполнителя
Блоки можно накладывать один поверх другого
Блоки копируются

--- добавлено позже в 29 сен 2016, 20:28 ---

Побежал сажать?
Даже спасибо не сказал, ... эх, молодежь :)
Moss®
 
Аватара пользователя
Профессор
Профессор
 
Сообщения: 1726
Зарегистрирован:
Баллы репутации: 270

Маршрутам нужна трава, где взять траву?

Сообщение lesha-nsk » 29 сен 2016, 19:28

Moss® писал(а):Используй Asset Block (Irregular)
Больше 10000 на блок не ставь
В блоке есть выбор двух видов наполнителя
Блоки можно накладывать один поверх другого
Блоки копируются


Что за Asset Block? Это там где показывается количество обьектов на одном квадрате?
Чесно говоря я вообще не понял о чем речь. Если есть возможность, обьясните пожалуйста. ?

--- добавлено позже в 29 сен 2016, 19:29 ---

Moss® писал(а):Используй Asset Block (Irregular)
Побежал сажать?
Даже спасибо не сказал, ... эх, молодежь :)


Нет. Я не понял как и чего там надо копировать((.
lesha-nsk
 
Пользователь
Пользователь
 
Сообщения: 17
Зарегистрирован:
Откуда: Новосибирск
Баллы репутации: 4

Маршрутам нужна трава, где взять траву?

Сообщение Moss® » 29 сен 2016, 19:32

У тебя в той же группе где деревья, есть (должны быть):
Asset Block - квадрат с желтыми ребрами и углами. Его можно расширять. Двойной клик по нему и будут свойства. В них указываешь наполнитель (травку)
Asset Block (Irregular) - Синие пешки - более продвинутая модель. обтыкиваешь ими область, замыкаешь. Двойной клик по области и будут свойства. В них указываешь наполнитель (травку)

--- добавлено позже в 29 сен 2016, 20:35 ---

И те и те можно копировать, менять в них наполнитель и накладывать друг на друга, так получится, травка + одуванчики + козьи какашки
Moss®
 
Аватара пользователя
Профессор
Профессор
 
Сообщения: 1726
Зарегистрирован:
Баллы репутации: 270

Маршрутам нужна трава, где взять траву?

Сообщение lesha-nsk » 29 сен 2016, 20:00

Спасибо. Вроде разобрался.
Отчет моего обучения. :good:



А то эта рисованная земля уже глаз мазолит. Помню ее еще с времен мстс, Но вот кстати в мстс-е точно помню, такая трава отдельным обьектом фпс садила сильно.


Moss® писал(а): + козьи какашки

Тыщами)).
lesha-nsk
 
Пользователь
Пользователь
 
Сообщения: 17
Зарегистрирован:
Откуда: Новосибирск
Баллы репутации: 4

Маршрутам нужна трава, где взять траву?

Сообщение Moss® » 29 сен 2016, 20:20

Молодец, все верно. Области можно очерчивать более масштабные, не такие маленькие и не обязательно прямоугольные. Но и по квадратному километру тоже не стоит. В игре заметна их подгрузка.
Moss®
 
Аватара пользователя
Профессор
Профессор
 
Сообщения: 1726
Зарегистрирован:
Баллы репутации: 270

Маршрутам нужна трава, где взять траву?

Сообщение lesha-nsk » 29 сен 2016, 20:46

Moss® писал(а):Молодец, все верно. Области можно очерчивать более масштабные, не такие маленькие и не обязательно прямоугольные. Но и по квадратному километру тоже не стоит. В игре заметна их подгрузка.

Маштабные наверное не стоит, трава разная везде должна все таки быть. Про области понял, можно хоть по узору делать. Штука удобная.
Вот я только понять не могу одного, травинок то всеравно в итоге на одном квадрате получается, наверное с миллион. Оно там как то качество занижает что ли?
lesha-nsk
 
Пользователь
Пользователь
 
Сообщения: 17
Зарегистрирован:
Откуда: Новосибирск
Баллы репутации: 4

Маршрутам нужна трава, где взять траву?

Сообщение Moss® » 29 сен 2016, 20:53

Точно не могу ответить. Механизм подгрузки в оперативку и выгрузки из неё вроде разный по сравнению с каждым отдельным объектом. Но не значительны отличия.
Большой плюс только в быстром освоении пустых пространств.
Я обычно на травке оставляю 10000, деревца по близости 3000 - 4000, деревца подальше 2000 - 3000
Засаживай красиво вблизи от ЖД путей, подальше (>50 метров) травка уже никому не нужна
Moss®
 
Аватара пользователя
Профессор
Профессор
 
Сообщения: 1726
Зарегистрирован:
Баллы репутации: 270

Маршрутам нужна трава, где взять траву?

Сообщение Света » 29 сен 2016, 21:13

Вот я только понять не могу одного, травинок то всеравно в итоге на одном квадрате получается, наверное с миллион. Оно там как то качество занижает что ли?

Каждый объект прописывается в тайловом конфиге в папке scenery. В этом конфиге для каждого объекта имеется вкладка (или блок), где содержится информация об этом объекте - имя, путь размещения файла геометрии, координаты размещения и другая техническая информация.
[+]
Код: Выделить всё
      <cDynamicEntity d:id="1645676384">
         <Component>
            <cPosOri d:id="763694240">
               <RFarMatrix>
                  <cFarMatrix d:id="763694264">
                     <Height d:type="sFloat32" d:alt_encoding="000000E026555A40" d:precision="string">105.33</Height>
                     <RXAxis d:numElements="4" d:elementType="sFloat32" d:precision="string">-0.3969247 0.0000000 -0.9178513 0.0000000</RXAxis>
                     <RYAxis d:numElements="4" d:elementType="sFloat32" d:precision="string">0.0000000 1.0000001 0.0000000 0.0000000</RYAxis>
                     <RZAxis d:numElements="4" d:elementType="sFloat32" d:precision="string">0.9178512 0.0000000 -0.3969247 0.0000000</RZAxis>
                     <RFarPosition>
                        <cFarVector2 d:id="763694316">
                           <X>
                              <cFarCoordinate>
                                 <RouteCoordinate>
                                    <cRouteCoordinate>
                                       <Distance d:type="sInt32">-1</Distance>
                                    </cRouteCoordinate>
                                 </RouteCoordinate>
                                 <TileCoordinate>
                                    <cTileCoordinate>
                                       <Distance d:type="sFloat32" d:alt_encoding="000000808F068F40" d:precision="string">992.82</Distance>
                                    </cTileCoordinate>
                                 </TileCoordinate>
                              </cFarCoordinate>
                           </X>
                           <Z>
                              <cFarCoordinate>
                                 <RouteCoordinate>
                                    <cRouteCoordinate>
                                       <Distance d:type="sInt32">-1</Distance>
                                    </cRouteCoordinate>
                                 </RouteCoordinate>
                                 <TileCoordinate>
                                    <cTileCoordinate>
                                       <Distance d:type="sFloat32" d:alt_encoding="000000A03E358B40" d:precision="string">870.656</Distance>
                                    </cTileCoordinate>
                                 </TileCoordinate>
                              </cFarCoordinate>
                           </Z>
                        </cFarVector2>
                     </RFarPosition>
                  </cFarMatrix>
               </RFarMatrix>
            </cPosOri>
            <cSceneryRender d:id="1181949152">
               <DetailLevel d:type="sInt32">10</DetailLevel>
               <Global d:type="bool">0</Global>
               <Saved d:type="bool">1</Saved>
               <Palette0Index d:type="sUInt8">0</Palette0Index>
               <Palette1Index d:type="sUInt8">0</Palette1Index>
               <Palette2Index d:type="sUInt8">0</Palette2Index>
            </cSceneryRender>
            <cEntityContainer d:id="846924360">
               <StaticChildrenMatrix>
                  <e d:numElements="16" d:elementType="sFloat32" d:precision="string">1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000</e>
               </StaticChildrenMatrix>
            </cEntityContainer>
            <cCollisionComponent d:id="1649024736"/>
            <Network-cGantryComponent d:id="1649895512">
               <GUID>
                  <cGUID>
                     <UUID>
                        <e d:type="sUInt64">5495408148568605255</e>
                        <e d:type="sUInt64">18038435420273625018</e>
                     </UUID>
                     <DevString d:type="cDeltaString">5f380247-9c98-4c43-bac7-3b69716555fa</DevString>
                  </cGUID>
               </GUID>
            </Network-cGantryComponent>
         </Component>
         <BlueprintID>
            <iBlueprintLibrary-cAbsoluteBlueprintID>
               <BlueprintSetID>
                  <iBlueprintLibrary-cBlueprintSetID>
                     <Provider d:type="cDeltaString">radiomaster</Provider>
                     <Product d:type="cDeltaString">objekt</Product>
                  </iBlueprintLibrary-cBlueprintSetID>
               </BlueprintSetID>
               <BlueprintID d:type="cDeltaString">scenery\dc4_trainz\dc4_gp\dc4_fp2_1w_z _ni.xml</BlueprintID>
            </iBlueprintLibrary-cAbsoluteBlueprintID>
         </BlueprintID>
         <ReskinBlueprintID>
            <iBlueprintLibrary-cAbsoluteBlueprintID>
               <BlueprintSetID>
                  <iBlueprintLibrary-cBlueprintSetID>
                     <Provider d:type="cDeltaString"></Provider>
                     <Product d:type="cDeltaString"></Product>
                  </iBlueprintLibrary-cBlueprintSetID>
               </BlueprintSetID>
               <BlueprintID d:type="cDeltaString"></BlueprintID>
            </iBlueprintLibrary-cAbsoluteBlueprintID>
         </ReskinBlueprintID>
         <Name d:type="cDeltaString"></Name>
         <EntityID>
            <cGUID>
               <UUID>
                  <e d:type="sUInt64">5157284992692497012</e>
                  <e d:type="sUInt64">10365554237717896073</e>
               </UUID>
               <DevString d:type="cDeltaString">5ae3aa74-5b60-4792-895b-38ffa8d8d98f</DevString>
            </cGUID>
         </EntityID>
      </cDynamicEntity>

Когда происходит загрузка тайла, по этой информации производится поиск нужного файла в папке assets, его загрузка в оперативку и размещение этого файла в игровом мире. Это требует времени. Каждая копия этого файла требует примерно одинаковое время на загрузку, так как в конфиге все копии являются отдельными блоками и обрабатываются персонально. Именно из-за этого при въезде на новый тайл происходит подвисание игры.
В случае с ассет-блоком нет надобности в поиске и загрузке в оперативку копий одного и того же файла - достаточно один раз найти геометрию и текстуру, а потом только "набросать" новые координаты (ограниченные рамкой) для клонов. Благодаря этому можно высвободить некоторое компьютерное время.
Естественно, это моё ИМХО, так как я не знаю в деталях принципа работы ассет-блока. Но я не представляю себе другого варианта :no:
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Света
 
Аватара пользователя
Разработчик
 
Сообщения: 677
Зарегистрирован:
Баллы репутации: 167
За это сообщение пользователю Света сказали "спасибо":
Moss®, taurus1016

Маршрутам нужна трава, где взять траву?

Сообщение lesha-nsk » 29 сен 2016, 22:04

Спасибо что обьяснили.
Наверное в будущем нужно будет задуматься о покупке доп памяти, а то штож теперь поделать, настоящая трава требует жертв. :lol:
С блоками травы я заметил, что фпс почти не падает, стабильно держится.
lesha-nsk
 
Пользователь
Пользователь
 
Сообщения: 17
Зарегистрирован:
Откуда: Новосибирск
Баллы репутации: 4

Вернуться в Прочее

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

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