Тема предполагается для сообщений о проблемах и ошибках, периодически возникающих при моделлинге / создании кастом-контента под невер, которые либо просто нигде доступно не описаны, либо непонятно, как фиксить.
Думаю, у каждого контентщика две-три такие, да вспомнятся.
Постить репорты следующим образом:
*Суть проблемы* - краткое, не длиннее одного предложения описание, из чего состоит проблема (ошибка)
1. Почему происходит - если у вас есть предположения либо точные знания о том, откуда она берется.
2.1 Вариант решения - как с этим справится.
2.2 Второй вариант решения - если таковой есть. Отсюда и далее - по желанию.
Позволю усомниться в актуальности данного топика.
Его надо было создать года 2 назад. В свете выхода НВН2 эта тема будет пустовать.
Из известных мне.
1. Сообщение в логе ошибок о несовпадающих именах файлов.
Любой современный плагин экспорта при создании mdl (а также wok, pwk и dwk-файлов) назначает им то же название, которое было у model_base. Если потом файл переименовывается вручную, нужно также открыть и файл модели, и файл проходимости, и сменить там имя model_base на соответствующее названию файла.
В целом ошибка не критична - если в хаке не найдется несколько разных моделей, для которых название model_base будет идентично.
2. Как сделать, чтоб стоящего за плейсом персонажа не могли видеть NPC (и, соответственно, его атаковать)?
Очень просто - pwk к модели объекта задается не плейном, а боксом, совпадающим по размерам с моделью. На бокс наносится текстура obscuring.
Насколько мне известно, в официальных мануалях этой информации нет, так что - считать недокументированной фичей.
опа.. кто-нить напишет прогу по переделке pwk в боксы, совпадающие с моделью?
Да можно же не жесткое совпадение... а грубо говоря описывающий модельку параллелограм.. уже лучше, чем плоскость
Работа с битыми тайлсетами
Каждый, занимающийся тайлсетами, рано или поздно натыкался на то, что только что созданный тайлсет отказывается работать. Обычно ошибка, выводимая редактором, при этом выглядит так:
List index out of bound (Х), где Х - число.
На самом деле, Х - это номер тайла, на котором произошла ошибка.
В случае, если Х=0, ищите ошибку в описании тайлсета.
В случае, если Х < количества тайлов в тайлсете, смотрите номер тайла, и разбирайтесь, что в нем не так. Возможно, он неправильно прописан в тайлсете, а возможно, экспортирован с ошибкой.
В случае, если Х > количества тайлов в тайлсете - значит, какая-то из групп тайлсета пытается использовать тайл, в общем списке тайлов не прописанном. И указанном в этой группе с номером, например 501, при том, что общее число тайлов - 500.
Вспоминл фишку, подходит ТОЛЬКО для экстремалов и людей, вылавливающих в своих твореиях малейшие ошибки. Идеально подходит для тех, кто делает тайлсеты.
Часто бывало так, что после того, как я отмоделлил контент, прописал его и внедрил в модуль - то видимых ошибок (критикал эрррор) не возникало. НО как показывает практика, ЕСЛИ они всеже есть, и вылезают на более поздних тсадиях, то нажав на кнопку "save" вы рискуете покрашить свой модуль из-за такого контента, внеся вместе с ним так называемые "independence error", когда ошибка так глубоко вгрызается в вашу работу, что проявляется только со временем, рождая за собой еще кучу ошибок, с начала никак себя не проявляющих, и, к сожалению иногда оказывается необратимой, без переделки заново огромной работы.
Такие ошибки есть в вашем модуле, если:
Что делать, если персонаж видит через стену?
Это достаточно распространенная ошибка, которая, в том числе, встречается во многих выпущенных и весьма популярных тайлсетах. Мне из тех, где она имеется, известны Pasilli's Elven Interiors и JDA Dwarven Halls.
Причина простая - многие авторы тайлсетов либо делают walkmesh локации совсем плоским, на непроходимые места назначая текстуру unwalkable (что совсем недопустимо), либо назначают ту же текустуру на аналог геометрии стен в walkmesh. Это приводит к тому, что движок обрабатывает стены, как поверхности, ходить по которым нельзя, но все равно поверхности совершенно прозрачные. Т.е., персонаж сквозь них и видеть может, и, что того хуже, и стрелять, и заклинаниями кидаться.
Решение: на стенах должна быть текстура Obscuring.
Персонаж в моем тайлсете не отбрасывает на пол тени
Причина: уровень пола находится ниже отметки 0.
Решение: поднять все тайлы. Так, чтоб пол находился выше нуля.
Не столько "грабли", сколько еще одна движковая особенность
Анимированные текстуры (к которым прописывается файл с информацией о текстуре texture_name.txi) не могут быть в формате dds и не могут быть больше размером, чем 256x256.
Даже если вам повезло, и на вашей машине текстурная анимация работает и при несоблюдении этих двух условий - учтите, что на большинстве видеокарт либо вместо текстурированной поверхности будет равномерно белая, либо использование такой текстуры вообще приведет к вылетанию редактора / игры.
Hеполная прозрачность текстур
В общем, фишка уже более-менее известная, но еще ни разу не встречала того, чтоб она хоть где-то была описана.
Допустим, мы делаем воду. И требуется, чтоб она была прозрачной.
Если mesh с водой прилинковать просто к modelbase, получится следующее:
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)