HLFX.Ru Forum
Показать все 37 сообщений этой темы на одной странице

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/

Справка по-русски

Скрипт умеет экспортировать:



Экспортёр подогнан под определённый стиль работы в Blender-е. Впрочем, данный стиль вам не навязывается. Обратите внимание на следующее:


Как устанавливать
Как и любое дополнение Blender-а:

  1. Откройте окно User Preferences и перейдите на вкладку Add-ons.
  2. Нажмите Install from File и укажите скачанный файл io_scene_studiomodel_export-*.*.*.zip или извлечённый оттуда io_scene_studiomodel_export.py.
  3. Включите дополнение Import-Export: SMD: Valve studiomodel source format.
  4. Чтобы сохранить изменения, нажмите Save User Settings.


Что сделать до экспорта
Часто требуется экспортировать не все кости скелета, а только их определённый набор. Чтобы указать, какие кости должны в этот набор войти, создайте группу костей, назовите её "smd" (регистр значения не имеет) и добавьте в неё нужные кости.
Если такая группа есть и она не пустая, экспортёр проигнорирует все кости вне её. В ином случае он попытается записать все кости.
Важно, чтобы экспортируемые кости образовывали единое иерархическое дерево. Иначе экспортёр выдаст ошибку, так как экспорт нескольких костей верхнего уровня в .smd невозможен. Если Blender запущен из командной строки, сообщение об ошибке продублируется в терминале.
Перед экспортом убедитесь, что кость верхнего уровня у вас всего одна и ни у одной из костей нет скрытого от экспортёра родителя (то есть родителя вне группы "smd").

Как пользоваться
Экспорт одиночного меша

  1. Выделите меш, который хотите экспортировать. Запишется только меш, выделенный последним. Если ему назначен скелет, то в экспорт войдут кости этого скелета. В ином случае будет записан скелет-заглушка из одной кости.
  2. Нажмите File | Export | Studiomodel Mesh Source в главном меню.
  3. Если экспорт предназначается для движка с поддержкой развесовки вершин (например, Source, XashNT или Volatile 3D), имеет смысл включить опцию Include vertex weights.
  4. Укажите путь к файлу и завершите экспорт.


Экспорт одиночной анимации
Диапазон кадров для экспортируемых одиночных анимаций берётся из текущих настроек диапазона проигрывания.

  1. Выделите меш, который хотите экспортировать. Запишется только анимация меша, выделенного последним. Если ему назначен скелет, то в экспорт войдут кости этого скелета. В ином случае будет записан файл-заглушка с одним кадром для одной кости.
  2. Нажмите File | Export | Studiomodel Animation Source в главном меню.
  3. Укажите путь к файлу и завершите экспорт.


Пакетный экспорт меша и анимаций
Пакетный экспорт пользуется метками таймлайна для разграничения анимаций. По совпадающим парам меток определяются последовательности кадров и назначаются имена анимаций. Чтобы обозначить нужные кадры для экспорта, поставьте в начальном кадре последовательности метку с именем, заканчивающимся на "_start", а в последнем её кадре — метку с именем, заканчивающимся на "_end". Например, цикл ходьбы можно обозначить метками "walk_start" и "walk_end". Если у вас в сцене несколько персонажей, рекомендуется именовать метки для них с соответствующими префиксами наподобие "boomer_attack_start" и "boomer_attack_end". Тогда вы сможете отфильтровать ненужные анимации, используя параметр экспортёра Marker filter (прописав в нём "boomer").
Примечания:



  1. Выделите меш, который хотите экспортировать. Запишется только меш, выделенный последним. Если ему назначен скелет, то в экспорт войдут кости этого скелета. В ином случае будет записан скелет-заглушка из одной кости.
  2. Нажмите File | Export | Studiomodel source files (batch export) в главном меню.
  3. Если нужно отфильтровать анимации по префиксу имён меток, укажите его в параметре Marker filter.
  4. Если экспорт предназначается для движка с поддержкой развесовки вершин (например, Source, XashNT или Volatile 3D), имеет смысл включить опцию Include vertex weights.
  5. Если требуется автоматически созданная заготовка файла .qc со списком обнаруженных анимаций, включите опцию Write .qc stub.
  6. Укажите путь к файлу меша. Файлы анимаций получат имена, заданные метками таймлайна. Файл .qc получит то же имя, что и файл меша. Завершите экспорт.


Как задать текстуры
Экспортёр использует имя материала, назначенного каждому полигону, в качестве имени текстуры. В Blender-е текстура — не зависящая ни от каких материалов сущность, но с точки зрения экспортёра неважно, что там у вас за текстуры на материалах. Имеет значение только то, как называются сами материалы. Полигонам, которым никаких материалов не назначено, прописывается имя текстуры "untitled".


Отправлено nemyax 08-11-2016 в 10:24:

Попробовали хоть?


Отправлено XaeroX 08-11-2016 в 10:55:

nemyax
Никто не использует Blender.

__________________

xaerox on Vivino


Отправлено 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


Отправлено (_-=ZhekA=-_) 08-11-2016 в 12:04:

nemyax
А что-нибудь для макса есть от 2015 и старше?


Отправлено XaeroX 08-11-2016 в 12:19:

Цитата:
thambs писал:
чем этот плюгин от стандартного отличается

Цитата:
nemyax писал:
Не умеет ничего импортировать

Как говорит Дядя Миша - "автор молодец за проделанную работу! "

__________________

xaerox on Vivino


Отправлено 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:

Дядя Миша
Ну нет у человека нужды, что ты пристал?

__________________

xaerox on Vivino


Отправлено 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 нет никаких групп, рёбер и т. п. Там тупо нормаль для каждого угла каждого треугольника. Скрипт как раз тем и занимается, что считывает нормали в итоговом меше и пишет их в файл.
Чтобы результат экспорта совпадал с видом в блендере, нужно две вещи:


Отправлено Дядя Миша 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


https://sourceforge.net/projects/blenderbitsbobs/files


Отправлено XaeroX 01-02-2017 в 22:01:

Цитата:
nemyax писал:
Теперь поддерживается более одной корневой кости. Я был свято уверен, что корневая должна быть одна, пока Ghoul [BB] не доказал обратное выложенным файликом.

Да можно хоть каждую кость независимой сделать. В чём проблема-то? Иногда это удобнее, особенно если в компиляторе есть авто-генератор простеньких анимаций.

__________________

xaerox on Vivino


Отправлено nemyax 01-02-2017 в 22:18:

Ну вот не знал до недавних пор.


Временная зона GMT. Текущее время 02:03.
Показать все 37 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024