HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Скелетная SMD анимация
Снова здорова
Страницы (7): « 1 2 [3] 4 5 6 7 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
FiEctro писал:
Хоть бы кто то тутор написал как эта вся фигня в 3д работает... Много вещей делается посредством скриптов и разных плясок с бубном (для тех кому знакомо слово Maya).

Сергей Цыпцын два тома по Майе написал, там конечно не Дядя Миша но именно текст а не формулы.

Сообщить модератору | | IP: Записан
Сообщение: 195189

Старое сообщение 30-06-2020 11:03
+ За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



Цитата:
FiEctro писал:
Если программист не умеет парсить и обрабатывать, тогда какой из него программист?

А потом начинаются наезды от креативной команды, мол "А какого вот эта моделька в игре выглядит вот так, в редакторе у нас всьо по-другому!", а оказывается, что моделлер применил там какой-нибудь пятый модификатор из третьей вкладки, о котором программист и в жизни не слыхивал, зато в редакторе "все красиво".

Цитата:
FiEctro писал:
Так что здесь понятие "дезигнер" прямо пересекается с понятием, если не "программист" то "скриптёр" уж точно

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

Цитата:
FiEctro писал:
Я щас в 2.83 работаю, обучался на 2.79, но уже полностью отвык от его интерфейса.

то же самое, сейчас вот вообще 3ds max переосваиваю. Никак у меня не получается перестроиться от кубания. Да и не надо оно, может...

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 195190

Старое сообщение 30-06-2020 11:08
- За что?
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4133

Рейтинг



Цыпцын доходчивый чувак.

Цитата:
KiQ писал:
там и матрицы жомловские

И как там, базисы подряд или "сверху вниз"? И где лежит трансляция?

Сообщить модератору | | IP: Записан
Сообщение: 195191

Старое сообщение 30-06-2020 11:09
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



Цитата:
nemyax писал:
И как там, базисы подряд или "сверху вниз"? И где лежит трансляция?

