Продолжаю душить бесполезной инфой трёх с половиной людей, заглядывающих в блоги.

Вступление

Как все знают, сцена битвы Артаса с Иллиданом из финала Фрозен Трона является одной моделью, с соответствующими анимациями и камерами. Но есть там кое-что ещё.
Некие файлы с расширением .mrf. И они не просто лежат мёртвым грузом в архиве, а действительно используются в модели, и не самым очевидным способом.
Вот они, сверху вниз:

А здесь в текстовом виде
EventObject "MRFX0000" {
	ObjectId 173,
	EventTrack 1 {
		19300,
	}
}
EventObject "MRDX0000" {
	ObjectId 174,
	EventTrack 1 {
		22300,
	}
}
EventObject "MRFX0001" {
	ObjectId 175,
	EventTrack 1 {
		28133,
	}
}
EventObject "MRFX0002" {
	ObjectId 176,
	EventTrack 1 {
		49833,
	}
}
EventObject "MRFX0003" {
	ObjectId 177,
	EventTrack 1 {
		55933,
	}
}
EventObject "MRFX0004" {
	ObjectId 178,
	EventTrack 1 {
		60633,
	}
}
EventObject "MRFX0005" {
	ObjectId 179,
	EventTrack 1 {
		72867,
	}
}
EventObject "MRDX0001" {
	ObjectId 180,
	EventTrack 1 {
		36067,
	}
}
EventObject "MRDX0002" {
	ObjectId 181,
	EventTrack 1 {
		52433,
	}
}
EventObject "MRDX0003" {
	ObjectId 182,
	EventTrack 1 {
		58333,
	}
}
EventObject "MRDX0004" {
	ObjectId 183,
	EventTrack 1 {
		62500,
	}
}
EventObject "MRDX0005" {
	ObjectId 184,
	EventTrack 1 {
		74633,
	}
}
Да, это событийные объекты. Но они имеют коды, которые не указаны в официальной документации Blizzard.

Ковыряем

Я тупо скопипастил эти событийные объекты в другую модель, с изменением номеров кадров срабатывания, и... ничего не произошло. Ни в редакторе, ни в игре никакого эффекта данные событийные объекты не произвели.
UPDT. Нет, воспроизвести эффект в игре у меня получилось, прошу прощения за дезинформацию. Подробнее в комментарии.
Модель битвы воспроизводится из карты через нативку SetCinematicCameraForPlayer. Можно попробовать также. Но я сделал ещё проще и использовал возможность импорта кастомного экрана кампании.
Сделал камеру над ивентами, накидал побольше света.

И импортировал в кампанию...
Вот оно! Эти событийные объекты выводят (либо удаляют) в нужный кадр плащи Артаса, которые хранятся в виде mrf файлов. И эта технология работает только при выводе на экран моделей через камеру.
UPDT. Внутри обычной игры тоже работает. Подробнее в комментарии.
Если открыть файл в хекс-редакторе, то можно найти ссылку на текстуру плаща:
Да, если здесь поменять путь, то текстура поменяется. Но сама форма mrf будет испорчена. Скорее всего, это просто из-за того, что длина пути должна быть точно такой же, чтобы не испортить структуру файла в hex-формате. Но я сделаю по-человечески: возьму текстурку Textures/DungeonDoodad0.blp и импортирую её в кампанию по пути Doodads\Cinematic\ArthasIllidanFight\ArthasCloakFight.blp.
Результат:
Работает! Текстура поменялась.

UPDT. А ещё можно создать фрейм типа SPRITE с этой моделью, и посмотреть на анимации плаща.

Резюмируя

К нам в редакцию пришло много вопросов
  1. Работает ли это в рефе?
Да.
  1. Что такое mrf?
Понятия не имею. На хайве есть только одно толковое упоминание этих файлов, где автор предположил, что это monochrome recursive format. Я скачал две программы для просмотра изображений, в которых была заявлена поддержка mrf, но они эти файлы не открыли. Мне кажется, что это либо 3д-модель, либо анимация для неё, либо файл, содержащий внутри что-то из этого. Если открыть файлы в хекс-редакторе, то можно увидеть, что они начинаются со слова Morf, что бы это не значило.
Это 3D-модель с анимированными позициями вершин? Я разобрал этот формат, и даже написал скрипт-импортёр для Blender
  1. Можно ли из этого извлечь пользу обычному варкрафтеру?
Нет Не знаю.
P.S. файлик с моделью приложил к посту
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
37
7 месяцев назад
0
А почему я это уже где-то видел, кстати? Оно знакомо) Его нельзя увидеть в рефордже при поиске модели в редакторе?
0
23
7 месяцев назад
0
Ну это части синематик-модели битвы артаса с иллиданом. Точнее не части, просто они там присутствуют как событийные объекты во время некоторых кадров
0
37
7 месяцев назад
0
Это то понятно, но я видимо чем-то это открывал ещё до твоего поста. Надо проверить, не читает ли редактор эти файлы
0
23
7 месяцев назад
0
Насчёт редактора не могу сказать ничего. В игре (судя по видосам выше, ага) вроде было так: в игровом пространстве мрфы рендерятся тупо как статика с одним кадром, а если выводить спрайтом на экран, то тогда отображается как анимированный объект.
0
23
7 месяцев назад
0
теперь если загуглить будет находится этот материал
Не
0
37
7 месяцев назад
0
Пока ещё индексация не дошла. Если бы не в блоге было - уже давно бы находилось
0
23
7 месяцев назад
0
Препарирую потихоньку этот формат. Оказалось, что здесь не просто смена запечённых кадров, некоторая интерполяция присутствует. В файле можно задавать фпс (точнее, параметр обратный ему, типа длительность интервала между ключевыми кадрами)
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.