×
Меню
Индекс

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

Вопрос
Сделал модель с полупрозрачными деталями, в 3д МАХ все выглядит нормально, но в игре они полностью не прозрачны!
 
Ответ
- проверьте triShapeData->vertex color->уровань альфы для вертексов.
 
Возможно вы применяли Vertex Paint со 100% alpha.
Отчего модель стала полностью непрозрачной на уровне цвета вертексов.
Это полностью блокирует все прочие настройки прозрачности.
Чтобы исправить, снова примените на модель VertexPaint в настройках кисти управляйте уровнем прозрачности
и обработайте участки требующие прозрачность.
 
Либо полностью отключить использование цвета вертексов в этом разделе.
Т.е. has vertex colors = no.
 
Также:
- проверьте наличие свойств альфы в ниф файле. Если их нет, добавьте.
- в 2д редакторе посмотрите наличие альфа канала в текстуре.
 
Вопрос
Как мне сделать проходимую для игрока поверхность?
 
Ответ
Добавить в корень ниф файла NiStringExtraData со значением NC.
Это полностью отключит просчет коллизий для целевого объекта.
Модель свободно выделяется в редакторе, но в игре не осязаема для игрока (и прочих).
Единственный момент, что следует учитывать:
- Находящиеся за ней объекты, будут не достижимы для активации.
Т.е. для паутины посреди коридора, это не вызовет проблем, но если накрыть такой моделью сундук и не дать возможность игроку зайти за "паутину", сундук не сможет быть активирован!
Такая же проблема возникает у моделей травы, что можно видеть в некоторых плагинах.
 
Многие игровые поверхности имеют этот стринг.
Например вода вокруг храма Вивека, водопады, паутина, некоторые растения и пр.
 
Другой вариант;
Преобразовать некоторые ноды объекта в niCollisionSwitch.
Это позволит сделать проходимыми как определенные участки объекта, так и весь объект.
Однако, не следует превращать в КолиженСвитч корень файла!
Иначе, объект состоящий из одних КолиженСвитч нод, станет не возможным подцепить в редакторе.
 
Вариант с использование КолизионСвитч ноды, оказывает более предпочтителен.
Т.к. не вызывает проблем с активацией предметов находящихся сразу за видимой поверхностью.
Равно и снаряды будут свободно пролетать сквозь такой объект.
 
Для удобства работы в редакторе, следует добавить Маркер.
 
Другой вариант;
Создать в 3д редакторе упрощенную версию объекта имеющую проходы в своей поверхности.
Это позволит более точно определить проходимые участки
Затем преобразовать объект в RootCollisionNode.
Видимые области можно дополнительно упаковать в niCollisionSwitch ноды.
Никаких стрингов экстра даты добавлять не требуется.
 
Другой вариант;
В файле, можно создать, просто пустую РК (флаг 3).
Т.е. вовсе лишенную вложенных шейпов.
Как ни странно, но этот вариант может оказаться самым простым.
Не требуется прописывать экстрадаты, или создавать специфические ноды.
 
Еще способ:
Т.е. включить на объекта использование прокси геометрии.
Но это самое "экстремальное" и не практичное.
 
Вопрос
Как добавить текстуру Бампа в модель.
 
Ответ
См. здесь.
 
Вопрос.
Как оптимизировать модель.
 
Ответ
 
 
 
Вопрос
Объект (существо, или доспехи) имеют очень большую дистанцию активации.
Название появляется за несколько "метров".
 
Ответ
- Возможно у объекта нет Боунд Бокса, либо он слишком большой.
Следует уменьшить размер ББ, либо добавить оный. Это касается только существ.
 
- Если проблема с доспехами, то вероятно, проблема в скининге.
Слишком большие радиусы Bounding Sphere Radius.
Такое частенько происходит при многократном использовании SkinWarpa в 3д МАХе.
Следует зайти в настройки SkinData->Bone List->Bounding Sphere Radius-> установить меньшее значение.
Это касается брони (одежды в целом) и существ.
Помогает не всегда, но как вариант.
Также см. здесь.
 
- Импортировать модель обратно в МАХ и проверить скининг, скорректировав зоны влияния костей.
Т.е. проверить объект на кол-во синих вертексов, см. также ниже о проблемах с щелями.
 
- Еще, можно попробовать упаковать шейпы, или преобразовать имеющиеся ноды в КолиженСвитч ноду.
При этом добавить в  файл брони (одежды) Боунд Бокс.
 
Вопрос
Как сделать запрещенную зону. Например новую модель лавы.
Ответ
См. AvoidNode.
 
Вопрос
Сделал модель со скинингом, в нифскопе и в 3д МАХ все прекрасно, но в игре вижу щели на поверхности!
Ответ
Слишком много костей воздействует на один вертекс + влияние развертки текстуры.
Либо значения веса костей на вертексах вышли за придел минимально допустимого значения понимаемого игрой.
 
