Гипат.org

MODный форум - Новые 3д модельки в ПЗ!!! ei figer - аддон для blender'a.

Matilda - 25 декабря 2016, 17:27
>>> Обновление до версии 1.2 <<<
Всем доброго времени суток!

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

Что ж, приятного просмотра :)

Посмотреть видео на youtube

Аддон - https://drive.google.com/open?id=0B0MbqDLOv5w9VV9aWlhDbWcybjA
*Аддон на Яндекс Диске - https://yadi.sk/d/kY-snnYP3HXHkL

Появятся вопросы - можете смело задавать их здесь, постараюсь ответить.
Sagrer - 21 января 2017, 22:17
Без морфинга :(

Кстати, кто автор плагина и какие у него условия распространения?
Matilda - 22 января 2017, 03:23
Автором аддона являюсь я. а что на счёт распространения - мне всё равно что вы с ним делать будете :)

А ещё, сказать по секрету (только тсссс) морфинг уже тоже есть, но им крайне не удобно пользоваться. Счас слегка времени не хватает довести всё до ума, но сделать надо будет, обязательно, я себе слово дал :D
Sagrer - 22 января 2017, 10:56
ну я к чему спросил - маленькая ридмишка с указанием автора и что оно идёт к примеру под GPL сразу разрешило бы все вопросы и возможные претензии если кто-то возьмёт плагин, доработает под себя и захочет тоже опубликовать.

А про "морфинг уже почти есть" - ну да, много лет назад у нас он тоже почти был (было понимание как и что можно было бы сделать для реализации), но как то руки так и не дошли дописать плагин к 3д-максу почему то % ))).

Как кстати предполагается отображать этот морфинг и его редактирование в блендере? Там же забито что-то типа крайних положений вершин для разных состояний морфящегося объекта, я если честно хз как _удобно_ это редактировать, единственный костыльный вариант на котором когда-то остановился в 3д-максе - сделать для одной и той же модели несколько кадров анимации в крайних положениях, и использовать эти кадры как инфу для морфинга.
Matilda - 22 января 2017, 13:11
Морфинг моделей представляет из себя набор из 8 элементов, т.е. каждая конкретная 3д фигура представлена в 8 вариациях, из которых и высчитывается комплекция в самой игре. Из неудобных средств редактирования я считаю редактирование всех 8 частей по отдельности (как сейчас). А вот удобное редактирование для меня выглядит примерно так: создать минимально необходимое количество вариаций, а остальное просчитать алгоритмом, используя некоторые коэффициенты.

В блендере есть возможность создать новый оператор, который сможет выполнять действия с объектом "на лету", т.е. банально можно создать копию всех морфящихся частей, собрать воедино и высчитать комплекцию объекта. Но чтобы это сделать, мне нужно разобраться с анимацией в блендере (да и вообще с анимацией, т.к. я ей не занимался никогда). Анимация мне будет нужна для привязки костей, чтоб положение объектов не "поехало".
Sagrer - 22 января 2017, 19:33
странно что 8 вариаций а не 6, в прочем я уже не помню всех деталей.... но модели ведь морфились по Strength, Dex, Tall, т.е. в моб-файлах для объектов задавалось всего 3 параметра.

А многокостные модели плагин умеет уже?
Matilda - 22 января 2017, 20:34
Скажу так (в этом я уверен): для каждой точки 3д фигуры задаётся 8 значений. Между первыми 4 и вторыми 4 есть связь (получена экспериментальным образом), но вот среди каждой из четырёх значений каждой группы связи не было обнаружено.

Условно говоря, в файле фигуры зафиксированы следующие "крайние" значения:
1) позиция точки при 0 силы, 0 ловкости
2) позиция точки при 1 силы, 0 ловкости
3) позиция точки при 0 силы, 1 ловкости
4) позиция точки при 1 силы, 1 ловкости
5-8) позиции этих же параметров, но при масштабировании.

Но среди этого замеса есть одна малозаметная, но очень важная особенность: для таких объектов, как дерево\дом\мост\т.д. достаточно всего лишь 3-х вариаций одной фигуры (исходная, сильная, ловкая)

А вот остальные параметры нужны для более "плавного", естественного перехода между состояниями. Так, например, сделаны в ПЗ разве что только люди\зомби и орки. у остальных организмов если и есть морфинг, то в лучшем случае по 2-3м параметрам (силе\ловк и росту), а зачастую и вовсе по одному (росту)

p.s. про многокостность: если ты смотрел видео, то там показано и сказано, что на данный момент с помощью аддона можно импортировать и экспортировать модель с любым количеством костей, причём 3д фигуры расположатся в нужных местах (при наличии *.bon файлов), однако поддержка многокостности счас в виде костыля, т.е. она привязывает все фигуры (при экспорте из блендера) к началу координат. Чтобы сделать всё красиво, опять же, нужно разбираться с арматурой и анимациями, т.к. это самый удобный способ, но пока ещё мною не изученный.
Sagrer - 23 января 2017, 08:30
Интересно они запилили, непонятно зачем 4 оси при масштабировании ).
Я бы сделал в плагине два или три режима работы с морфингом на самом деле: 1) полный - редактирование всех 8 форм, 2) без морфинга, только масштабирование - редактирование 1 модели, при сохранении морфинг пишется так чтобы можно было лишь менять размер объекта, 3) гибридный - форма при 0 силы, 0 ловкости, форма при 0 силы 1 ловкости, и форма при 1 силы 0 ловкости. Всё остальное плагин генерирует сам по какому-нибудь алгоритму. Хотя если честно мне вот пока непонятно как из 1,0 и 0,1 получить адекватный вариант при 1,1, но наверное это возможно.
Matilda - 23 января 2017, 17:41
Я сделаю максимально удобным образом, в любом случае.
Почему? потому что скорее всего никто не понимает всю ситуацию лучше меня :)
Однако, мне очень приятно, что нашлась душа, которая меня чуточку понимает =)

p.s. про 0.1+1.0->1.1 конкретный пример, туловище мужских моделек: у фигуры 1.1 есть точка, которая находится дальше всех от центра координат по сравнению с соответствующими точками 1.0 и 0.1, и кроме того, не является их суммой\разностью\произведением\средним\минимальным\максимальным. Другими словами, является уникальной среди своей группы. Отсюда вывод, что 1.1 является созданной вручную фигурой. А на вопрос почему именно 8 вариаций, имеется простой ответ: для формулы подсчёта точки нужны минимум 2 значения по 3-м "измерениям". И судя по формуле, в ней примерно такая зависимость: 2^3 вариаций, т.к. каждое измерение высчитывается путём вычитания предыдущих n значений из текущих n значений. А формула там хитрая сделана только для того, чтобы все эти числа были зависимы от каждой вариации. в противном случае всё морфилось бы влоб.
Sagrer - 23 января 2017, 18:24
Цитата:
Отсюда вывод, что 1.1 является созданной вручную фигурой.


Значит как минимум 4 варианта одной модельки придётся выводить в блендер.... кстати у меня есть предположение насчёт масштабирования и зачем там ещё 4 вариации - как минимум для гуманоидов они масштабируются не просто больше\меньше а у фигурок них меняется рост при сохранени тушки, скажем так, в ширину. Тогда да, нужны все 8 форм.
Matilda - 23 января 2017, 20:25
Посмотрим как оно получится. Я сам понял всё это довольно поверхностно. Когда будет дело продвигаться, тогда можно будет и подумать, а счас всё равно бестолку :)
Хотя, если ты решил заняться апгрейдом моего аддона, то могу тебе раскрыть все карты xD
Sagrer - 23 января 2017, 22:08
Цитата:
Хотя, если ты решил заняться апгрейдом моего аддона, то могу тебе раскрыть все карты xD


увы, я лишь треплюсь о несбывшемся, а плагин скачал до лучших времён ). Надеюсь через полгода-год у меня наконец появится хоть по паре часов по вечерам, тогда и подумаю куда приложить силы ).
Aleks - 01 февраля 2017, 16:09
Хорошее видео, кстати :) Никогда не интересовался моделлингом, а оказывается всё просто (относительно) и понятно.

Хочется сказать что-то полезное по коду, но получаются только мелочи.
Думаю, вместо while 1==1: удобнее писать while True:, а вместо
Код:
old_val[0]=old_val[0]+copy.copy(new_val[0])
-
Код:
old_val[0]+=copy.copy(new_val[0])

Штуки типа [[], [], []] можно инициализировать как [ [] ]*3, но возможно страдает читабельность. То же самое - [0] * 9 вместо [0 for i in range(9)].

Хотя не, не совсем только мелочи: вместо
Код:
fig_file = os.path.dirname(path_file) + '\\' + mesh.name + ".fig"

для кроссплатформенной работы рекомендуют использовать os.path.join:
Код:
fig_file = os.path.join(os.path.dirname(path_file), mesh.name + ".fig")


Такой вот бесполезный code review :drug:
Matilda - 01 февраля 2017, 21:16
Хорошо ^^
Я питон только только начал, пока пытаюсь разрешать ситуации методом научного тыка :) Так что ваши комментарии вполне уместны, мб стану кодить красивее xD
Снайпер - 18 февраля 2017, 19:17
Посмотрел урывками видео. Обалдел, конечно же (сам я давно разучился усердно что-то делать, хотя раньше думал, что умею), респект! :up:

Судя по комментариям, многие вещи ещё и делались с лёту, это круто!
Хадаганец - 28 февраля 2017, 04:37
Довольно занятно.
Matilda - 09 марта 2017, 17:26
Аддон обновлён до версии 1.1
- Доработан алгоритм "запаковки" UV-координат
- Изменён алгоритм записи нормалей и индексов
=> В результате уменьшен размер получаемого файла: теперь фигуры ПЗ не отличить от тех, что получаются через аддон :)

Устанавливать подобным образом. Разве что при установке нового аддона советую убрать галочку со старого аддона (как бы не было накладок из-за этого)
Matilda - 02 мая 2017, 00:31
А люди тем временем не спят и делают хорошие вещи. Ну а я всего-то сделал очередное обновление для своего аддончика, встречайте! =)

Теперь он может создавать двусторонние полигоны, так-то!
Видео прилагается
Посмотреть видео на YouTube

Аддон - https://drive.google.com/open?id=0B0MbqDLOv5w9VV9aWlhDbWcybjA
*Аддон на Яндекс Диске - https://yadi.sk/d/kY-snnYP3HXHkL
Sagrer - 29 мая 2017, 19:14
круто, схоронил плагин и видяху на случай если ещё вернусь к ПЗ-шным делам, спс! )
Matilda - 29 мая 2017, 22:57
Скоро выпущу видео к завершающей версии для обычного редактирования моделек, не пропусти ;)
Matilda - 12 июня 2017, 20:02
Ещё одна обнова для аддончика, теперь с его помощью можно делать оружия, квестовые предметы, предметы сбора и быстрые предметы (зелья,жезлы,т.д.)

Видео прилагается:
Посмотреть на YouTube

Аддон - https://drive.google.com/open?id=0B0MbqDLOv5w9cURXQmJFWTZ5N2s
*Аддон на Яндекс Диске - https://yadi.sk/d/hTEeUThU3K3yqb
Часовой пояс: GMT +4:00
Форумы Поселка созданы на базе phpBB2 2.0.4 © phpBB Group