×
Меню
Индекс

Краткий экскурс. Вопрос - Ответ

Вопрос
Сделал модель с полупрозрачными деталями, в 3д МАХ все выглядит нормально, но в игре они полностью не прозрачны!
Ответ
- проверьте triShapeData->vertex color->уровань альфы для вертексов.
 
Возможно вы применяли Vertex Paint со 100% alpha. Отчего модель стала полностью непрозрачной на уровне цвета вертексов.
Это полностью блокирует все прочие настройки прозрачности.
Чтобы исправить, снова примените на модель VertexPaint в настройках кисти управляйте уровнем прозрачности
и обработайте участки требующие прозрачность.
 
Либо полностью отключить использование цвета вертексов в этом разделе.
 
Также:
- проверьте наличие свойств альфы в ниф файле. Если их нет, добавьте уровень прозрачности в материал.
- в 2д редакторе посмотрите наличие альфа канала в текстуре.
 
Вопрос
Как мне сделать проходимую для игрока поверхность? И сказывается ли это на работе АИ.
Ответ
Добавить в корень ниф файла NiStringExtraData со значением NCO.
Это полностью отключит просчет коллизий.
Модель свободно выделяется в редакторе, но в почти полностью не осязаема для игрока (и прочих).
Единственный момент, что следует учитывать:
- снаряды будут взрываться о такую поверхность и находящиеся за ней объекты, будут не достижимы.
Впрочем, в большинстве случаев, этого и не требуется.
 
Многие игровые поверхности имеют этот стринг.
Например вода вокруг храма Вивека, водопады, некоторые растения и пр.
 
На работе АИ, по видимости, это не сказывается.
 
Еще варианты:
Преобразовать некоторые ноды объекта в niCollisionSwitch.
Это позволит сделать проходимыми только определенные участки объекта.
Однако, не следует превращать в КолиженСвитч корень файла.
При этом, такой вариант оказывает более предпочтителен, т.к. не вызывает проблем с активацией предметов находящихся сзади видимой поверхности. Равно и снаряды будут свободно пролетать сквозь такую поверхность.
Однако, здесь (скорее всего) потребуется добавление Маркера.
Иначе, объект состоящий из одних КолиженСвитч нод, не возможно подцепить в редакторе.
 
Другой вариант; создать в 3д редакторе упрощенную версию объекта имеющую проходы в своей поверхности.
Затем преобразовать этот объект в RootCollisionNode, что позволит более точно определить проходимые участки.
Видимые области можно дополнительно упаковать в niCollisionSwitch ноды.
Никаких стрингов экстра даты добавлять не требуется.
 
Также, можно создать, просто пустую РК (флаг 3).
Вовсе лишенную вложенных шейпов.
Как ни странно, но этот вариант может оказаться самым простым.
 
Еще способ:
Т.е. включить на объекта использование прокси геометрии.
 
Вопрос
Как мне добавить текстуру Бампа в модель.
Ответ
См. здесь.
Добавляется также, как и прочие текстуры.
 
Вопрос.
Как оптимизировать модель.
Ответ
1. зайти в меню Spell->Optimize->Combine Properties.
Это удалит все повторяющиеся свойства материалов и текстур.
Это действие следует проводить всегда в финале полировки модели.
Не следует делать это в начале доработки ниф файла, но только после завершения всех прочих действий, если таковые конечно имели место быть.
2. если этого недостаточно, можно попробовать объединить несколько шейпов в один.
Работает только в случае одинаковой текстуры, по каким-то причинам разделенной на несколько шейпов.
Для этого в ручную прописать одинаковые текстурные и материальные свойства объединяемым шейпам.
Также проверить наличие Has Vertex Color в triShapeData - в обоих случаях должно быть NO.
Шейпы должны находится в одной ноде!
ПКМ по этой ноде и Combine Shapes - это соединит несколько шейпов в один.
*обратите внимание, для нифскопа 1.1.3 опция комбинирования шейпов не работает на корневой ноде.
*также не следует соединять сильно полигональные поверхности. Лимит на один шейп 65к треугольноков.
*если у одного шейпа, в шейпдате есть настройки цвета вертексов, а у другого нет, то слияния шейпов не произойдет! Has Vertex color должен быть равен для всех шейпдат. Либо Yes, либо No.
3. можно сократить кол-во нод, если это возможно для конкретного файла.
 
