HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Моделирование (https://hlfx.ru/forum/forumdisplay.php?forumid=25)
-- Экспортёр .smd для Blender-а (https://hlfx.ru/forum/showthread.php?threadid=4871)
Отправлено nemyax 13-10-2016 в 13:23:
Экспортёр .smd для Blender-а
Сделал экспортёр исходников студиомодельных мешей и анимаций под Blender.
Файл io_scene_studiomodel_export-*.*.*.zip доступен здесь:
https://sourceforge.net/projects/blenderbitsbobs/files/
Справка по-русски
Скрипт умеет экспортировать:
- отдельные .smd-файлы исходников меша со скелетом;
- отдельные .smd-файлы исходников анимации;
- пачки .smd-файлов, включая меши и анимации (и при необходимости соответствующуу заготовку .qc-файла).
Экспортёр подогнан под определённый стиль работы в Blender-е. Впрочем, данный стиль вам не навязывается. Обратите внимание на следующее:
- при желании вы можете записать не все кости скелета, а указать только нужные;
- можно свободно пользоваться констрейнтами, драйверами и нелинейной анимацией, так как записывается только итоговое состояние анимации;
- во избежание неожиданностей рекомендуется иметь обнулённые трансформации на экспортируемых объектах: как на меше, так и на скелете.
Как устанавливать
Как и любое дополнение Blender-а:
- Откройте окно User Preferences и перейдите на вкладку Add-ons.
- Нажмите Install from File и укажите скачанный файл io_scene_studiomodel_export-*.*.*.zip или извлечённый оттуда io_scene_studiomodel_export.py.
- Включите дополнение Import-Export: SMD: Valve studiomodel source format.
- Чтобы сохранить изменения, нажмите Save User Settings.
Что сделать до экспорта
Часто требуется экспортировать не все кости скелета, а только их определённый набор. Чтобы указать, какие кости должны в этот набор войти, создайте группу костей, назовите её "smd" (регистр значения не имеет) и добавьте в неё нужные кости.
Если такая группа есть и она не пустая, экспортёр проигнорирует все кости вне её. В ином случае он попытается записать все кости.
Важно, чтобы экспортируемые кости образовывали единое иерархическое дерево. Иначе экспортёр выдаст ошибку, так как экспорт нескольких костей верхнего уровня в .smd невозможен. Если Blender запущен из командной строки, сообщение об ошибке продублируется в терминале.
Перед экспортом убедитесь, что кость верхнего уровня у вас всего одна и ни у одной из костей нет скрытого от экспортёра родителя (то есть родителя вне группы "smd").
Как пользоваться
Экспорт одиночного меша
- Выделите меш, который хотите экспортировать. Запишется только меш, выделенный последним. Если ему назначен скелет, то в экспорт войдут кости этого скелета. В ином случае будет записан скелет-заглушка из одной кости.
- Нажмите File | Export | Studiomodel Mesh Source в главном меню.
- Если экспорт предназначается для движка с поддержкой развесовки вершин (например, Source, XashNT или Volatile 3D), имеет смысл включить опцию Include vertex weights.
- Укажите путь к файлу и завершите экспорт.
Экспорт одиночной анимации
Диапазон кадров для экспортируемых одиночных анимаций берётся из текущих настроек диапазона проигрывания.
- Выделите меш, который хотите экспортировать. Запишется только анимация меша, выделенного последним. Если ему назначен скелет, то в экспорт войдут кости этого скелета. В ином случае будет записан файл-заглушка с одним кадром для одной кости.
- Нажмите File | Export | Studiomodel Animation Source в главном меню.
- Укажите путь к файлу и завершите экспорт.
Пакетный экспорт меша и анимаций
Пакетный экспорт пользуется метками таймлайна для разграничения анимаций. По совпадающим парам меток определяются последовательности кадров и назначаются имена анимаций. Чтобы обозначить нужные кадры для экспорта, поставьте в начальном кадре последовательности метку с именем, заканчивающимся на "_start", а в последнем её кадре — метку с именем, заканчивающимся на "_end". Например, цикл ходьбы можно обозначить метками "walk_start" и "walk_end". Если у вас в сцене несколько персонажей, рекомендуется именовать метки для них с соответствующими префиксами наподобие "boomer_attack_start" и "boomer_attack_end". Тогда вы сможете отфильтровать ненужные анимации, используя параметр экспортёра Marker filter (прописав в нём "boomer").
Примечания:
- Учтите, что уникальность имён меток таймлайна не гарантируется. Старайтесь не допускать совпадающих имён, чтобы границы последовательностей определялись правильно.
- Если никаких совпадений по меткам экспортёр не найдёт, то запишет текущий диапазон проигрывания в файл с именем idle.smd.
- Выделите меш, который хотите экспортировать. Запишется только меш, выделенный последним. Если ему назначен скелет, то в экспорт войдут кости этого скелета. В ином случае будет записан скелет-заглушка из одной кости.
- Нажмите File | Export | Studiomodel source files (batch export) в главном меню.
- Если нужно отфильтровать анимации по префиксу имён меток, укажите его в параметре Marker filter.
- Если экспорт предназначается для движка с поддержкой развесовки вершин (например, Source, XashNT или Volatile 3D), имеет смысл включить опцию Include vertex weights.
- Если требуется автоматически созданная заготовка файла .qc со списком обнаруженных анимаций, включите опцию Write .qc stub.
- Укажите путь к файлу меша. Файлы анимаций получат имена, заданные метками таймлайна. Файл .qc получит то же имя, что и файл меша. Завершите экспорт.
Как задать текстуры
Экспортёр использует имя материала, назначенного каждому полигону, в качестве имени текстуры. В Blender-е текстура — не зависящая ни от каких материалов сущность, но с точки зрения экспортёра неважно, что там у вас за текстуры на материалах. Имеет значение только то, как называются сами материалы. Полигонам, которым никаких материалов не назначено, прописывается имя текстуры "untitled".
Отправлено nemyax 08-11-2016 в 10:24:
Попробовали хоть?
Отправлено XaeroX 08-11-2016 в 10:55:
nemyax
Никто не использует Blender.
__________________
Отправлено nemyax 08-11-2016 в 11:03:
thambs, Raid навскидку.
Отправлено thambs 08-11-2016 в 11:25:
nemyax
А чем этот плюгин от стандартного отличается?
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено nemyax 08-11-2016 в 11:32:
thambs
- Умеет экспортировать без развесовки для использования с GoldSrc/ксашем.
- По-другому организован экспорт анимаций. Я пробовал то, что предлагает Blender Source Tools, мне жутко не понравилось.
- Не умеет ничего импортировать.
Отправлено (_-=ZhekA=-_) 08-11-2016 в 12:04:
nemyax
А что-нибудь для макса есть от 2015 и старше?
Отправлено XaeroX 08-11-2016 в 12:19:
Цитата:
thambs писал:
чем этот плюгин от стандартного отличается
Цитата:
nemyax писал:
Не умеет ничего импортировать
Как говорит Дядя Миша - "автор молодец за проделанную работу! "__________________
Отправлено nemyax 08-11-2016 в 12:25:
XaeroX
С импортом замечательно справляется BST. Но есть вещи, с которыми он справляется не замечательно.
Отправлено nemyax 09-11-2016 в 09:08:
Цитата:
(_-=ZhekA=-_) писал:
А что-нибудь для макса есть от 2015 и старше?
Сделал бы сам на максскрипте.
Отправлено (_-=ZhekA=-_) 09-11-2016 в 10:05:
Цитата:
nemyax писал:
Сделал бы сам на максскрипте.
Скрипты я писать не умею, да, и мне это не нужно.
Отправлено Дядя Миша 09-11-2016 в 10:35:
Цитата:
(_-=ZhekA=-_) писал:
не умею, да, и мне это не нужно
Коротко и ясно __________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено (_-=ZhekA=-_) 09-11-2016 в 11:36:
Цитата:
Дядя Миша писал:
Коротко и ясно
В максе вроде как свой язык и на его изучение у меня ну вообще никак не стоит ради одного скрипта...
Отправлено nemyax 09-11-2016 в 11:52:
(_-=ZhekA=-_)
Ну тогда на плюсах с эсдэкой. Плюсы язык полезный, говорят =)
Отправлено Дядя Миша 09-11-2016 в 17:53:
Цитата:
(_-=ZhekA=-_) писал:
В максе вроде как свой язык и на его изучение у меня ну вообще никак не стоит ради одного скрипта...
Ты вроде как планируешь на этом зарабатывать - на моделлинге в максе.
А учиться не хочешь - это мне не надо, то мне не нужно. Мот вон делал-делал да и забросил. А почему? А потому что учиться не хочешь. Вот ничего и не получилось. Щас вон в максе начал учиться, научился делать запорные вентили и на этом твоё обучение закончилось. Человека сможешь сделать в максе? Нет. А анимировать сможешь? Нет. Потому что не хочешь учиться ничему.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 09-11-2016 в 18:09:
nemyax
Хм, с анимациями ещё не сталкивался, так что возьму на заметку. У меня пока только пропсы, до крипцов руки не доходят.
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено (_-=ZhekA=-_) 10-11-2016 в 05:29:
Цитата:
Дядя Миша писал:
Ты вроде как планируешь на этом зарабатывать - на моделлинге в максе.
А учиться не хочешь - это мне не надо, то мне не нужно. Мот вон делал-делал да и забросил. А почему? А потому что учиться не хочешь. Вот ничего и не получилось. Щас вон в максе начал учиться, научился делать запорные вентили и на этом твоё обучение закончилось. Человека сможешь сделать в максе? Нет. А анимировать сможешь? Нет. Потому что не хочешь учиться ничему.
В дизайне скрипты, анимации и лоуполи модели не нужны вообще. В данный момент, у меня нет нужды делать людей и анимации к ним. И не нужно говорить за меня, что я умею, а что нет. Учиться чему-то можно всю жизнь, совершенству нет поедела.
Отправлено nemyax 10-11-2016 в 06:00:
Цитата:
(_-=ZhekA=-_) писал:
В дизайне скрипты, анимации и лоуполи модели не нужны вообще.
В дизайне так-то NURBS-моделирование будет понужнее полигонального. Соответственно толку от макса в этом случае фиг да нифига. И кто сказал, что не нужна анимация, да ещё и вообще? А если это motion design?
Отправлено (_-=ZhekA=-_) 10-11-2016 в 06:40:
Цитата:
nemyax писал:
В дизайне так-то NURBS-моделирование будет понужнее полигонального. Соответственно толку от макса в этом случае фиг да нифига. И кто сказал, что не нужна анимация, да ещё и вообще? А если это motion design?
Имелось ввиду создание интерьера офиса, таунхауса, квартиры для реалистичного рендера, и там анимации и скрипты точно не нужны.
Отправлено ~ X ~ 10-11-2016 в 07:08:
Понабежали-понафлудили...
nemyax смутхинг-группы поддерживаются при экспорте?
Кстати, всё думаю: а ведь в СМД подерживаюстя каменты? // так можно туда что-то интересное записывать...
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено nemyax 10-11-2016 в 07:16:
Цитата:
~ X ~ писал:
смутхинг-группы поддерживаются при экспорте?
В блендере вместо смувинг-групп острые рёбра (sharp edges). Их экспорт, конечно, поддерживается. Но надо, чтобы на меше был активный модификатор Edge Split со включённой галкой Sharp Edges.
Отправлено Дядя Миша 10-11-2016 в 09:42:
Цитата:
(_-=ZhekA=-_) писал:
В данный момент, у меня нет нужды делать людей и анимации к ним.
за одного человечка платят до тысячи долларов. Ну это так, к слову.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 10-11-2016 в 09:45:
Дядя Миша
Ну нет у человека нужды, что ты пристал?
__________________
Отправлено KiQ 10-11-2016 в 10:08:
Вот все эти модификаторы настолько неинтуитивная штука, шо копец
__________________
-Brain is dead-
Отправлено nemyax 10-11-2016 в 10:22:
KiQ
Только первые три раза. Дальше тебе уже всё равно.
Отправлено (_-=ZhekA=-_) 10-11-2016 в 12:47:
Цитата:
Дядя Миша писал:
за одного человечка платят до тысячи долларов. Ну это так, к слову.
Возможно, спорить не буду. В данный момент я конкретно осваиваю интерьер и экстерьер. Как нормально освоюсь, то конечно можно и на что-то еще переключаться.
Отправлено Дядя Миша 10-11-2016 в 18:03:
Цитата:
~ X ~ писал:
Кстати, всё думаю: а ведь в СМД подерживаюстя каменты?
нет, не поддерживаются.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 10-11-2016 в 18:37:
https://developer.valvesoftware.com/wiki/Studiomdl_Data
Цитата:
Stand-alone line comments start with // (double foreslash)
End-line comments start with # (hashtag) or ; (semicolon)
Дядя Миша
Я твоим же studiomdl собирал каментованные файлы, всё было нормально.
Отправлено ILZM 11-11-2016 в 09:07:
nemyax однажды изменял я smoothness в блендере, и накосячил сильно. После subdivide некоторых частей моделей, у них поехала гладкость. Пришлось заюзать smooth angle на 70 градусов, только это применилось на всю модель, а не на выбранную мною часть меша. Короче, думал все это сбросится, если я экспортирую в смдшку, потому что там такой инфы не подразумевается. Но даже в смд остались smooth groups Значит гладкость определяется порядком расположения вершин в смд файле?
По сабжу сорре, руки не доходят проверить
Отправлено nemyax 11-11-2016 в 11:02:
Цитата:
ILZM писал:
даже в смд остались smooth groups Значит гладкость определяется порядком расположения вершин в смд файле?
В .smd нет никаких групп, рёбер и т. п. Там тупо нормаль для каждого угла каждого треугольника. Скрипт как раз тем и занимается, что считывает нормали в итоговом меше и пишет их в файл.
Чтобы результат экспорта совпадал с видом в блендере, нужно две вещи:
- Моделька должна быть в режиме Smooth (кнопка в T-панели)
- Должен быть включённый модификатор Edge Split с нужными настройками (острые рёбра и/или автосглад)
Отправлено Дядя Миша 11-11-2016 в 11:09:
Цитата:
ILZM писал:
Но даже в смд остались smooth groups Значит гладкость определяется порядком расположения вершин в смд файле?
Ты сгладил нормальки, которые потом попали в модель. Как сгладил так и попали.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 13-11-2016 в 21:26:
Update 0.1.20161113
Тов. Raid обнаружил баг со сглаживанием меша. Теперь исправлено.
Отправлено Дядя Миша 13-11-2016 в 22:21:
Ну хорошо, а то как баг, сразу на меня всё валят
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 23-11-2016 в 19:41:
Уже два дня что-то заставляет американских товарищей остервенело качать экспортилку:
То ли они обезумели от ч0рной пятницы, то ли от паники в связи с президентством Трампа, но, похоже, гребут любое говно без разбору.
Отправлено nemyax 01-02-2017 в 20:57:
Update 0.1.20170124
- Теперь поддерживается более одной корневой кости. Я был свято уверен, что корневая должна быть одна, пока Ghoul [BB] не доказал обратное выложенным файликом.
- Если трансформации меша и/или арматуры (перемещение, ориентация и равномерное масштабирование) не девственны, то теперь в экспортируемом файле они учитываются. Неравномерное масштабирование костей по понятным причинам не даст результата, аналогичного блендерному.
- В ожидании развесовки из всплывающей подсказки убрано упоминание ксаша.
https://sourceforge.net/projects/blenderbitsbobs/files
Отправлено XaeroX 01-02-2017 в 22:01:
Цитата:
nemyax писал:
Теперь поддерживается более одной корневой кости. Я был свято уверен, что корневая должна быть одна, пока Ghoul [BB] не доказал обратное выложенным файликом.
Да можно хоть каждую кость независимой сделать. В чём проблема-то? Иногда это удобнее, особенно если в компиляторе есть авто-генератор простеньких анимаций.
__________________
Отправлено nemyax 01-02-2017 в 22:18:
Ну вот не знал до недавних пор.