С GIANTS Editor почти закончили. Остается выставить вес для прицепа и тележек.
Делаем это в поле Density: для прицепа поменьше (я поставил 0,5) для тележек побольше (2 для передней, 3 для задней).
Да! Забыл объяснить назначение объекта exactFillRootNode - он позволит загружать зерно по всей площади прицепа. Теперь открываем XML и начинаем считать индексы, выкидывать лишнее и добавлять недостающее.
Начнем сверху и укажем имя i3d файла < filename>. У меня это TestPricep.i3d.
Переходим к колесам, считаем и вписываем индексы. Так как, все колеса у нас на отдельных от прицепа тележках, индексы выглядят так: repr="1>0", где первая цифра - порядковый номер компонента (тележка с дышлом - 1, тело прицепа - о), а вторая - индекс колеса в этом компоненте. Обратите внимание: в отличие от нулевого компонента, где цифры разделяются чертой |, все последующие отделяет от второй цифры треугольная скобка >.
Так же придется поменять радиус radius="0.78" и массу колеса mass="0.1". Радиус уменьшить (опытным путем), массу увеличить.
Рулевую ось steeringAxleAngleScale трогать не будем, а абзац отвечающий за свет
< lightscount="1">
< light1 index="12" />
< /lights>
< lightCoronas>
< lightCorona index="16" />
< /lightCoronas>
удалим - света у нас нет.
Перейдем к куче зерна в прицепе fillPlanes. Так как прицеп у нас учебный, я оставил только пшеницу и удалил все остальное.
Получилось так:
Code
<fillPlanes>
<fillPlane type="wheat">
<node index="5|1">
<key time="0" y="0.270" scale="0.91 0.015 1"/>
<key time="0.15" y="0.320" scale="0.91 0.015 1"/>
<key time="0.2" y="0.420" scale="1 0.12 1"/>
<key time="0.5" y="0.500" scale="1 0.5 1"/>
<key time="1" y="0.565" scale="1 1 1"/>
</node>
</fillPlane>
</fillPlanes>
Здесь меняем высоту кучи по оси y. Попросту, в открытом в GE i3d-файле подвигайте вверх-вниз точку fillAutoAimTargetNode и глядя в Attributes найдите нижнее и верхнее значение. Нижнее впишите в первую строку, верхнее в последнюю. Середину заполните произвольно, более-менее равномерными интервалами.
В capacity вписываем желаемую грузоподъемность и идем дальше.
В cuttingAreas вписываем индексы точек attacherJoint, tipReferencePoint и fillAutoAimTargetNode.
Строки
< hydraulicSound file="data/vehicles/steerable/deutz/hydraulicUp.wav" pitchOffset="0.9" volume="1.0" />
< fillSound file="data/maps/sounds/siloFillSound.wav" pitchOffset="1.0" volume="1.5" />
указывающие пути к звуковым файлам оставляем без изменений.
В attacherJoint (точка зацепления к тягачу), здесь указываем точку расположенную на дышле, trailerAttacherJoints (точка зацепления прицепа) и tipReferencePoint (наконечник опорной точки?) вписываем индексы одноименных точек.
Строку tipAnimation не трогаем, название клипа совпадает с нашим.
В абзаце dischargeParticleSystems отвечающем за пыль при разгрузке оставляем одну строку с пшеницей и выправляем путь к файлу частиц. Этот файл мы скопировали в папку с нашим будущим модом, поэтому в пути должно остаться только его имя: trailerDischargeParticleSystem.i3d.
В абзаце:
< fillRootNode index="0>" />
< exactFillRootNode index="3" />
< fillAutoAimTargetNode index="2" />
< fillMassNode index="0>" />
вписываем индексы одноименных узлов exactFillRootNode index и fillAutoAimTargetNode index
В < fillTypes fruitTypes="wheat rape maize barley chaff"/> оставляем только пшеницу.
movingTools и animations удаляем полностью - они относятся к подпорке дышла, которой у нас нет.
Остается самое интересное - components. Этот абзац описывает количество компонентов модели и их поведение.
У нас таких компонентов 3 - тело прицепа с кузовом, рамой и пшеничной кучей и две тележки с колесами, поэтому в < components count="2"> ставим 3.
К строкам
< component1 centerOfMass="0 0 -0.7" solverIterationCount="4" />
< component2 solverIterationCount="4" />
добавляем еще одну < component2 solverIterationCount="4" />
И ниже еще одну строку jointcomponent1="0"...
Эти две строки joint указывают на точки componentJoint в i3d-файле вокруг которых будут вращаться наши тележки с колесами. Здесь нужно правильно вписать индексы, в нашем случае это index="1>2" и index="2>4". Остается установить значения rotLimit (углы на которые смогут поворачиваться компоненты-тележки) Я поставил для тележки с дышлом "5 90 0" поворот на 90 град. по горизонтали и 5 по вертикали. Задняя, двухмостовая, поворачивается на 15 по вертикали и 10 по горизонтали. Получилась кукла-марионетка.
Ну, вот и все! Остается поправить название XML в modDesc и "разрисовать" store.
Когда все готово, запаковываем файлы в архив и закидываем в игру.
Не все может получиться сразу, скорее всего, придется что-то исправлять, наверное, даже не раз, так что - не отчаивайтесь, если что-то не получилось.
Особо любознательные могут скачать архив и посмотреть поближе на все, что я написал. В архиве - ZIP-архив с учебным модом и модель в формате ma.