Приветствую Вас Гость!
Пятница, 03.05.2024, 16:37
Главная | Регистрация | Вход | RSS

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
FS Форум » GIANTS Editor » GIANTS Editor Model » Оживляем модель прицепа. (Мод "с нуля")
Оживляем модель прицепа.
BeckarДата: Пятница, 28.01.2011, 23:11 | Сообщение # 1
Группа: Администраторы
Сообщений: 692
Статус: Offline
В этой теме я расскажу как правильно конвертировать в игру самостоятельно изготовленную модель прицепа. Речь пойдет о модели созданной в программе Майя, но возможно статья окажется полезной и для тех, кто моделирует в максе.

Итак, для примера я изготовил простенькую модель прицепа состоящую из рамы, анимированного кузова и трех пар колес на двух тележках.
Для того, чтобы меньше мучаться в GIANTS Editor основную группировку объектов сделал в Майе.
На скриншоте видна структура объектов в outhliner.

Тележки с колесами выполнены отдельными припарентенными группами, так как, по задумке они должны поворачиваться на определенный угол.
Все нужные точки (вернее их название и расположение) берем с любого стандартного прицепа. Сами точки изготавливаем в Майе - это просто пустая группа с названиями attacherJoint и т.д. Названия могут быть и другими, главное, при правке XML, правильно указать их индексы. Из простого примитива "куб" добавляем объект exactFillRootNode, он нам пригодится.

Важно! Модель должна быть обязательно правильно сориентирована по осям! То есть, при установке окна перспективы "по умолчанию", дышло прицепа должно быть обращено к вам. Или влево в окне side.

Важно! перед тем как что-либо анимировать, обязательно нужно заморозить трансформации в Майе и заморозить пивоты в GE-конвертере. Если этого не сделать - анимация в GE развалится. Остальные объекты можно заморозить позже.

Когда все готово, открываем конвертер и пользуясь предпросмотром проверяем результаты своей работы.
О некоторых особенностях конвертирования можно прочитать здесь: http://fs-modsmaster.clan.su/forum/11-34-1

Если все на месте, анимация работает и пивоты не сбиты - конвертируем файл в i3d. Сразу создаем папку, в которую сохраняем файл и копируем в неё (с любого стандартного прицепа) файлxml, а также файлы: emissiveBillboardShader.xml, particleSystemShader.xml, trailerDischargeParticleSystem.i3d, threshingParticle.dds, trailerDischargeParticle.dds. Их можно найти в папке игры C:\Program Files\Farming Simulator 2011\data\vehicles\particleSystems.
Также скопируем нашу папку файлы store.png и modDesc.xml из папки SDK. Все это также можно взять из архива, который вы найдете в конце статьи.

Когда все готово, открываем i3d файл модели и продолжаем выстраивать иерархию объектов, вырезая и вставляя их в нужное место в Scenegraph.

Сперва выделяем "тело" модели, ставим галочки в visibility и nonRenderable, в Rigit body устанавливаем значение dinamic и нажимаем кнопочку под полем collision mask и в открывшемся окне (нажав на clear) сбрасываем значения и выставляем 1, 8, 13, 23, жмем ОК. Теперь закидываем в "тело" все остальные детали, кроме тележек. Тележки останутся отдельными компонентами. На всех деталях снимаем галочку Rigit body.
Исключения: "тело" и тележки, у них должно быть dinamic и exactFillRootNode, у него kinematic. На тележках значения коллизий не меняем, а для exactFillRootNode ставим 30.

Должно получиться примерно так:

 
BeckarДата: Суббота, 29.01.2011, 01:09 | Сообщение # 2
Группа: Администраторы
Сообщений: 692
Статус: Offline
С 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 по горизонтали. Получилась кукла-марионетка. biggrin

Ну, вот и все! Остается поправить название XML в modDesc и "разрисовать" store.
Когда все готово, запаковываем файлы в архив и закидываем в игру.

Не все может получиться сразу, скорее всего, придется что-то исправлять, наверное, даже не раз, так что - не отчаивайтесь, если что-то не получилось.

Особо любознательные могут скачать архив и посмотреть поближе на все, что я написал. В архиве - ZIP-архив с учебным модом и модель в формате ma.

 
BeckarДата: Суббота, 29.01.2011, 01:24 | Сообщение # 3
Группа: Администраторы
Сообщений: 692
Статус: Offline
Короткое итоговое видео:

 
Northern_StrikeДата: Понедельник, 31.01.2011, 09:32 | Сообщение # 4
Группа: Администраторы
Сообщений: 524
Репутация: 39
Статус: Offline
А можно ли без анимации разгрузки, удалить строчку, отвечающею за проигрывание анимации?
 
