Omich

Train-Fever Model Viewer

94 сообщения в этой теме

Пока не пробовал, но в целом вроде всё понятно. Меня смущают только вот эти строки:


rot = { 0, 0, 0 },     transl = { -0.5567, -0.0465, 0 }

 

Это ж надо будет угадывать, на сколько оно там повернулось и переместилось во время анимации... %))

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Апдейт.

Model Viewer 0.2.3 - исправлено открытие некоторых моделей (ранее прога падала с ошибкой);

Model Converter 0.1.1 - исправлено отражение текстурных координат по вертикали; исправлено вращение модели (для формата obj, и тут я заметил странную вещь: импортируемая с помощью open asset import library модель из разных форматов имеет различное вращение).

2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

О, сегодня апдейт опробую, спасибо. На счёт анимации, с ширмовыми дверьми в этом случае будет ОЧЕНЬ много гемора. :D Для них вообще в идеале надо бы скелетная анимация, хотя вполне можно обойтись и фреймами. Но вручную прописывать перемещения створок... D: Ну, если не выйдет это автоматизировать - выбора-то особо не будет, конечно.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Omich, кстати, если хочешь, можешь залить свои проги к нам в файловый архив же.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По поводу групп сглаживания: конвертер сглаживает только то, что отмечено группой сглаживания 1. Но при этом если на модели есть хоть одна плоскость, не отмеченная группой сглаживания, то в игре без сглаживания будет вся модель.

 

В целом с этим вполне можно мириться и работать, это просто для тех, кто ещё будет конвертить модельки. Но в идеале, конечно, хорошо бы что б TFMC обрабатывал группы сглаживания как нужно. :D

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Upd. Эксперименты показали, что, по крайней мере, при импорте obj с нормалями в любом случае происходит что-то неадекватное. Медитирую над проблемой.

 

0wNvTrY.jpg

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Экспериментальный (у меня нет времени толком его протестировать прямо сейчас, ухожу на учёбу) апдейт Model Converter 0.2 http://omich.pngamers.org/tfmc/0.2.zip

 

Небольшая заметка по форматам:

.obj (по крайней мере, экмпортируемый старым, но маленьким, быстрым и надёжным как чугуниевый утюг 3ds max 8 sp 1) - анимации не поддерживает;

.3ds - то ли тот же макс косячит данные, то ли assimp не может адекватно их прочитать, но получается какая-то шняга с анимацией;

.ase - вот с ним я смог нормально экспортировать анимацию с, приблизительно, следующими настройками:

naiFWAv.jpg

 

Наиболее возможные косяки:

1) оси поворота анимации не совпадающие с осями поворота модели;

2) скорость анимации, сильно отличающаяся от соответствующей в максе.

 

В файловый архив добавлю апдейт потом, когда пофиксю основные баги новой версии.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Omich, о, супер, поэкспериментирую сегодня, спасибо.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так-с, эксперименты показали следующие результаты.

 

Во-первых, у генерируемого .msh есть некоторые синтаксические ошибки:

 

1. После описания последнего фрейма не нужна запятая;

2. После описания rot = {} нужна запятая;

3. После описания time = нужна запятая.

 

Во-вторых, у анимации и правда нарушена ориентация (не обращайте внимания на расположение дверей :D):

 

post-1-0-15153900-1410610824_thumb.jpgpost-1-0-63129500-1410610829_thumb.jpgpost-1-0-42473500-1410610835_thumb.jpg

 

Вот это артефакт словился на первом скрине 0_о

 

 

В-третьих, новый TFMC требует, чтобы конвертируемый файл назывался anim_test.ase. :D Кроме того, ориентация кузова модели там тоже нарушена, поэтому кузов я конвертил через .obj. Да и двери тоже. Вообще было очень много гемора, в итоге двери у меня сконверчены из .ase и из .obj, в игру добавлены те, что были .obj, а скрипт анимации взят из .ase. Как-то так. %)

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то пошло не так (с)

Чиню.

 

Upd. http://omich.pngamers.org/tfmc/0.2.1.zip

Исправил задачу входного файла;

Исправил (вроде бы) ориентацию при импорте модели и анимации из 3ds, ase, obj. Для других форматов ничего не могу гарантировать;

Исправил синтаксические ошибки в генерируемом файле.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Апдейт TFMC 0.2.2.

 

Поддержка анимаций. Экспериментально. Я пока не могу гарантировать, что оно работает нормально. Вообще, сейчас оно скорее всего не будет работать.  :D  Однако помогут мне это доделать только тесты и баг-репорты;

Исправил некоторые возможные проблемы с определением ориентации из трёх основных форматов;

Исправил группы сглаживания (они не конвертились, если в модели была хоть одна битая нормаль).

 

Можно взять с моего сайта или из местного файлового архива (после апрува админом, я так понимаю):

http://omich.pngamers.org/tfmc/0.2.2.zip

http://transport-games.ru/index.php/files/file/424-model-converter/

 

Кстати, я так понял, немцы без спроса включили мои программы в свой тул-пак, приделали GUI. С их сайта скрин:

jSCwZx1l.jpg

Не то, чтобы я был против, но как-то нехорошо получилось. :D

GUI-версия своих программ у меня и так в планах стоит.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, я так понял, немцы без спроса включили мои программы в свой тул-пак, приделали GUI. С их сайта скрин:

Нутк раз они пользуются нашими инструментами для конвертации моделей, значит мы можем как угодно использовать их модели. :D

 

Анимацию сегодня потесчу. Надо ещё кой с чем разобраться.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так, для анимации поворачивающихся дверей критически важно, чтобы створка находилась в координатах 0, 0, 0. Тогда в скрипте анимация прописывается почти правильно (см. ниже), но расположение двери нужно указывать в .mdl модели.

 