Также, существует утилита Sniff.
Которая позволяет, как пакетно, так и по штучно, проводить различного рода оптимизации ниф файлов.
Т.е. для обновления массива файлов, это просто не заменимая вещь!
 
Вопрос
Объект (существо, или доспехи) имеют очень большую дистанцию активации.
Название появляется за несколько "метров".
Ответ
- Возможно у объекта нет Боунд Бокса, либо он слишком большой.
Следует уменьшить размер ББ, либо добавить оный. Это касается только существ.
 
- Вероятно проблема в скининге, слишком большие радиусы Bounding Sphere Radius.
Такое частенько происходит при многократном использовании SkinWarpa в 3д МАХе.
Следует зайти в настройки SkinData->Bone List->Bounding Sphere Radius-> установить меньшее значение.
Это касается брони (одежды в целом) и существ.
Помогает не всегда, но как вариант.
Также см. здесь.
 
- Импортировать модель обратно в МАХ и проверить скининг, скорректировав зоны влияния костей.
Т.е. проверить объект на кол-во синих вертексов, см. также ниже о проблемах с щелями.
 
- Еще, можно попробовать упаковать шейпы, или преобразовать имеющиеся ноды в КолиженСвитч ноду.
При этом добавить в  файл брони (одежды) Боунд Бокс.
 
Вопрос
Как сделать запрещенную зону. Например новую модель лавы.
Ответ
См. AvoidNode.
 
Вопрос
Сделал модель со скинингом, в нифскопе и в 3д МАХ все прекрасно, но в игре вижу щели на поверхности!
Ответ
Слишком много костей воздейтсвует на один вертекс + влияние развертки текстуры.
Либо значения веса костей на вертексах вышли за придел минимально допустимого значения понимаемого игрой.
 
В основном, влияет развертка, т.е. щели возникают только в местах швов развертки.
Если модель не имеет развертки вовсе, то щелей не возникает вовсе.
 
Сократите кол-во костей на вертекс до 4х.
Либо увеличьте значения веса для двух основных костей. Это должно помочь сократить размер щелей.
 
Обязательно проверьте кол-во синих вертексов!
Как правило после SkinWarpa с большим значением Warpinga - модель обрастает ими как грязью.
Отчего вертексы могут получит воздействие сразу от всех костей скелета!
Что, закономерно, приводит к сокращению веса для основных костей.
Удалите все лишние зоны синих вертексов!
 
2. попробуйте сместить швы развертки текстуры.
Т.е. переместите острова так, чтобы швы приходились на наименее гибкие места сетки.
Т.е. там где наименьшее кол-во костей влияет на вертексы.
 
Есть информация, что новые сборки МВСЕ от 2024го, могли поправить это безобразие.
Т.е. установите МВСЕ, которое автоматически пропатчит игру во время сеанса.
 
Вопрос
Некоторый небольшой объект исчезает на краю экрана! Когда он должен быть еще виден.
Когда близко подхожу к объекту на нем начинают появляться "дыры" словно камера попала во внутрь.
 
Ошибка связаная со слишком большим радиусом объекта.
 
В нифскопе пройтись по всем niTriShapeData и сделать Update Centre Radius.
Если значение значительно изменилось, вероятность того, что проблемы была здесь весьма высока.
 
Как вариант прописать в поле Radius:
<float_max>
Либо:
<float_min>
Первое (вероятно) более правильно.
 
Аналогично это работает и для частиц.
Но здесь не так заметно.
 
Вопрос
Как скрыть элемент ниф файла.
Ответ
Поставить флаг Hidden в настройках шейпа, или ноды.
Как вариант, сменить номер флага на нечетный.
2->3
42->43
8->7
Т.е. нечетный флаг всегда скрывает шейп, или ноду.
 
