Перейти к содержанию

Рекомендуемые сообщения

Опубликовано (изменено)

...Вчера нашёл решение проблемы, с которой на всех форумах - и наших, и англоязычных - отсылали из NifSkope в Blender или в 3D Max. Оказалось, можно и без них. Подсказка нашлась "на самом дне" только одного английского форума, более нигде, так что решил перевести и поделиться.

 

Проблема "У меня не сдвигается модель (части модели) в Nifskope!" Или "в NifSkope сдвигаю, а в игре они видны по-прежнему несдвинутыми!" довольно частая, постов и вопросов об этом много. Есть несколько вариантов действий.

 

Первый, самый простой - трансформация масштаба. Выделяем нужную ноду TriNiTriShape, правый клик по ней - Transform - Scale Vertices. Появляется окошко, редактируем цифры в нём. Цифры больше 1 увеличивают модель, от 0 до 1 (но не равные 0) - уменьшают. При этом, если исходный "центр" модели, от которого ведётся "отсчёт", расположен не внутри, а вне её, то изменение масштаба будет приводить и к сдвиганию модели в пространстве. (В частности, так сделаны капюшоны в Skyrim. У них центр вынесен так далеко вниз, что даже при незначительном, во втором-третьем знаке после запятой, изменении по оси Z модель заметно "подскакивает" вверх, практически не меняясь зрительно. Этим можно пользоваться для сдвижки).

 

Это изменение работает сразу, немедленно и на всех мешах. Достаточно сохранить после него модель "Save As..."

 

Второй - смещение без изменения масштаба. Выделяем нужную ноду TriNiTriShape, правый клик по ней - Transform - Edit. Далее выбираем Translation (смещение) или Rotation (поворот). Но просто сохранить модель может оказаться недостаточно, в игре изменений не будет. Тогда после завершения редактирования нужно выполнить TriNiTriShape - Transform - Apply (применить).

 

Третий вариант (ради которого тема). Некоторые ноды не сдвигаются вторым способом. При попытке применить к ним Apply вы получите сообщение

 

"On animated and or skinned nodes Apply transformation most likely won't work the way you expected it"

(На анимированных или привязанных к скелету нодах трансформация почти наверняка не сработает так, как вы ожидаете.)

 

post-1763314-0-18495500-1350272968_thumb.png.png

 

Это значит, что такой TriNiTriShape привязан не к геометрическому "центру отсчёта", а к костям скелета модели. Потому-то он сдвигается в NifSkope и не сдвигается в игре.

 

Получив такое сообщение, можно всё же попытаться Transform - Apply. Шансы есть. Есть посты, где люди пишут, что у них "прокатило". Но скорее всего, в NifSkope меш сдвинется, а в игре просто станет невидим.

 

Можно пустить в ход первый способ, но иногда и он не подходит. (У меня так получилось с накладной деталью на шлем, пересаженной из другой модели: после пересадки она смещалась - сидела в стороне от "нового" шлема. При попытке сделать Transform - Scale Vertices она "разрасталась", оставаясь смещённой, вместо того чтоб сдвинуться и плотно прилечь к шлему.)

 

Решение такое. Раз наш нод - "skinned", у его под ветками NiTriShape и NiTriShapeData должна быть BSDismemberSkinInstance. Раскрываем её. В показавшемся выбираем NiTriSkinData и смотрим в нижнее окошко NifSkope, там, где подробности. В верхней строке видим опцию SkinTransform, а внутри неё - координаты X, Y, Z. Игнорируем! Это нам не подходит (хотя выглядит как то, что нам надо). Изменение здешних X, Y, Z на игре не отражается.

 

Смотрим ещё ниже, находим и раскрываем BoneList. Откроются "под-ветви", тоже BoneList. Каждая соответствует одной из тех костей скелета, которые влияют на нашу модель. (Например, в случае шлема костей две - это голова (head) и хребет (spine), соответственно под материнским BoneList будут два подчинённых BoneList). Внимание - кости тут никак не поименованы. Какая из них какая, придётся догадываться. Обычно BoneList'ы перечислены здесь в том же порядке, в каком перечислены "их" кости в верхнем левом окне NifSkope. Там эти кости могут выглядеть как отдельные "независимые" NiNodes с "последними" номерами, внизу после прочих нодов, подвязанные лишь к основному материнскому ноду всей модели.

 

Итак, находясь в BoneList в нижнем окне, раскрываем нужный нам подчинённый BoneList. Внутри него есть ещё один SkinTransform. (Не путать его с описанным выше "ложным" !) Вот у него-то и редактируем X, Y, Z. Такой "истинный" SkinTransform будет свой на каждую кость, то есть внутри каждого подчинённого BoneListа.

 