Ошибка в конвертере: для правильного поворота двери в строке rot угол должен указываться в первой координате:



rot = { -60.00014, 0, 0 },
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В остальном всё отлично, вроде. Подправил предыдущий пост.

 

post-1-0-97803400-1411205647_thumb.jpgpost-1-0-44206200-1411205653_thumb.jpgpost-1-0-43042600-1411205658_thumb.jpg

3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даешь вариант с остеклением как в игре!

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нуэм, делать перекраски никто не запрещает жи.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

TrainFever 2014-09-20 12-25-46-47.jpg

А пол в нем перекрасить можно? А то вход в какую то черную дыру получается :D

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Текстуры для CiM делались же, для внутренних нет места. Может, потом как-нибудь перетяну. Пока побудет так, пассажиры не жалуются. :D

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так-с. Я столкнулся с абсолютно и крайне алогичной проблемой, которая уже почти поставила крест на этой модели, потому что З[вырезано]О.

 

Кто будет здесь - проверьте работоспособность у себя.

 

 

Вкратце, с 4 дверными створками из 5 модель работает отлично, с 5 же створками она работает _иногда_. Вылет происходит после назначения автобуса на линию. Гляньте, как у вас с этим. Может, у меня просто забагалось? Весь сраный день танцую над этим г-ном.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На личном опыте, вот самые распространённые ошибки, хоть мини-FAQ составлять начинай:

  1. в mdl файле число чисел через запятую (как правило, нулей) в matConfigs не соответствует числу мешей/групп - не знаю точно, за что они вообще отвечают, но игра вылетает через раз при выходе транспорта на линию;
  2. в mdl файле число вложенных блоков (пусть даже пустых, "{ }") в metadata.%тип_транспорта%Vehicle.configs не соответствует числу лодов (блоков в lods.children) - игра вылетает при выходе транспорта на линию;
  3. в mdl файле синтаксическая ошибка (не хватает скобки или т.п.) - игра вылетает в процессе запуска новой игры или загрузки сейва;
  4. ошибки в именах файлов в конфигах - игра вылетает в момент покупки транспортного средства;
  5. в msh файле не задан subMeshes.materials - игра вылетает при выходе транспорта на линию, ругнувшись про материалы.

Модель не смотрел пока, но обрати внимание на первый пункт. Вполне возможно, что дверь ты добавил, а ещё один нолик - нет.

 

Я когда закончу ВЛ10у шлифовать - вернусь к допиливанию программ. Постараюсь реализовать анализ конфигов на подобные ошибки и всё такое.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в mdl файле число чисел через запятую (как правило, нулей) в matConfigs не соответствует числу мешей/групп - не знаю точно, за что они вообще отвечают, но игра вылетает через раз при выходе транспорта на линию;

Ах ты ж, какая хитрая хрень. Вполне возможно, сейчас попробую, спасибо.

 

Касательно синтаксических ошибок в файлах - обычно в этом случае после падения появляется окошко с описанием ошибки. То же самое, например, при неправильном пути к какой-нибудь части модели (двери той же).

 

upd: да, судя по всему, проблема была именно в нулях в .mdl. Спасибо огромное. Сраные нули отъели нехило нервов. :D

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Train Fever Model Viewer Update 0.3

pSrbo78.jpg

Я вам крупный экспериментальный апдейт принёс.

  • GUI-версия;
  • Вместо распарсивания значений из конфигов - теперь пристроен полноценный интерпретатор луа. Должно открывать любые конфиги аналогично игре, даже если в них есть вычислимые поля и т.п.;
  • Открывает файлы mdl, grp, msh, пытается найти выше папку res и подгрузить все зависимости;
  • Можно просмотреть сетку модели, а также сетку поверх отрендеренной модели, включить/выключить освещение;
  • Открыв mdl можно просматривать лоды модели.

Вращение в окне просмотра осталось на перетягивание левой кнопкой мыши, а вот масштаб я перенёс с колёсика на правую, ибо из-за GUI оно стало не очень хорошо работать.

 

Модель можно открыть и указав её первым параметром командной строки - во имя обратной совместимости.

 

Скачать: http://omich.pngamers.org/tfmv/0.3.zip

4

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Train Fever Model Viewer Update 0.3.1

 

Сегодня я вам визуализацию анимаций принёс. Я уже видел много странностей в ориентацие координатных систем игры и т.п. (привет непонятным поворотам модели из старых версий Model Converter), но игровые анимации меня добили: игра хранит в KEYFRAME-анимацие в параметре rot углы вращения вокруг осей в порядке и виде: -Z, -Y, -X. Преобразование анимаций Model Converter-ом я соответствующим образом пофиксю чуть позже.

  • Поддерживаются только KEYFRAME-анимации.
  • С KEYFRAME_MATRIX-анимацией (она используется у стандартных моделей паровозов для шатунного механизма, причём генерируется скриптом) я пока не разобрался: если просто в лоб взять значения из матрицы, то получается трешь и угар; я пробовал по всякому менять оси и т.п., но ничего дельного не вышло.
  • Поддержка скелетной анимации (используется у людей, например) в обозримом будущем не планируется.

Скачать можно, как обычно, с моего сайта: http://omich.pngamers.org/tfmv/0.3.1.zip

 

Принимаю фиче-реквесты и баг-репорты. :3

В местный файловый архив и т.д. добавлю, если не будет критических багрепортов, иначе пойду на очередную итерацию допиливания этой штуковины вилкой.

3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

игра хранит в KEYFRAME-анимацие в параметре rot углы вращения вокруг осей в порядке и виде: -Z, -Y, -X.

Да-да, поэтому при экспорте при помощи конвертера приходится вручную переносить координаты. :D

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу