Автор Тема: Анимация в Thief  (Прочитано 27233 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн clearing

  • Хранители
  • Призрак
  • Сообщений: 16881
    • http://darkfate.ru
Цитировать
вместе с DromEd должен быть ещё и архив schema.crf (если нет - можно найти)
http://darkfate.ru/?show=files/editors/dromed/dromed
« Последнее редактирование: 31 Мая 2011 09:29:04 от clearing »

Оффлайн Zontik

  • Призрак
  • Сообщений: 14772
    • Тёмное место
Анимация в Thief
« Ответ #16 : 25 Мая 2011 14:28:23 »
Цитировать
1. Можно ли сделать, чтобы лайтмэпы были видны в DromEd? У меня они видны только на дальних стенах, вблизи стены отображаются в полную яркость.
Ты имеешь в виду - в окошке 3D? Нет, нельзя. Хотя в DromEd 1 это окошко все показывает.

Цитировать
2. Каково нормальное значение Ambient Light? Я использовал, кажется, 20 20 20. Дефолтное значение оказалось очень ярко - камень постоянно светился.
Ambient Light не оказывает влияния на камень. Светился он из-за того, что не были первый раз выполнены стандартные для любой FM процедуры - построение Room database, AI Room database и Pathfind database. Также должны быть загружены стандартные скрипты - Convict и Gen.
20 20 20 - нормальная величина, если не требуются глубокие тени. Собственно, это будет довольно светлая FM. Попробуй задать 10 10 10 для сравнения - возможно, понравится больше.
« Последнее редактирование: 25 Мая 2011 14:30:27 от Zontik »
Дайте глазам отдохнуть! Тёмное место

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #17 : 26 Мая 2011 06:13:03 »
Всем спасибо! Буду разбираться дальше.

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #18 : 26 Мая 2011 09:34:44 »
Выяснил, что в архиве mesh.crf есть текстовые файлы *.map и *.mjo вполне понятного содержания. Если это и есть определения скелетов, то разработать новый скелет - раз плюнуть. Вопрос только в том, как потом этот скелет анимировать...

Zontik
Цитировать
Если бы еще кто-нибудь взялся мне объяснить, что такое вертекс...
Оффтопик: Вертекс - это вершина (в геометрическом смысле). То есть точка, в которой сходятся полигоны.
Вертексная анимация - это когда для каждого последующего кадра полностью трансформируется модель путем перемещения вертексов. Поскольку средняя модель в Thief состоит из 200-500 вертексов (а в современных моделях их по нескольку тысяч), то анимация превращается в долгий муторный процесс. К тому же, когда нарисованы сотни кадров анимации, вносить изменения в модель - это означает практически все переделывать. Хотя в старых играх (Quake, Unreal) анимация была именно вертексная.

При скелетной анимации вертексы разбиваются на группы, и каждая группа привязывается к своему суставу скелета, после чего анимируется сам скелет. 
Преимущества очевидны - скелет анимировать быстрее и проще (вместо сотен вершин - пара десятков суставов). Кроме того, уже после создания анимации можно вносить изменения в модель, или разработать совершенно новую модель и повесить ее на существующий скелет.

У вертексной анимации тоже есть преимущества - с помощью нее можно анимировать что угодно и как угодно, в то время как возможности скелетной анимации ограничиваются движениями скелета. Скажем, для слизняка, наверное, скорее подошла бы вертексная анимация (действительно, какой скелет может быть у слизняка?)

То, что ты описал с крысой - в принципе это и есть подобие вертексной анимации, только без возможности выбора движения.
« Последнее редактирование: 26 Мая 2011 09:37:25 от Chuzhoi »

Оффлайн Zontik

  • Призрак
  • Сообщений: 14772
    • Тёмное место
Анимация в Thief
« Ответ #19 : 26 Мая 2011 09:54:23 »
Оффтопик: Спасибо, теперь понял. А какой тип анимации у AI в TDS? Спрашиваю просто из любопытства. Интересно, может ли мимика анимироваться с помощью скелета. У людей может, а как с этим у AI?
Дайте глазам отдохнуть! Тёмное место

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #20 : 26 Мая 2011 10:17:38 »
Оффтопик: Насчет лиц точно не знаю. Яндекс по запросу "лицевая скелетная анимация" выдает ответы в виде "лицевая и скелетная анимация"
Хотя есть картинка:

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

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #21 : 30 Мая 2011 09:26:40 »
Как сделать так, чтобы при редактировании движений и схем не приходилось перезагружать DromEd (а то без этого Thief не понимает, что движения отредактированы)?

Оффлайн Zontik

  • Призрак
  • Сообщений: 14772
    • Тёмное место
Анимация в Thief
« Ответ #22 : 30 Мая 2011 09:58:35 »
Видимо, никак, поскольку похоже, что ресурсы загружаются при запуске или при первом входе в игровой режим. Во второй раз и последующие все данные уже считываются из какого-то буфера.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #23 : 30 Мая 2011 10:21:34 »
То есть нужно нажзать Alt-G, Alt-E, снова Alt-G? Я так и делал. Поначалу срабатывало. Но вчера вообще перестало. Приходилось полностью перезагружать DromEd. С чем это связано - не знаю.

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #24 : 30 Мая 2011 11:00:50 »
Кстати, в ридми к Motion Database Editor автор пишет, что не понимает, что за цифры прописаны за движениями в mos-файлах. Например, схема может состоять из 4 движений, список которых выглядит так:

motion NM113000     4  500
motion NM113001     0  500
motion NM113002     0  500
motion NM113003     0  500

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

Первая цифра может быть равной 1, 2, 4 или суммой этих чисел (ну, степени двойки, сами понимаете). При суммировании эффекты комбинируются.

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

Кстати, при анимациях из нескольких движений всегда происходит пауза между движениями длительностью в один кадр, особенно заметная при анимации с низким FPS,  и никакая единица не помогает (она лишь немного сглаживает движение).

2 - странные круговые движения вокруг вертикальной оси. Модель идет не по маршруту, а утыкается в стену и начинает елозить лицом по этой стене, хаотично поворачиваясь вправо и влево.

4 - отключение движения по горизонтали ("бег на месте").


Вторая цифра изменяет равномерность анимации. Если она равна 0 - то кадры будут идти с равномерной частотой. Если больше 0 - то анимация будет начинаться медленно, к середине движения ее скорость возрастет, а к концу опять замедлится, причем чем больше число, тем сильнее будет этот эффект. Подходит в основном для одиночных движений (для которых, как правило, используется значение 500). Для повторяющихся движений типа ходьбы эта цифра обычно установлена в 0 или используются небольшие значения (до 200).

Оффлайн Zontik

  • Призрак
  • Сообщений: 14772
    • Тёмное место
Анимация в Thief
« Ответ #25 : 30 Мая 2011 11:12:10 »
Бесценная информация! Скопировал в файл.
Пара комментариев.
Цитировать
1 - интерполяция между движениями.
Очень полезная вещь, когда трудно или невозможно зацикливать движение вручную.
Цитировать
4 - отключение движения по горизонтали
Но это, пожалуй, намного ценнее.
Дело в том, что при многократном повторе одних и тех же движений (скажем, мытье посуды или дерганье за рычаг - как было у меня в "Зеркале") персонаж часто "уезжает" в сторону. Теперь понятно, почему - видимо, вместо 4 была выставлена единица. Простое исправдление схем, возможно, решило бы эту проблему ценой небольшого рывка в конце анимации.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #26 : 30 Мая 2011 11:17:49 »
Цитировать
Простое исправдление схем, возможно, решило бы эту проблему ценой небольшого рывка в конце анимации.
По моим наблюдениям, цифры можно складывать (т. е. установить 4+1=5). Хотя тут нужна более тщательная проверка.

Оффлайн Zontik

  • Призрак
  • Сообщений: 14772
    • Тёмное место
Анимация в Thief
« Ответ #27 : 30 Мая 2011 14:16:06 »
Цитировать
То есть нужно нажать Alt-G, Alt-E, снова Alt-G?

Цитировать
ресурсы загружаются при запуске или при первом входе в игровой режим.
То есть перезагрузка DromEd - это единственно верный способ. Почему у тебя раньше срабатывало? А фиг его  знает. Не смог считаться буфер по какой-то причине, и произошла подгрузка. Я так понимаю.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9420
Анимация в Thief
« Ответ #28 : 31 Мая 2011 09:19:01 »
1. Как сделать, чтобы AI не реагировал на игрока?
2. Как принудительно запустить какую-нибудь анимацию?

Оффлайн clearing

  • Хранители
  • Призрак
  • Сообщений: 16881
    • http://darkfate.ru
Анимация в Thief
« Ответ #29 : 31 Мая 2011 09:29:32 »
Оффтопик: Я название темы подкорректировал.