базисы как и в OGL column-major, сверху вниз. Трансляция лежит в [3, 0] [3, 1] и [3, 2], соответственно (ну или в m[12], m[13] и m[14] если развернуть в линейный массив. Вообще странно, ибо это соответствует тому, что было у меня. Мне кажется, что-то там с умножением не-то, по-разному оно делается

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 195193

Старое сообщение 30-06-2020 11:19
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Морфинг, адеквакватная развесовка, материалы, анимационные слои, вертексколор, вертексгруппы (не только для костей), миррор, субдивижен, кривые и т.д. Ещё бы добавил разные констрейты, но это скорее вопрос софта и движка, нежели формата.

А в чём неадекватность текущей развесовки? Вышеперечисленное это не особенность формата, а вопрос поддержки этих вещей самим софтом. К примеру, тот же ase может содержать кадры анимации, но эти кадры никто и никогда не читает в кваках. То есть возможность есть, но не используется.
Цитата:
KiQ писал:
Да вот же http://www.tmtlib.narod.ru/skeletal.htm

Цитата:
type TModelka = object

Понятно.

Цитата:
KiQ писал:
Насколько я понял они также решают проблему gimbalock, хотя с другой стороны матрицы тоже ее решают

У Эйлера нет проблемы блокировки, пока ты не начинаешь их складывать. Можно сложить в матрице и трансформировать обратно в Эйлера.

Цитата:
KiQ писал:
да и интерполировать матрицы тоже можно

у матриц интерполяция только линейная, у кватернионов - сферическая. Тем они и ценны.

Добавлено 30-06-2020 в 14:28:

Цитата:
KiQ писал:
"А какого вот эта моделька в игре выглядит вот так, в редакторе у нас всьо по-другому!"

Так вот тож. Чем меньше фишек поддерживает формат, тем меньше вероятность разночтения редактором и движком. Поэтому я и не хочу поддерживать всякие там вертекс-колоры и смутч-группы. Тут ведь еще вот какое дело. Мне по сути нужен один общий исходный формат для всего.
ase развесовку не поддерживает и кости тоже, obj аналогично.
Только smd и остается. Проще пожертвовать цветом вертексов, тем более что его всё равно компилятор создаёт. Впрочем, я может быть создам какой-то свой текстовый формат, посмотрим. Не хотелось бы конечно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195195

Старое сообщение 30-06-2020 11:28
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



Вот не пойму, неужто в итоге весь сыр-бор с глюками в JOML из-за того, что кости нужно трансформировать row-major матрицы, а рисовать column-major, ну не должно же это по идее никак влиять

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 195196

Старое сообщение 30-06-2020 11:47
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Забавно. Оказывается вальва добавила в SMD расширение vertexanimation.
Да там в принципе можно любые расширения добавлять, по такому же принципу: begin keyword - end

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195197

Старое сообщение 30-06-2020 11:51
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4133

Рейтинг



Цитата:
Дядя Миша писал:
Только smd и остается.

IQM не рассматривал?

Сообщить модератору | | IP: Записан
Сообщение: 195199

Старое сообщение 30-06-2020 11:59
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



Цитата:
Дядя Миша писал:
Оказывается вальва добавила в SMD расширение vertexanimation

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

А между тем есть прогресс с JOML. Скелет изкаропки грузится вертикально, кости позиционируются правильно. Проекцию я вернул right-handed, соответственно ничего не зеркалится. Вертексы пока так, сейчас буду разбираться с ними

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 195202

Старое сообщение 30-06-2020 12:26
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
nemyax писал:
IQM не рассматривал?

IQM бинарка, а я про промежуточные форматы. Можно кстати от милки подключить формат, я правда хз, юзают ли её еще.
Но там жеж все эти смутч-группы есть, как положено.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195204

Старое сообщение 30-06-2020 12:37
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



И все же некоторые скелеты корячит на JOML, причом на моих матрицах всё отлично. Обращаю внимание, что с моими матрицами я читаю значения костей подряд как они записаны в time0, только инвертирую Z. В JOML же я загружаю в порядке Z, X, Y и не инвертирую ничего

Гордон




Учоный




Добавлено 30-06-2020 в 15:51:

Так же в JOML сначала применяется трансляция, потом вращение, а вмоих - наоброт

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 195205

Старое сообщение 30-06-2020 12:51
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



>> А потом начинаются наезды от креативной команды, мол "А какого вот эта моделька в игре выглядит вот так, в редакторе у нас всьо по-другому!", а оказывается, что моделлер применил там какой-нибудь пятый модификатор из третьей вкладки, о котором программист и в жизни не слыхивал, зато в редакторе "все красиво".

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

>> А в чём неадекватность текущей развесовки? Вышеперечисленное это не особенность формата, а вопрос поддержки этих вещей самим софтом. К примеру, тот же ase может содержать кадры анимации, но эти кадры никто и никогда не читает в кваках. То есть возможность есть, но не используется.

Игровые движки одной квакой не заканчиваются. Поиграй хотя бы в ГТА4 и ГТА5, посмотри на физику игрока, анимации персонажей. Меня например переворачивает когда у перса рука как росток лука перегибается, и простой развесовкой тут не отделаешься.

>> Сергей Цыпцын два тома по Майе написал, там конечно не Дядя Миша но именно текст а не формулы.

А можно полное название? Звучит вкусно.

Отредактировано FiEctro 30-06-2020 в 12:56

Сообщить модератору | | IP: Записан
Сообщение: 195206

Старое сообщение 30-06-2020 12:54
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



Цитата:
FiEctro писал:
Поиграй хотя бы в ГТА4 и ГТА5, посмотри на физику игрока, анимации персонажей

Так это вообще Euphoria, сторонняя технология и очень тяжеловесная, рокстары ее просто лицензировали.

Я не понимаю, я уже привел код к идентичному состоянию, в загрузчике гружу в аналогичном порядке без всяких конверсий
Мои матрицы:
C++ Source Code:
1
Vector3f pos = startFrame.pos.get(b.id);
2
Vector3f angles = startFrame.angles.get(b.id);
3
 
4
b.pos.reset();
5
b.matRelative = Matrix.rotate(angles.x, 1, 0, 0);
6
b.matRelative = Matrix.mul(b.matRelative, Matrix.rotate(angles.y, 0, 1, 0));
7
b.matRelative = Matrix.mul(b.matRelative, Matrix.rotate(angles.z, 0, 0, 1));
8
b.matRelative = Matrix.mul(b.matRelative, Matrix.translate(pos.x, pos.y, pos.z));
9
 
10
if (b.parentId == -1) {
11
  b.matAbsolute = b.matRelative;
12
} else {
13
  Bone p = bones.get(b.parentId);
14
  b.matAbsolute = Matrix.mul(b.matRelative, p.matAbsolute);
15
}
16
 
17
b.matAbsolute.transform(b.pos);


JOML
C++ Source Code:
1
Vector3f pos = startFrame.pos.get(b.id);
2
Vector3f angles = startFrame.angles.get(b.id);
3
 
4
b.pos.zero();
5
b.matRelative.rotationX(angles.x);
6
b.matRelative.mul(new Matrix4f().rotationY(angles.y), b.matRelative);
7
b.matRelative.mul(new Matrix4f().rotationZ(angles.z), b.matRelative);
8
b.matRelative.mul(new Matrix4f().translation(pos.x, pos.y, pos.z), b.matRelative);
9
 
10
if (b.parentId == -1) {
11
  b.matAbsolute = b.matRelative;
12
} else {
13
  Bone p = bones.get(b.parentId);
14
  p.matAbsolute.mul(b.matRelative, b.matAbsolute);
15
}
16
 
17
b.matAbsolute.transformPosition(b.pos);


и все равно разный результат! Мои матрицы отрабатывают нормально, JOML корёжит

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 195208

Старое сообщение 30-06-2020 13:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
когда у перса рука как росток лука перегибается, и простой развесовкой тут не отделаешься.

ну вот для этого и нужна сферическая интерполяция, о которой так долго твердили большевики. А еще DualQuats.

Цитата:
FiEctro писал:
Поиграй хотя бы в ГТА4 и ГТА5

Ну я бывал в этой игре для многих лет. Я вытащил заживо!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195210

Старое сообщение 30-06-2020 13:20
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



>> ну вот для этого и нужна сферическая интерполяция, о которой так долго твердили большевики. А еще DualQuats.

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

У меня впрочем своя система борьбы с этим, без шейпкеев, правда пришлось дописать дополнительные констрейнсы для костей уже в самой игре.

Отредактировано FiEctro 30-06-2020 в 13:38

Сообщить модератору | | IP: Записан
Сообщение: 195211

Старое сообщение 30-06-2020 13:35
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 06:45. Новая тема    Ответить
Страницы (7): « 1 2 [3] 4 5 6 7 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Скелетная SMD анимация
Снова здорова
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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