Обратите внимание, скрытая нода, всегда будет скрывать и все вложенные в нее объекты.
 
Ели речь идет о создании управляемой анимации, то воспользуйтесь niViscontroller-ом.
 
Вопрос
Как плавно скрыть частицы
Ответ
Добавить контроллер невидимости на их эмиттер.
 
Т.е. контроллеры размещенные на эмиттере частиц, позволяют самим частицам проигрывать положенные анимации до их полного завершения.
Т.е. именно состояние видимости эмиттера отвечает за отображения частиц!
 
Стоит еще обратить внимание на:
- если частицы используют в качестве эмиттера поверхность шейпа, то контроллер невидимости должен размещаться на родительской ноде (для этого шейпа).
Если разместить его прямо на шейп, это не приведет к желаемому результату.
Т.е. должна использоваться только нода!
 
- за "затухание" ака изменения размера частиц отвечает GrowFade модификатор.
Т.е. если речь идет плавном затухании, то имеет смысл посмотреть в эту сторону.
 
Вопрос
Как добавлять, или исправлять уже имеющиеся скелетные анимации (существ, активаторов, нпс)
Ответ
Добавлять новые анимации, в приделах возможного, возможно через 3д МАХ, или через Блендер.
Старую версию оного (2.41) по средством Нифтулз плагина.
Который поддерживает экспорт скелетных анимаций.
Увы, плагин почил на "лаврах" и не обновляется уже много лет.
 
Или же, через свежую версию  Блендера (2.8).
Которая с 03 2020 получила совершенно новый плагин, который умеет импортировать и экспортировать такие анимации!
https://github.com/Greatness7/io_scene_mw/releases - плагин под блендер 2.8.
 
Ограничено, можно изменять анимации через нифскоп.
Но в полной мере возможно изменять их порядок, или использовать уже имеющиеся анимации в других целях.
Т.е. прописать существу названия групп анимаций атаки оружием в уже имеющиеся группы анимаций атак лапами.
Делается это посредством редактирования КФ файла.
 
Также ограничено можно использовать АнимКИт для извлечения некоторых анимаций существ и назначения оных в качестве дополнительных НПСам.
 
Вопрос
В сцене есть флип контроллер, настроено все правильно, но в игре заметно подергивание кадров.
Анимация не выглядит зацикленной, хотя в нифскопе все нормально.
Ответ
Проверяйте время завершения (Stop Time) у всех контроллеров в сцене.
Оно должно быть одинаковым.
Также, проверьте ключи в data контроллеров.
 
Если в сцене есть частицы, обратите внимание на время их жизни.
Оно не должно быть короче, чем анимации флип контроллера.
Обычно проблема как-раз в этом, частицы исчезают раньше, чем успевает проиграться вся анимация текстур.
 
В большинстве случаев, такое происходит, при копировании контроллеров с разным временем работы.
 
Примечание.
Верно для любых контроллеров, не только для Flipp!
 
Вопрос
Сделал новую модель магического щита, анимации работают нормально, но при движении щит подергивается.
Ответ
Проверьте флаг анимационной ноды!
Оптимально будет назначение 128го флага.
 
Поскольку щит встраивается в структуру "скелета" ГГ и НПС, то он получает от них известное воздействие.
Что при использовании обычных флагов (32, 42) и приводит к некоторому рассинхрону.
 
Вопрос
Сделал модель брони (скиненной) но она не отображается на игроке в игре!
Ответ
Вероятно неправильные имена слотов, либо нарушена нумерация, либо корень скелета (файла) назван не правильно. Реже ошибки скининга.
 
- Проверьте имена слотов.
- Проверьте их нумерацию, не должно быть пробелов в оной, а равно перед номер должен идти пробел. 
- Проверьте имя корня файла и корня скелета. Обязательно должно быть, как BIP01.
- Удалите все лишние ноды. Т.е. шейпы брони (одежды) могут размещаться в файле без дополнительных нод.
 
