HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Моделирование > Ноженьки отказали...
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Ноженьки отказали...

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

Есть 2 модели игроков.
Пусть это будут
1. Barney
2. Helmet

Что имеем:
- Все анимации ОДИНАКОВЫЕ для обоих мешей. Они даже в одной папке лежат и собираются из одних исходников, кроме мешей.
-QC файлы тоже идентичны , кроме названий меша и готовой модели.
- ModelViewer показывает анимацию БЕГА в обоих случаях, и всё работает (в том смысле, что визуально проблем нет)

А вот в самой игре у модели игрока Barney при беге НОЖЕНЬКИ не работают, а вот у Helmet - всё нормально.
В чём тут может быть проблема????

Исходники моделей тут:
https://yadi.sk/d/EobthUGCNDLCIQ

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

Старое сообщение 04-03-2019 23:43
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Проверь названия костей в скелете, а конкретно "Bip01 Spine", это та кость, от которой применяется гейтсеквенция.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

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

Старое сообщение 05-03-2019 07:00
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Поглядел. В мешах разный порядок костей по списку:

Видимо, это играет какую-то роль. Причём, только в игре.
Обычно, если хрень с костями, модель во вьювере уже перекрученная.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

Старое сообщение 05-03-2019 09:27
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Ghoul [BB]
Да, это играет важную роль.
Смотри:

C++ Source Code:
1
for (i = 0; i < m_pStudioHeader->numbones; i++)
2
{
3
  if (strcmp( pbones[i].name, "Bip01 Spine") == 0)
4
    break;
5
  memcpy( pos[i], pos2[i], sizeof( pos[i] ));
6
  memcpy( q[i], q2[i], sizeof( q[i] ));
7
}

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

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

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

Старое сообщение 05-03-2019 09:39
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Дядя Миша писал тутор, как этот пазор для моделей с нестандартной иерархией костей исправить. Прям тут на форуме должен быть.

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

Старое сообщение 05-03-2019 15:13
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Да под ксашем они и должны работать без всяких туторов...

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 05-03-2019 17:41
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Да как исправить??
Я по-своему решил сделать, и всё вышло:
взял рабочую модель helmet, все нерабочие модели прописал в QC бодигруппами.
вот так:

$bodygroup "body"
{
studio "_player_helmet"
studio "_player_gordon"
studio "_player_barney"
studio "_player_bdroid"
studio "_player_zombie"
}

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

Естественно, это проще, чем риэсайнить вертексы с неправильного скелета на правильный...

Цитата:
Дядя Миша писал:
Да под ксашем они и должны работать без всяких туторов...


Под Ксашем всё должно работать. Наверное, даже без моделей. Я не удивлюсь, если он сам чего нарисует
Там надо кнопку в меню просто сделать, типа: играть в YOBA-игру!
Потом просто накидать в корневуху вперемежку карты, модели, звуки и прочее, а Ксаш из этого всего сделает ёба-игрулю.

Добавлено 06-03-2019 в 05:00:

Цитата:
XaeroX писал:
XaeroX

Причём, что характерно, из кода не следует, что у Bip01 Spine есть какой-то конкретный порядковый номер...
То есть, во такой скелет работает:

code:
0 "Bip01" -1 1 "Bip01 Pelvis" 0 2 "Bip01 L Leg" 1 3 "Bip01 L Leg1" 2 4 "Bip01 L Foot" 3 5 "Bip01 R Leg" 1 6 "Bip01 R Leg1" 5 7 "Bip01 R Foot" 6 8 "Bip01 Spine" 1 9 "Bip01 Spine1" 8 10 "Bip01 Spine2" 9 11 "Bip01 Spine3" 10 12 "Bip01 Neck" 11 13 "Bip01 Head" 12 14 "Bip01 L Arm" 12 15 "Bip01 L Arm1" 14 16 "Bip01 L Arm2" 15 17 "Bip01 L Hand" 16 18 "Bip01 R Arm" 12 19 "Bip01 R Arm1" 18 20 "Bip01 R Arm2" 19 21 "Bip01 R Hand" 20 end


а такой - нет:

code:
0 "Bip01" -1 1 "Bip01 Pelvis" 0 2 "Bip01 Spine" 1 3 "Bip01 Spine1" 2 4 "Bip01 Spine2" 3 5 "Bip01 Spine3" 4 6 "Bip01 Neck" 5 7 "Bip01 Head" 6 8 "Bip01 L Arm" 6 9 "Bip01 L Arm1" 8 10 "Bip01 L Arm2" 9 11 "Bip01 L Hand" 10 12 "Bip01 R Arm" 6 13 "Bip01 R Arm1" 12 14 "Bip01 R Arm2" 13 15 "Bip01 R Hand" 14 16 "Bip01 L Leg" 1 17 "Bip01 L Leg1" 16 18 "Bip01 L Foot" 17 19 "Bip01 R Leg" 1 20 "Bip01 R Leg1" 19 21 "Bip01 R Foot" 20

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Отредактировано Ghoul [BB] 06-03-2019 в 01:28

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

