Выделенное примечание о создании цепочки контроллеров.
В которой, последовательно, можно прописать все доступные контроллеры*.
Что в теории, может принести некоторою пользу. Либо наоборот, создать не нужные проблемы. ^-^
*кроме Морфинга и Скининга.
Как оказалось, (практически) любой контроллер может находится на одном объекте, но воздействует на совсем иной!
Обычно такого не происходит, т.к. при экспорте из 3д МАХ контроллеры всегда имеют целью тот объект, которому они были назначены.
Т.е. если контроллер назначен материалу, то и будет он лежать в составе материала.
А если был использован КейФрейм, то поместится он на отдельную ноду, в детях которой будут, как сам объект, так и контроллер.
Но был найден один случай, где такое работало!
Т.е. контроллер был указан в слоте Controllers простого шейпа, но имел своей целью совсем иной объект!
Что в свою очередь воздействовало на всю сцену в целом!
Скрывая, как сам шейп, так и прочие объекты находившиеся в составе иерархии.
Повторные тесты подтвердили такую возможность!
Т.е. слот Controller шейпа, или ноды, является лишь местом для размещения контроллера в файле, но не является контролирующим для объекта!
Т.е. для воздействия на целевой объект, главное правильно указать его номер в Target контроллера.
Было проверено для Юв, Флип и Кейфрейм и прочих доступных контроллеров!
Т.е. была создана длинная цепочка, в которой последовательно были указаны все находящиеся в файле контроллеры.
И это сработало!
Анимация сохранилась в полном объеме.
НО:
- нифскоп перестал показывать ее корректно.
- стартовые позиции объектов сместились, впрочем это никак не сказалось на самой анимации в игре.
Например.
Создать в файле пустую ноду, где, в слоте Controllers указать любой из уже имеющихся в сцене контроллеров.
Затем, уже в слоте Next controller этого контроллера указать следующий контроллер.
И так далее.
Получится длинная цепочка вложений из различных контроллеров.
Теперь, следует очистить слоты Controllers Нод, Шейпов, материалов и прочего.
Так чтобы все упоминания контроллеров шли только из той, свеже созданной, ноды.
И наконец, это опционально на самом деле, переназначить детей в корневой ноде.
Т.е. вместо нод, указать их шейпы.
Т.е. если есть желание дополнительно оптимизировать файл, то можно выкинуть все (ставшие не нужными) ноды.
Переместив цели контроллеров на шейпы, которые были в составе этих нод.
А финальный штрих, будет, удалить все оказавшееся вне корневой ноды.
Насколько это полезно, или нужно делать вообще - вопрос открытый.
Но если так можно сделать, то отчего бы и нет?
Хотя нет, практическая польза в этом точно есть!
Так можно сократить кол-во анимационных нод в файле, равно как и кол-во нод в целом!
Если бы получилось изменить скрипт экспорта из Маха, или Блендера, то все означенные действия могли бы проходить в автоматическом режиме.
Примечание.
В принципе, очищать исходные объекты от прописанных в них контроллеров, не так чтобы обязательно.
Т.е. контроллеры остаются на своих местах + в отдельной ноде, где все идут последовательно один в другом.
Т.е. можно создать цепочку, просто для наглядности и удобства управления анимациями в целях дебагинга!
А после отладки - удалить эту ноду, на сами контроллеры это никак не повлияет.
Примечание.
Контроллер морфинга, не может быть добавлен в цепочку!
Это приводит игру (и редактор) к вылету.
Даже если морфинг не удалялся с исходного шейпа, но просто был добавлен в такую цепочку контроллеров в виде "ссылки"!
Т.е. можно создавать цепочку со всеми прочими контроллерами, кроме морфинга.
Примечание.
Если удалить исходный объект со всеми его контроллерами, то!
Они останутся в такой отдельной цепочке, при этом потеряют свои исходные цели.
Что закономерно, приведет к КТД!
Т.е. если саму цепочку можно легко удалять, то при удалении объектов с контроллерами, ее следует проверить на предмет "призраков"!
Если же, контроллер был перемещен с целевого объекта в цепочку, а затем сам целевой объект был удален, то!
Также, в цепочке останется контроллер с пустым слотом Target, который точно приведет игру и редактор в "восторг" ака к КТД!
Т.е. цепочки требуют повышенного внимания!
|
|
Исходный файл.
Контроллеры находятся в своих родных местах.
|
"поправленный" файл.
Все контроллеры убраны в одну ноду.
Однако, переназначать все это вручную - очень не удобно.
Кроме контроллеров, приходится менять и дочерние объекты в корневой ноде. И везде могут подстерегать ошЫбки! ^-^
С другой стороны, все контроллеры, как на ладони.
|