![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Тема предполагается для сообщений о проблемах и ошибках, периодически возникающих при моделлинге / создании кастом-контента под невер, которые либо просто нигде доступно не описаны, либо непонятно, как фиксить.
Думаю, у каждого контентщика две-три такие, да вспомнятся. Постить репорты следующим образом: *Суть проблемы* - краткое, не длиннее одного предложения описание, из чего состоит проблема (ошибка) 1. Почему происходит - если у вас есть предположения либо точные знания о том, откуда она берется. 2.1 Вариант решения - как с этим справится. 2.2 Второй вариант решения - если таковой есть. Отсюда и далее - по желанию. Сообщение отредактировал helvene - Aug 17 2006, 14:40 |
![]()
Сообщение
#2
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Позволю усомниться в актуальности данного топика.
Его надо было создать года 2 назад. В свете выхода НВН2 эта тема будет пустовать. |
![]()
Сообщение
#3
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Из известных мне.
1. Сообщение в логе ошибок о несовпадающих именах файлов. Любой современный плагин экспорта при создании mdl (а также wok, pwk и dwk-файлов) назначает им то же название, которое было у model_base. Если потом файл переименовывается вручную, нужно также открыть и файл модели, и файл проходимости, и сменить там имя model_base на соответствующее названию файла. В целом ошибка не критична - если в хаке не найдется несколько разных моделей, для которых название model_base будет идентично. 2. Как сделать, чтоб стоящего за плейсом персонажа не могли видеть NPC (и, соответственно, его атаковать)? Очень просто - pwk к модели объекта задается не плейном, а боксом, совпадающим по размерам с моделью. На бокс наносится текстура obscuring. Насколько мне известно, в официальных мануалях этой информации нет, так что - считать недокументированной фичей. |
![]()
Сообщение
#4
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
опа.. кто-нить напишет прогу по переделке pwk в боксы, совпадающие с моделью?
|
![]()
Сообщение
#5
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
QUOTE(Lex @ Sep 19 2006, 12:42) [snapback]92097[/snapback] опа.. кто-нить напишет прогу по переделке pwk в боксы, совпадающие с моделью? Лекс, вопрос к специалистам по скриптам макса. В принципе, скрипт простой: у плейна выделить все полигоны + сделать им extrude на высоту плейса + применить к полученной фигуре текстуру + экспортировать. Только если учитывать, что плейн pwk может быть и сложным, я бы предпочла делать руками. |
![]()
Сообщение
#6
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Да можно же не жесткое совпадение... а грубо говоря описывающий модельку параллелограм.. уже лучше, чем плоскость (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#7
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Работа с битыми тайлсетами
Каждый, занимающийся тайлсетами, рано или поздно натыкался на то, что только что созданный тайлсет отказывается работать. Обычно ошибка, выводимая редактором, при этом выглядит так: List index out of bound (Х), где Х - число. На самом деле, Х - это номер тайла, на котором произошла ошибка. В случае, если Х=0, ищите ошибку в описании тайлсета. В случае, если Х < количества тайлов в тайлсете, смотрите номер тайла, и разбирайтесь, что в нем не так. Возможно, он неправильно прописан в тайлсете, а возможно, экспортирован с ошибкой. В случае, если Х > количества тайлов в тайлсете - значит, какая-то из групп тайлсета пытается использовать тайл, в общем списке тайлов не прописанном. И указанном в этой группе с номером, например 501, при том, что общее число тайлов - 500. Да можно же не жесткое совпадение... а грубо говоря описывающий модельку параллелограм.. уже лучше, чем плоскость Да, если мы имееем дело с прямоугольником, из которого можно создать бокс. А если в основе лежит шестиугольник? И при выдавливании сгенерятся не только полигоны по его границам, но еще и "внутри"? Честно говоря, я не уверена, что в таком случае вокмеш будет корректно работать. Можно, впрочем, потестить. Сообщение отредактировал helvene - May 13 2008, 22:16 |
![]()
Сообщение
#8
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Вспоминл фишку, подходит ТОЛЬКО для экстремалов и людей, вылавливающих в своих твореиях малейшие ошибки. Идеально подходит для тех, кто делает тайлсеты.
Часто бывало так, что после того, как я отмоделлил контент, прописал его и внедрил в модуль - то видимых ошибок (критикал эрррор) не возникало. НО как показывает практика, ЕСЛИ они всеже есть, и вылезают на более поздних тсадиях, то нажав на кнопку "save" вы рискуете покрашить свой модуль из-за такого контента, внеся вместе с ним так называемые "independence error", когда ошибка так глубоко вгрызается в вашу работу, что проявляется только со временем, рождая за собой еще кучу ошибок, с начала никак себя не проявляющих, и, к сожалению иногда оказывается необратимой, без переделки заново огромной работы. Такие ошибки есть в вашем модуле, если:
Например, вы сделали башню, это групповой тайл, весьма сложный, высокополигонаьный, использующий эммитеры и все на свете. Вы день отлаживали вашу башенку, и отладили ее на 90%, она стоит, блещет и не падает. Теперь перегрузите тулсет, создайте новый модуль, простой тайлсет (микросет) и поставьте туда свою башню и обвес снова, а теперь самое главное - после того как закончите - нажмите кнопку закрытия тулсета!!! Вам будет предлложено сохранить модуль. Соглашаемся. И вот самое интересное - если ваш контент содержит те 10% ошибок, которые вы не нашли сами, и которые НЕ ВЫЛЕЗУТ ПРИ НАЖАТИИ КНОПКИ SAVE, вылезут именно сейчас. Если закрытие сопроводится "critical error" - ищите баги в контенте. Если все будет чисто - значит 100% готовность вашей работы. Можете ее архивировать и гордиться собой ) P.S. Еще раз напомню, перегружать тулсет, и создавать новый модуль надо ПРИ КАЖДОЙ итерации проверки моделей ЗАНОВО! Сообщение отредактировал Leon PRO - Sep 20 2006, 00:14 |
![]()
Сообщение
#9
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
QUOTE(Leon PRO @ Sep 19 2006, 13:29) [snapback]92110[/snapback] Повторю, этот вариант подходит только в экстремальных условиях, ибо каждая итерация проверки конетента не заканчивается кнопкой сохранения, и чтобы проверить все заново - надо создавать новывй модуль. Не знаю, как насчет экстремальных условий - все хаки, которые сделала за последние полгода, именно так и проверяла. Раньше - нет, ленилась. Кстати, к вышеописанному могу добавить, что такую проверку необходимо произвести для всех используемых хаков при переходе с более ранней на более позднюю версию игры. Я пару раз обнаруживала, что хак, казавшийся идеальным до апдейта, после - начинал выдавать critical error. |
![]()
Сообщение
#10
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Что делать, если персонаж видит через стену?
Это достаточно распространенная ошибка, которая, в том числе, встречается во многих выпущенных и весьма популярных тайлсетах. Мне из тех, где она имеется, известны Pasilli's Elven Interiors и JDA Dwarven Halls. Причина простая - многие авторы тайлсетов либо делают walkmesh локации совсем плоским, на непроходимые места назначая текстуру unwalkable (что совсем недопустимо), либо назначают ту же текустуру на аналог геометрии стен в walkmesh. Это приводит к тому, что движок обрабатывает стены, как поверхности, ходить по которым нельзя, но все равно поверхности совершенно прозрачные. Т.е., персонаж сквозь них и видеть может, и, что того хуже, и стрелять, и заклинаниями кидаться. Решение: на стенах должна быть текстура Obscuring. |
![]()
Сообщение
#11
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Персонаж в моем тайлсете не отбрасывает на пол тени
Причина: уровень пола находится ниже отметки 0. Решение: поднять все тайлы. Так, чтоб пол находился выше нуля. |
![]()
Сообщение
#12
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Не столько "грабли", сколько еще одна движковая особенность
Анимированные текстуры (к которым прописывается файл с информацией о текстуре texture_name.txi) не могут быть в формате dds и не могут быть больше размером, чем 256x256. Даже если вам повезло, и на вашей машине текстурная анимация работает и при несоблюдении этих двух условий - учтите, что на большинстве видеокарт либо вместо текстурированной поверхности будет равномерно белая, либо использование такой текстуры вообще приведет к вылетанию редактора / игры. |
![]()
Сообщение
#13
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Hеполная прозрачность текстур
В общем, фишка уже более-менее известная, но еще ни разу не встречала того, чтоб она хоть где-то была описана. Допустим, мы делаем воду. И требуется, чтоб она была прозрачной. Если mesh с водой прилинковать просто к modelbase, получится следующее: ![]() Как видите, вода - есть, пол под ней - просвечивает, модель персонажа - нет. Решение. Плейн с вобой линкуется к базе объектов через a-dummy: ![]() Результат: ![]() Возможное объяснение: a-dummy - дополниетльный node модели, созданный для анимированных частей. Части объекта, к которым применяются шейдеры или прозрачность, также рекомендуется линковать к нему. Сообщение отредактировал helvene - May 13 2008, 22:10 |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 16:05 |