BeckarДата: Понедельник, 31.01.2011, 09:39 | Сообщение # 5
Группа: Администраторы
Сообщений: 692
Статус: Offline
Northern_Strike, почему нет? Удалишь строчку, всего лишь не будет анимации, остальное будет работать.
 
MACДата: Пятница, 04.02.2011, 00:02 | Сообщение # 6
Группа: Мастера
Сообщений: 61
Репутация: 1
Статус: Offline
Beckar, тут где то встретил кто то хотел по данному принципу тележки с колесами "неваляшки" сделать амортизирующий передний мост трактора (что бы переваливался на кочках ) так вот с трактором не все так просто, в прицепах это прокатывает легко, а вот у трактора получается не совсем хорошо, дело в том что вес или сильно большой передней оси - из за чего основа трактора (часть без передней оси) кренится на поворотах или вовсе переворачивает передняя ось весь трактор, или же наоборот передняя ось сильно легкая и при повороте одно колесо задирает, и гласное вес нельзя распределить нормально, незнаю я уже все что можно перекопал и без вариантов! Не как не могу добиться плавности , и правильной роботы передней оси! Beckar, может что то посоветуешь, буду признателен тебе ! Спасибо за внимание!
 
BeckarДата: Пятница, 04.02.2011, 00:56 | Сообщение # 7
Группа: Администраторы
Сообщений: 692
Статус: Offline
MAC, да, с подбором веса приходится повозиться, но деталь с колесами должна быть тяжелее основной модели, да и сами колеса тоже.
 
Northern_StrikeДата: Пятница, 04.02.2011, 08:33 | Сообщение # 8
Группа: Администраторы
Сообщений: 524
Репутация: 39
Статус: Offline
MAC, Beckar, есть один скрипт для трактора, которой оживляет переднюю ось. Я им в скором времени займусь.
 
MACДата: Пятница, 04.02.2011, 11:54 | Сообщение # 9
Группа: Мастера
Сообщений: 61
Репутация: 1
Статус: Offline
Northern_Strike, отдельный скрипт?
 
Northern_StrikeДата: Пятница, 04.02.2011, 11:57 | Сообщение # 10
Группа: Администраторы
Сообщений: 524
Репутация: 39
Статус: Offline
MAC, да он на тракторе идет, скрипт типа какой на МТЗ стоит (все открывается куча дополнительного света)
Думаю от чего передний мост отрезать..МТЗ все огромные, после отрезания общий вес 35мб...надо по легче что то найти.
 
MACДата: Пятница, 04.02.2011, 12:04 | Сообщение # 11
Группа: Мастера
Сообщений: 61
Репутация: 1
Статус: Offline
Northern_Strike, так а я по твоему как делал? Так и делаю! Но если ты таким способом хочешь как задняя телега у прицепа, то о каком скрипте ты тогда говоришь? Ним там и не пахнет, так пару строк в XML добавить и все, а с весом проблема остается !
 
Northern_StrikeДата: Пятница, 04.02.2011, 20:16 | Сообщение # 12
Группа: Администраторы
Сообщений: 524
Репутация: 39
Статус: Offline
MAC, а что с весом случилось?
 
BeckarДата: Пятница, 04.02.2011, 20:38 | Сообщение # 13
Группа: Администраторы
Сообщений: 692
Статус: Offline
Northern_Strike, проблема в правильной развесовке различных компонентов модели. Трудно подобрать нужный вес для каждого.
 
Northern_StrikeДата: Пятница, 04.02.2011, 21:01 | Сообщение # 14
Группа: Администраторы
Сообщений: 524
Репутация: 39
Статус: Offline
Beckar, вот только так у меня получается...плохо конечно...

Ладно не буду флудить в этой теме.
 
MACДата: Понедельник, 07.02.2011, 22:06 | Сообщение # 15
Группа: Мастера
Сообщений: 61
Репутация: 1
Статус: Offline
Beckar, Northern_Strike, может создадите тему по данному вопросу! думаю многим будет интересно узнать как правильно настроить...вот и будем в той теме обсуждать и тестировать. Может к хорошему результату и придем...сори за офф
 
FS Форум » GIANTS Editor » GIANTS Editor Model » Оживляем модель прицепа. (Мод "с нуля")
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Для добавления необходима авторизация