Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
 
Ответить в эту темуОткрыть новую тему
> Работа над ошибками, здесь зарыты грабли!
helvene
сообщение Aug 17 2006, 14:38
Сообщение #1


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Тема предполагается для сообщений о проблемах и ошибках, периодически возникающих при моделлинге / создании кастом-контента под невер, которые либо просто нигде доступно не описаны, либо непонятно, как фиксить.

Думаю, у каждого контентщика две-три такие, да вспомнятся.

Постить репорты следующим образом:

*Суть проблемы* - краткое, не длиннее одного предложения описание, из чего состоит проблема (ошибка)

1. Почему происходит - если у вас есть предположения либо точные знания о том, откуда она берется.

2.1 Вариант решения - как с этим справится.
2.2 Второй вариант решения - если таковой есть. Отсюда и далее - по желанию.

Сообщение отредактировал helvene - Aug 17 2006, 14:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Aug 20 2006, 00:50
Сообщение #2


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Позволю усомниться в актуальности данного топика.
Его надо было создать года 2 назад. В свете выхода НВН2 эта тема будет пустовать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 19 2006, 11:23
Сообщение #3


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Из известных мне.

1. Сообщение в логе ошибок о несовпадающих именах файлов.
Любой современный плагин экспорта при создании mdl (а также wok, pwk и dwk-файлов) назначает им то же название, которое было у model_base. Если потом файл переименовывается вручную, нужно также открыть и файл модели, и файл проходимости, и сменить там имя model_base на соответствующее названию файла.
В целом ошибка не критична - если в хаке не найдется несколько разных моделей, для которых название model_base будет идентично.

2. Как сделать, чтоб стоящего за плейсом персонажа не могли видеть NPC (и, соответственно, его атаковать)?
Очень просто - pwk к модели объекта задается не плейном, а боксом, совпадающим по размерам с моделью. На бокс наносится текстура obscuring.
Насколько мне известно, в официальных мануалях этой информации нет, так что - считать недокументированной фичей.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 19 2006, 11:42
Сообщение #4


Level 5
Иконки Групп

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



опа.. кто-нить напишет прогу по переделке pwk в боксы, совпадающие с моделью?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 19 2006, 11:57
Сообщение #5


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



QUOTE(Lex @ Sep 19 2006, 12:42) [snapback]92097[/snapback]
опа.. кто-нить напишет прогу по переделке pwk в боксы, совпадающие с моделью?

Лекс, вопрос к специалистам по скриптам макса.
В принципе, скрипт простой: у плейна выделить все полигоны + сделать им extrude на высоту плейса + применить к полученной фигуре текстуру + экспортировать.

Только если учитывать, что плейн pwk может быть и сложным, я бы предпочла делать руками.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 19 2006, 12:08
Сообщение #6


Level 5
Иконки Групп

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Да можно же не жесткое совпадение... а грубо говоря описывающий модельку параллелограм.. уже лучше, чем плоскость (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 19 2006, 12:15
Сообщение #7


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Работа с битыми тайлсетами

Каждый, занимающийся тайлсетами, рано или поздно натыкался на то, что только что созданный тайлсет отказывается работать. Обычно ошибка, выводимая редактором, при этом выглядит так:
List index out of bound (Х), где Х - число.

На самом деле, Х - это номер тайла, на котором произошла ошибка.

В случае, если Х=0, ищите ошибку в описании тайлсета.
В случае, если Х < количества тайлов в тайлсете, смотрите номер тайла, и разбирайтесь, что в нем не так. Возможно, он неправильно прописан в тайлсете, а возможно, экспортирован с ошибкой.
В случае, если Х > количества тайлов в тайлсете - значит, какая-то из групп тайлсета пытается использовать тайл, в общем списке тайлов не прописанном. И указанном в этой группе с номером, например 501, при том, что общее число тайлов - 500.

QUOTE (Lex @ Sep 19 2006, 13:08) *
Да можно же не жесткое совпадение... а грубо говоря описывающий модельку параллелограм.. уже лучше, чем плоскость

Да, если мы имееем дело с прямоугольником, из которого можно создать бокс. А если в основе лежит шестиугольник? И при выдавливании сгенерятся не только полигоны по его границам, но еще и "внутри"? Честно говоря, я не уверена, что в таком случае вокмеш будет корректно работать.

Можно, впрочем, потестить.

Сообщение отредактировал helvene - May 13 2008, 22:16
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Sep 19 2006, 12:29
Сообщение #8


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Вспоминл фишку, подходит ТОЛЬКО для экстремалов и людей, вылавливающих в своих твореиях малейшие ошибки. Идеально подходит для тех, кто делает тайлсеты.

Часто бывало так, что после того, как я отмоделлил контент, прописал его и внедрил в модуль - то видимых ошибок (критикал эрррор) не возникало. НО как показывает практика, ЕСЛИ они всеже есть, и вылезают на более поздних тсадиях, то нажав на кнопку "save" вы рискуете покрашить свой модуль из-за такого контента, внеся вместе с ним так называемые "independence error", когда ошибка так глубоко вгрызается в вашу работу, что проявляется только со временем, рождая за собой еще кучу ошибок, с начала никак себя не проявляющих, и, к сожалению иногда оказывается необратимой, без переделки заново огромной работы.
Такие ошибки есть в вашем модуле, если:
  • Иногда при сохранении вылетает ошибка, а иногда - нет.
  • Вдруг тулсет падает посреди работы.
  • Модуль перестает открываться (это финал).
Как определить, содержит ли ваш контент ошибки или нет ? Повторю, этот вариант подходит только для трудоголиков, ибо каждая итерация проверки конетента не заканчивается кнопкой сохранения, и чтобы проверить все заново - надо создавать новывй модуль.

Например, вы сделали башню, это групповой тайл, весьма сложный, высокополигонаьный, использующий эммитеры и все на свете. Вы день отлаживали вашу башенку, и отладили ее на 90%, она стоит, блещет и не падает.
Теперь перегрузите тулсет, создайте новый модуль, простой тайлсет (микросет) и поставьте туда свою башню и обвес снова, а теперь самое главное - после того как закончите - нажмите кнопку закрытия тулсета!!!
Вам будет предлложено сохранить модуль. Соглашаемся. И вот самое интересное - если ваш контент содержит те 10% ошибок, которые вы не нашли сами, и которые НЕ ВЫЛЕЗУТ ПРИ НАЖАТИИ КНОПКИ SAVE, вылезут именно сейчас. Если закрытие сопроводится "critical error" - ищите баги в контенте. Если все будет чисто - значит 100% готовность вашей работы. Можете ее архивировать и гордиться собой )