В основном на возникновение проблемы, влияет текстурная развертка.
Т.е. щели возникают только в местах швов развертки.
Если модель не имеет развертки вовсе, то щелей не возникает вовсе.
Также, в известной мере, чем больше полигонов, тем выше шанс поймать "щели".
 
Сократите кол-во костей на вертекс до 4х.
Либо увеличьте значения веса для двух основных костей в проблемной области.
По крайней мере, это должно помочь сократить размер щелей.
 
Обязательно проверьте кол-во синих вертексов!
Как правило после SkinWarpa с большим значением Warpinga - модель обрастает ими как грязью.
Отчего вертексы могут получит воздействие сразу от всех костей скелета!
Что, закономерно, приводит к сокращению веса для основных костей.
Удалите все лишние зоны синих вертексов!
 
2. попробуйте сместить швы развертки текстуры.
Т.е. переместите острова так, чтобы швы приходились на наименее гибкие места сетки.
Т.е. там где наименьшее кол-во костей влияет на вертексы.
 
3. используйте МВСЕ старше 2024го.
Для активации патча:
- установите на все шейпы, проблемной модели, флаг 512 (вместо 0, 2, 8 или что там стояло).
Это устранит проблему щелей, без необходимости доработки модели.
ОпенМв, вроде бы, вовсе не имеет этой проблемы.
 
Вопрос
Некоторый небольшой объект исчезает на краю экрана! Когда он должен быть еще виден.
Когда близко подхожу к объекту на нем начинают появляться "дыры" словно камера попала во внутрь.
 
 
Проблема связана с  радиусом объекта.
 
В нифскопе пройтись по всем 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.
 
Ограничено, можно изменять анимации через нифскоп.
Но в полной мере возможно изменять их порядок, или использовать уже имеющиеся анимации в других целях.
Т.е. прописать существу названия групп анимаций атаки оружием в уже имеющиеся группы анимаций атак лапами.
Делается это посредством редактирования КФ файла.
 
Также ограничено можно использовать АнимКИт для извлечения некоторых анимаций существ и назначения оных в качестве дополнительных НПСам.
 
Т.е. для грамотного и полноценного обновления существующих анимаций, придется использовать полноценный 3д редактор, куда импортировать целевой объект и его анимации.
 
Вопрос
В сцене есть флип контроллер, настроено все правильно, но в игре заметно подергивание кадров.
Анимация не выглядит зацикленной, хотя в нифскопе все нормально.
 
Ответ
Проверяйте время завершения (Stop Time) у всех контроллеров в файле.
Оно должно быть одинаковым.
Также, проверьте ключи в data контроллеров.
 
Если в сцене есть частицы, обратите внимание на время их жизни.
Оно не должно быть короче, чем анимации флип контроллера.
Обычно проблема как раз в этом, частицы исчезают раньше, чем успевает проиграться вся анимация текстур.
 
В большинстве случаев, такое происходит, при копировании контроллеров с разным временем работы.
 
Примечание.
Верно для любых контроллеров, не только для Flipp!
 
Вопрос
Сделал новую модель магического щита, анимации работают нормально, но при движении щит подергивается.
 
Ответ
Проверьте флаг анимационной ноды!
Оптимально будет назначение 128го флага.
 
Вопрос
Сделал модель брони (скиненной) но она не отображается на игроке в игре!
 
Ответ
Вероятно неправильные имена слотов, либо нарушена нумерация, либо корень скелета (файла) назван не правильно. Реже ошибки скининга.
 
- Проверьте имена слотов.
- Проверьте их нумерацию, не должно быть пробелов в оной, а равно перед номер должен идти пробел. 
- Проверьте имя корня файла и корня скелета. Обязательно должно быть, как 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 контроллера на один шейп, можно воздействовать на несколько слотов сразу.
- если контроллер один и чистая Ваниль без МВСЕ то да, воздействие определяется слотом ЮВ (в настройках текстуры и контроллера).
- в упомянутой Вами статье, описан метод "инверсии детайл текстуры".
Т.е. серая на базовый, базовая на детайл. Две текстуры.
Серая гасит насыщенность базовой которая помещена на слот детайл карты.
- это для сохранения насыщенности цвета основного фона, чтобы он был и не был пережаренным.
- результат в т.ч. зависит от текстуры на Глоу и прочих слотах.
Т.е. в заметках показа вариант с Глоу картой с точечной текстурой ака "звездочка" в центре, все остальное - черный фон. При использовании других тектур результат будет зависеть от их вида в т.ч.
Если же нужна только Глоу, то да, на базовую можно использовать чистый черный фон, т.к. Глоу все на себя возьмет.