Вопрос
Создал анимацию смещения развертки на существе, в нифскопе все ок, но в игре не работает.
Ответ
Проверьте наличие скининга на сетках существа.
В ванили, скининг и ЮВ контроллер не могут работать на одной поверхности.
 
Однако, в 2024ом, в МВСЕ был добавлен патч, позволяющий работать им вместе.
Для этого, откройте ниф файл существа и установите, на всех шейпах где используется скининг и ЮВ анимации, флаг 512. Это активирует использование патча.
МВСЕ должно быть активно!
 
Если скининга нет, то проверьте правильность флагов анимации и (или) наличие анимационных нод.
 
Вопрос
Здравствуйте, дорогой автор заметок!
Они мне весьма помогли при создании анимированного щита с ползающей текстурой огня. Конкретно вот эта статья
https://morrowind-nif.github.io/Notes_RU/niuvcontroller_uv0_fix.htm
Однако возник один вопрос. Я пытался двигать карту глоу, и также двигалась базовая текстура, в виде расползающейся из центра щита магмы.
UV-контроллер действует на оба слота. Проверял несколько вариантов базовой текстуры - серая 128, 128, 128,
(как рекомендовано в заметках), чисто белая, чисто черная, чистая альфа, и дублирование текстуры глоу на базовый слот.
При дублировании текстуры она светилась слишком сильно. При черной базовой "естественные" цвета сохранялись.
При серой - цвета как-то блекли.
При чисто белой - вся поверхность заливалась серым цветом.
При альфе - полная прозрачность.
Мне больше понравился вариант с черной базовой текстурой. Хотел спросить, а почему в статье рекомендуется серая базовая текстура, а не черная, какие-то подводные камни?
серый цвет базы - цвета блекнут
черный цвет базы - цвета глоу сохраняются
дублирование глоу и базовой текстуры - слишком яркое свечение
Хотя конечно статья рассказывает про другую ситуацию, карту декалей и отдельный ея UV-контроллер
 
ПС..
У меня тут интересный эксперимент вышел над текстурными слотами.
Если на карту бампа повесить UV-контроллер положим по вертикали, а на NiTextureEffect поставить NiKeyframeController с движением блика по вертикали,
и бамп в идеале повторяющийся бесшовный, то выходят любопытные эффекты
Возможно, что это уже всё известно
 
Насчёт пробелов, можно задавать значения от 0 до 1, это приводит к более гладкому рисунку рефлекта по поверхности бампа.
У Карпа в его улучшенных призванных доспехах значения матрицы бампа на щите 0,1, 0,1, 0,1, 0,1. И он использует базовую текстуру щита в слоте бампа
 
Ответ
Здравствуйте, Дорогой читатель заметок!
Мы рады, что наш скромный труд помог Вам достичь поставленного результата и, надеемся поможет в достижении прочих намеченных целей!
Касательно Вашего Достойного вопроса, позвольте предложить Вам следующие размышления:
- для движения двух карт разными ЮВ контроллерами нужно МВСЕ и менять настройки слотов.
Т.е. с мвсе (теоретически) сами не проверяли можно в настройках ЮВконтроллера менять слот воздействия.
И тогда, добавив 2 контроллера на один шейп, можно воздействовать на несколько слотов сразу.
- если контроллер один и чистая ванила без МВСЕ то да, воздействие определяется слотом ЮВ (в настройках текстуры и контроллера).
- там описан метод "инверсии детайл текстуры". Т.е. серая на базовый, базовая на детайл. Две текстуры. Серая гасит насыщенность базовой которая помещена на слот детайл карты.
- это для сохранения насыщенности цвета основног фона, чтобы он был и не был пережаренным.
- результат в т.ч. зависит от текстуры на Глоу и прочих слотах. Т.е. в заметках показа вариант с Глоу картой с точечной текстурой, т.е. там звездочка а все остальное черный фон. При использовании других тектур результат будет зависеть от их вида в т.ч.
если нужна только Глоу, то да, на базовую можно использовать чистый черный фон, т.к. Глоу все на себя возьмет.