Старое сообщение 06-03-2019 02:00
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Да под ксашем они и должны работать без всяких туторов...

На минуточку, если используется StudioModelRenderer из клиентки, а у Гуля именно он и используется (мод на основе XDM, я думаю) там похоже нет этого фикса.
Цитата:
Ghoul [BB] писал:
Я по-своему решил сделать, и всё вышло:

Сколько телодвижений зазря. В оригинале там цикл прерывается после определённого имени кости:
C++ Source Code:
if( strcmp( pbones[i].name, "Bip01 Spine" ) == 0 )
  break;

Если ноги по иерархии находятся до Bip01 Spine по глупости моделлера, то они не анимирутся гейтом. Дядя Миша взял, да и записал все имена "ножных" костей в массив:
C++ Source Code:
1
for( int j = 0; j <NUM_LEGS_BONES; j++ )
2
{
3
  if( !strcmp( pbones[i].name, legs_bones[j] ))
4
    break;
5
}
6
 
7
if( j == NUM_LEGS_BONES )
8
  continue;

Если кость "принадлежит" ногам, цикл прерывается, и кость анимируется гейтом.
Там делов на 2 минуты скопипастить код и перекомпилить клиентку. Зачем ты стал возиться с перекомпиляцией модели? Вот я возился, чтобы поправить motion extraction и отзеркалить пару анимаций, это да. Кодингом это не решить, по крайней мере второе точно.

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

Старое сообщение 06-03-2019 04:19
- За что?
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
Ku2zoff писал:
На минуточку, если используется StudioModelRenderer из клиентки, а у Гуля именно он и используется (мод на основе XDM, я думаю) там похоже нет этого фикса.


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

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

Старое сообщение 06-03-2019 10:45
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Ghoul [BB] писал:
Всё это так, только вот переход на Ксаш подразумевает регулярные донаты Дяде Мише за решение этих проблем..

Ну почему же. Ты можешь их решать самостоятельно. Точно так же, как ты их решаешь на GoldSource.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

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

Старое сообщение 06-03-2019 10:50
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
Ku2zoff писал:
Сколько телодвижений зазря.


Ну потому, что я ещё не прочитал этот твой пост, как фиксить. А как оно там в Ксаше устроено, я не лез проверять...

Добавлено 06-03-2019 в 14:02:

Цитата:
XaeroX писал:
Ну почему же. Ты можешь их решать самостоятельно. Точно так же, как ты их решаешь на GoldSource.


Не всё можно решить самостоятельно.
Во-первых, из-за закрытости исходников того, что было бы дЕЙСТВИТЕЛЬНО полезно (скажем, новый быстрый рендер)
Во-вторых, что большинство этих всех необходимых фич находятся не в движке, а в моде. И их, соответственно, надо импортировать под свой мод.
А вслучае закрытых исходников мы позвращаемся в п.1.. Рекурсия-с.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

Старое сообщение 06-03-2019 11:02
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
XaeroX писал:
Ты можешь их решать самостоятельно. Точно так же, как ты их решаешь на GoldSource.

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

Добавлено 06-03-2019 в 22:10:

Цитата:
Ghoul [BB] писал:
А как оно там в Ксаше устроено, я не лез проверять...

СтудиоМодельРендерер внутри движка (ксаша) идентичен своему аналогу из хлсдк 2.3. И в ксаше и в голдсорсе он оставлен в движке ради совместимости со старыми модами, типа опфора, написанными на древней версии СДК, когда ещё не было экспорта рендерера моделей в клиентку.

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

Старое сообщение 06-03-2019 15:10
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ghoul [BB] писал:
Всё это так, только вот переход на Ксаш подразумевает регулярные донаты Дяде Мише за решение этих проблем..

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

Цитата:
Ghoul [BB] писал:
а либо недоработок в самом Ксаше, либо тупо отсутствия требуемых в нём же.

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

Цитата:
Ghoul [BB] писал:
Во-первых, из-за закрытости исходников того, что было бы дЕЙСТВИТЕЛЬНО полезно (скажем, новый быстрый рендер)

Я тебя забаню за вранье. Сто раз объяснял, что всё открытое, он опять за своё. Конспиролог. Ну я понимаю, если окажется что всё открытое, как тогда страдать на публику.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-03-2019 16:35
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 09:31. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Моделирование > Ноженьки отказали...
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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