P.S. Еще раз напомню, перегружать тулсет, и создавать новый модуль надо ПРИ КАЖДОЙ итерации проверки моделей ЗАНОВО!

Сообщение отредактировал Leon PRO - Sep 20 2006, 00:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 19 2006, 23:52
Сообщение #9


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



QUOTE(Leon PRO @ Sep 19 2006, 13:29) [snapback]92110[/snapback]
Повторю, этот вариант подходит только в экстремальных условиях, ибо каждая итерация проверки конетента не заканчивается кнопкой сохранения, и чтобы проверить все заново - надо создавать новывй модуль.

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

Кстати, к вышеописанному могу добавить, что такую проверку необходимо произвести для всех используемых хаков при переходе с более ранней на более позднюю версию игры. Я пару раз обнаруживала, что хак, казавшийся идеальным до апдейта, после - начинал выдавать critical error.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 27 2006, 12:15
Сообщение #10


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Что делать, если персонаж видит через стену?

Это достаточно распространенная ошибка, которая, в том числе, встречается во многих выпущенных и весьма популярных тайлсетах. Мне из тех, где она имеется, известны Pasilli's Elven Interiors и JDA Dwarven Halls.

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

Решение: на стенах должна быть текстура Obscuring.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 27 2006, 12:17
Сообщение #11


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Персонаж в моем тайлсете не отбрасывает на пол тени

Причина: уровень пола находится ниже отметки 0.

Решение: поднять все тайлы. Так, чтоб пол находился выше нуля.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 29 2006, 17:11
Сообщение #12


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Не столько "грабли", сколько еще одна движковая особенность

Анимированные текстуры (к которым прописывается файл с информацией о текстуре texture_name.txi) не могут быть в формате dds и не могут быть больше размером, чем 256x256.
Даже если вам повезло, и на вашей машине текстурная анимация работает и при несоблюдении этих двух условий - учтите, что на большинстве видеокарт либо вместо текстурированной поверхности будет равномерно белая, либо использование такой текстуры вообще приведет к вылетанию редактора / игры.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Oct 17 2006, 15:07
Сообщение #13


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Hеполная прозрачность текстур

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

Допустим, мы делаем воду. И требуется, чтоб она была прозрачной.
Если mesh с водой прилинковать просто к modelbase, получится следующее:
Прикрепленный файл  transparentwater1.jpg ( 51.67 килобайт ) Кол-во скачиваний: 38

Как видите, вода - есть, пол под ней - просвечивает, модель персонажа - нет.

Решение. Плейн с вобой линкуется к базе объектов через a-dummy:
Прикрепленный файл  transparentwater1a.gif ( 1 килобайт ) Кол-во скачиваний: 27


Результат:
Прикрепленный файл  transparentwater2.jpg ( 72.43 килобайт ) Кол-во скачиваний: 31


Возможное объяснение: a-dummy - дополниетльный node модели, созданный для анимированных частей. Части объекта, к которым применяются шейдеры или прозрачность, также рекомендуется линковать к нему.

Сообщение отредактировал helvene - May 13 2008, 22:10
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th March 2024 - 02:11