Изменения проявятся в игре сразу, как только модель сохранена Save As. Делать Transform - Apply не нужно.

 

Примечание: если модель завязана больше чем на одну кость скелета, а вы отредактируете X, Y, Z только у одной, - модель может исказиться, скособочиться или начать двигаться в игре забавным неправильным способом. Перепривязка должна касаться всех влияющих на модель костей.

 

И никакого 3D MAX !...  ;)

Изменено пользователем Старый геймер
  • Нравится 15
25498.jpg
Ch60K0Y.jpg.jpeg
y39Lsgy.jpg.jpeg
5BYnm36.png.png
wgbvrzf.gif
Опубликовано

Браво!

Попробуем рецепт!

TriNiTriShape привязан не к геометрическому "центру отсчёта", а к костям скелета модели - это вообще для меня нечто новое. Пока не встречал. Бум обдумывать.

Еще раз спасибо!

  • Нравится 1
Опубликовано
19.12.2013 19:30:46, ulis_cat сказал(-а):

Браво!

Попробуем рецепт!

Уже опробовано. На том самом эбонитовом каджитском шлеме. Получилось "на ура".

 

Полтора года тому назад, в августе 2012, я задавал вопрос про "несдвигающиеся части" на куче форумов - и наших, и английских. В ответ был единодушный хор: "3D MAX & Blender" ! А я Blender не знаю совсем, 3D MAX - только отрезать лишнее... Возиться с импортом-экспортом скелетин и привязок совсем не хотелось. И вот, оказалось, можно не возиться.

 
19.12.2013 19:30:46, ulis_cat сказал(-а):

TriNiTriShape привязан не к геометрическому "центру отсчёта", а к костям скелета модели - это вообще для меня нечто новое. 

Если есть нод BSDismemberSkinInstance - значит, привязан. 

  • Нравится 1
25498.jpg
Ch60K0Y.jpg.jpeg
y39Lsgy.jpg.jpeg
5BYnm36.png.png
wgbvrzf.gif
  • 10 месяцев спустя...
Опубликовано

Всю голову сломал с этими перемещениями элементов. В гугле тоже почти ничего толкового на эту тему, ни в туториалах.. нигде. А в другие редакторы лезть, их изучать совсем как-то не тянет. Одно негодование: вроде программа NifSkope называется, а нифы через нее нормально не отредактируешь. А тут вот оно как, оказывается. Настрою наконец нормально эти доспехи. Спасибо Вам, уважаемый Старый Геймер, огромное!

Опубликовано
05.11.2014 20:47:00, PatrickStar сказал(-а):

вроде программа NifSkope называется, а нифы через нее нормально не отредактируешь.

А через нее не нужно глобально редактировать нифы, для этого есть 3ds max/blender.
Опубликовано
06.11.2014 05:56:41, GKalian сказал(-а):

А через нее не нужно глобально редактировать нифы, для этого есть 3ds max/blender.

Да-да, я уже понял. Просто реально долго искал, как по-простому сделать. Думал, что нашел. Рано радовался, короче. Сейчас азы макса осваивать буду.

  • 1 год спустя...
Опубликовано

уважаемый, а как же переместить в нифскопе для фоллаут 4? у меня креатор кит ругается и вылетает после манипуляций по твоим советам, значит для фола этот способ не катит!? или версия нифскоп кривая!?

  • 10 месяцев спустя...
  • 1 месяц спустя...
Опубликовано (изменено)

Не знаю почему но у меня все сдвигается ,то что касается брони . Перемещаю легко даже часть предмета скажем с головы на задницу  и меняю кости привязки используя исключительно  нифскоп и бодислайд(оутфит студио)

Просто нужно сначала убрать вес костей скелета которые будут мешать в оутфит студио и добавить вес  нужным костям. Потом просто удалить ненужные кости.

 

Переместил таким способом даже часть седла для лошади на броню

Изменено пользователем AmmonJerro
  • 3 года спустя...
Опубликовано

Огромное архи-спасибище!!!!!!!!!! Помогло!!!!!! Я 4 дня дня бился со смещением куска меша, перенесенного в меш из другого меша: вставал кривоватенько.

 

Пробовал через команду Transform - Edit: в нифскоп смещался, а в СК и Игре - нет.

Сделал через BoneList - и вуаля, сработало!! 

Спасибо Вам, уважаемый Старый Геймер! Помощь сложно переоценить.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...