Если здесь есть пользователи Блендера, то для них у меня такой вопрос: Скрипт импорта в Блендере объединяет некоторые вершины модели при её импорте. Подозреваю, что касается это очень близко расположенных вершин. Соответственно, меняется и количество рёбер, граней. Это не было бы проблемой для обычных моделей. Для моделей с морфом - проблема весьма серьёзная. Напасть эта касается моделей _1, с _0 обычно всё нормально (у голов, у которых свой морф, та же проблема "пропащих" вершин). Если такие модели, с разным количеством вершин, экспортировать в игру, то модель разрывает при ползунке морфа не на крайних позициях. Так вот, есть ли решение данной проблемы? Решение именно в скрипте, возможно, в его правке. Потому как лепить модель _1 из _0 не очень хочется. Находить удалённые вершины и приводить вторую модель к такому же результату хоть и действенно (проверял на моделях femalehands), но в сложных моделях долго искать какие вершины были удалены.
есть, начинающий пользователь блендера Какой версией пользуетесь? Тоже думал, как идентично редактировать 2 модели без нарушения их топологии, пока решения у меня нет.
2.49b. Но проблема даже не на стадии редактирования, а на стадии импорта, когда топология второй модели нарушается импортёром. Не сразу это заметил, так как до этого при экспериментах с импортом-редактированием-экспортом, скрипт не удалял "лишнее" в силу особенностей моделей. Одно из решений редактирования двух моделей - редактировать обе модели одновременно, потому меня и волнует некорректный импорт модели _1. Этот способ неудобен при действиях сложнее чем отрезать и передвинуть вершины, но других альтернатив не вижу. Так-то идентичные модели по топологии, но разные по форме, я уже редактировал и тестил в игре. Какие-то советы и скрипты для работ с моделями можно посмотреть на Ловерсах. Правда решения своей проблемы там не нашёл.
И ответы на вопросы о кубмапах и о многом другом есть здесь. Язык - английский, но лучше, чем ничего. Обучающих материалов там достаточно много, где обсуждаемое подробно разложено по полочкам.
если баг только с морфом и только в местах стыка тела с кистями и ступнями, то проблема скорее всего не с обьединёнными вертексами, а с дополнительными Патишинами тела в НИФ файле, которых у тебя нет. В теле используется три Патишина, один - это само тело, а второй и третий - это области для бесшовного слияния тела с кистями и ступнями. Если их нет, то модель персонажа будет нормально отображаться только в одном из двух крайних положений ползунка морфа размера тела.
Данный баг не из-за стыков и патишенов, это точно. Для правильного морфа также нужно одинаковое количество вершин в файлах _0 и _1. И ниф-плагин для Блендера при импорте в некоторых случаях решает избавиться от лишних, как ему кажется, вершин. Пример с оригинальным femalehands_0.
Вершины в выделенных гранях(там, где эти грани стыкуются) находятся достаточно далеко друг от друга, импортёр их не трогает. В femalehands_1 они расположены ближе и при импорте объединяются, в небытие уходят и выделенные грани с рёбрами. Получаются уже два разных меша непригодных для морфа. То есть совершенно очевидно - проблема с импортёром, с его настройками. Посмотрю что об этом пишут на официальном форуме ниф-плагина. Проблема не фатальная, так как встречается не очень часто и можно исправить это в самом Блендере, но как-то неприятно, когда что-то неправильно работает. Система патишинов не для стыков между моделями (для стыков должно хватить правильно направленных нормалей, с чем версия 2.49, увы, не может работать), патишены предназначены для скрытия части модели. Например на теле\броне скрывает часть меша рук\рукавов при надетых перчатках, чтобы руки\рукава не вылазили из модели перчаток. Система не идеальна и при некоторых комбинациях брони\перчаток\сапог можно увидеть вылезшие части рукавов и штанин. Более уместна она с причёсками, часть которых скрывается при надетых открытых шлемах (о чём ещё не догадались многочисленные портировщики симсовых причёсок). Ну и сами патишены легко настраиваются в Блендере. Обычные группы вершин, применительно для версии 2.49 с ниф-плагином, носящие имена патишенов из Фаллаута. Утилиты для Блендера качал, хоть пока и не установлена версия 2.65. И тут же по ним вопрос, раз предоставился такой случай: утилиты работают с любыми версиями ниф-файлов или исключительно с форматом Скайрима?
Можно подробнее? Чем будет отличаться экспортированный ниф-скриптом меш с настройками и шейдерами взятыми оригинала от оригинального меша? А то думал что игре по сути нет разницы, если меш похож на то, что она понимает.
то, что версия старая, говорит Нифскоп. Кроме того, там данные оказываются в Нитристрипе и привязка к костям NiskinInstance. В принципе, игра это глотает, но я привык нитришейпам и беседковскомум оформлению привязки.
Версия это Version в NiHeader или User Version и User Version 2 там же? Version меняется в настройках нифскопа для работы с даунгрейженными нифами Скайрима, User Version и User Version 2 меняются перед импортом в Блендер и после экспорта. Никогда у меня данные после экспорта не оказывались в NiTriStrips. Но если это происходит, то: на NiTriStrips правой кнопкой мыши->Mesh->Triangulate. И NiSkinInstance: правой кнопкой мыши по нужному NiSkinInstance->Block->Convert->Bethesda->BSDismemberSkinInstance.
Ребят, подскажите что делать если карты нормалей получаются всё время вдавленными(через Нвидиа плагин для фотошопа делаю), как сделать выпуклыми?
Как у плагина для Фотшопа я не знаю, но там должны быть настройки. К примеру в ГИМП цифры параметра Scale, который отвечает за "выпуклость", можно ставить с минусовым значением, делая рельеф вогнутым. Так же там есть возможность инвертировать каналы. Можно ещё использовать платную программку Crazy Bump, купив у авторов или на торренте.
Myprism, в одежде и броне чаще всего сливаются вершины в областях, которые не видны или видны мало. Разработчики почему-то оставляют эти места без сглаживания и при экспорте каждый треугольник "отправляется в свободное плавание", то есть не связан с соседними треугольниками. Обратная сторона нагрудника драугрской брони, тому пример. Вот в таких областях при импорте посредством ниф-скрипта чаще всего случаются неприятности. В большинстве случаев это правится путём выделения данной области и удаления дубликатов. Утилиты Антона интересный вариант, но кроме работы только со Скайримом есть невозможность (всё же поправимая как сказал автор) экспорта патишинов больше одной штуки. А это не годится даже для простой правки оригинальной брони. Да и не означает, что возни с файлами будет меньше.
Myprism, спасибо за рекомендации. Может быть пригодятся. Всё же иногда лучше не изобретать для себя велосипед, а воспользоваться уже готовым. Если не переименовывать оригинальные патишн в фаллаутовские, то импортёр объединит их все в одну и назовёт BP_TORSO. Так же вчера провёл эксперимент удалив все группы вершин-патишн в Блендере и экспортировав в таком виде модель. Посмотрев в Нифскопе, обнаружил одну патишин BP_TORSO на всё тело. Тоже использую DG и только сейчас заметил, что у тела в бикини отсутствуют остальные патишн, которые есть в других версиях.
Myprism, это обычная практика, непонятно только почему патишины различаются. скорее всего забыл добавить при экспорте. Швы заметны и на руках, если использовать карты нормалей от разных ретекстуров. И дело не только в особенности рук DG, которым обычные карты нормалей рук и диффузные текстуры не подходят (тут уж придётся править текстуры, смешивая их), развертка на руках тоже немного отличается, из-за чего видно не плавный переход от рук к телу. С текстурами идущими вместе с DG этого не видно.
Вообще проблема с UV развёрткой в НИФ файле возникает когда не делаешь разрезы (Edge Split) по всем границам UV, и экспортируешь модель как есть.
Это актуально для созданного с нуля и для изменённого скайримского? Не знаю как в 2.6X, в 2.49b Edge Split - это модификатор, который делает разрезы у модели совсем не там (хотя может это я не умею им пользоваться). И если будут разрезы, то они будут очень хорошо видны на моделях с картами окружения. Спрашиваю, потому что часто встречал такие разрезанные по границам развёртки модели, думал это работа экспортёра, не обязательно Блендера. Правда у меня модели экспортируются без всяких разрезов.
Myprism, у меня тоже были проблемы с развёрткой(именно что каша) при экспорте в *.obj, экспортировал оружие. Только не помню, что именно изменял в модели. Может быть склеивал вершины на границах развёртки. И *.3ds оказался спасением.
Для даэдрической брони в оригинале, у мужских и женских ботинок нет свечения, так же как и для перчаток женской версии. В USP, как было сказано выше, всё это поправили. Плюс подкорректировали координаты меша свечения для daedrictorsof_0.
Цитата anton
Edge Split в новом Блендере не модификатор, а инструмент
Спасибо за пояснение. Так и знал, что в новых версиях функция преобразилась.
set3x7, да любой 3D-редактор. Особо популярные - Autodesk 3ds Max и Blender. Для первого много обучающих статей и программ но он платный. Второй - бесплатен, обучающих статей меньше. Различаются несколькими возможностями, подходом к реализации некоторых вещей, но 3D оно и есть 3D. Оба работают с анимацией. Правда создание с нуля анимации это не самая простая вещь. Тем более когда ничего об этом не знаешь. Создание первого плагина может затянуться. Для Блендера, к примеру, переведённые учебники можно найти на b3d.mezon.ru. Так же рад статьей (по Максу и Блендеру) есть на tiarum.com
Не понял где там железная кольчуга, только кожа и железная кираса. Сделал так, пишу подробно, может кому-то ещё пригодится: из тяжёлого варианта удалил шэйп кирасы и шэйп шкуры-юбки с рукавами. Из лёгкого варианта скопировал шэйп "кофты" и вставил вместо удалённого в тяжёлом. Теперь, почему это может не получиться с первого раза: вставить "кофту" в тяжёлый вариант брони мне не удалось сразу, так как Нифскоп ругался на другое имя корневого нода(0NiNode). И правда они разные. Пришлось скопировать имя корневого нода тяжёлой брони (в Block Details 0NiNode щёлкнуть на значке txt и из появившегося окна скопировать имя) и вставить его в шэйп лёгкой брони который хочется перенести(в шэйпе копируемой части BSDismemberSkinInstance, найти там 0NiNode и через txt вставить имя корневого нода тяжёлой брони), после этого желанную часть можно копировать. Кроме того, нужно помнить, что шэйпы после того как их перенесли, получают другое имя, какой-нибудь кости, к примеру. Это может вызвать не отображение данной части или попросту вылет игры при экипировке этой брони. Переименовывается так же, как и всё остальное. Можно взять имя которое ей принадлежало до копирования, можно что-то своё придумать. В большинстве случаев имя не так важно, главное чтобы не носило имени одной из костей. Ещё ради любопытства экспортировал ту часть с мешающей юбкой, вырезал её в 3Д-редакторе и экспортировал обратно. В этом варианте присутствуют некоторые части экипировки, которые отсутствуют в тяжёлом варианте. Потому он может быть предпочтительней. Тестировал без подключения мода, заменив меховую броню. Багов кроме стандартных не заметил. Баг, а точнее недоработка - отсутствие морфа. Так что какой бы вес не имел персонаж, костюм и ноги идущие вместе с ним будут одного размера. Особенно это видно на ногах, без обуви видны швы. Впрочем, мало кто ходит без обуви. http://disk.tom.ru/tpg1msd В архиве два варианта: cuirasslight1.nif - сделан из тяжёлой брони по методу копипаста. И cuirasslight.nif оригинальный лёгкий вариант с вырезанной юбкой.
Myprism, сразу говорю, что ответа не знаю. Интересно посмотреть, чем это закончится, особенно если в будущем встретится похожая проблема. Не понял, что значит "BSDDismemberSkinInsnance в них должны быть разделены". Используются два BSDDismemberSkinInsnance в одном NiTriShape? Думаю излишним будет повторять, что и так известно и о чём я писал здесь недавно, но вдруг это оно: если тягать блоки Нифскопом, то вставляются они с другим именем, часто используется имя одной из костей. Из-за этого может вылетать при экипировке. У меня был вылет когда я решил "оптимизировать" один доспех. В нём несколько шэйпов из разных вариаций этого доспеха, почти все ссылались на одну текстуру но использовались разные (по номеру) BSShaderTextureSet. И подумал, что не будет ничего плохого, если BSShaderTextureSet у этих частей будет одна. В оригинальной броне это работает. И результат такой оптимизации - вылет на рабочий стол.
В ранних 3Д играх так и раскрашивали модели, обходясь без текстур и экономя память. Есть мнение, что в дальнейшем, с ростом производительности железа, будут обходиться без текстур. Имеется в виду без диффузных. А в скайриме цвета вершин используются для раскрашивания моделей использующих одну текстуру (кроме скал вспоминается сосуд данмерского напитка из Драгонборна) и для раскрашивания некоторых монстров, призрачных.
GreyFox447, подробностей мало. Что значит "склеивать броню"? Объединение кусков нескольких видов брони в один меш (в один NiTriShape, если смотреть в Нифскопе) или же что-то иное? Я отрезал от разных видов брони необходимые части, но не объединял их. Можно было бы и объединять, если бы эти куски использовали один материал и текстуры, в противном случае при экспорте эти куски не будут одним целым, будет несколько шейпов. И любая добавленная часть без скелетной привязки (любой предмет до этого не являющейся частью одежды\брони) естественно будет требовать оную. Подсказать по настройкам не могу, у меня не Макс. По кубмапам есть статейка на английском. Там же в разделе много хороших обучающих уроков.
GreyFox447, да, в таком случае нужна привязка. Информацию о том, как её делать, можно легко найти в интернете. Благо, учебников для Макса больше, чем для других 3Д-редакторов.
@perture, можно не воздерживаться, а объяснить свою точку зрения. Так как мне тоже интересно, для чего часто рисуют тёмные участки на диффузных текстурах. Как на той же коже или одежде\броне. Такое часто замечал, если модель содержит какие-то элементы экипировки вроде сумок. Или в верхней части штанин, которые закрывает куртка, где и должна быть тень, которая движком игры не будет отрисовываться. Как пример - текстура брони Гильдии воров. Про замену диффузных текстур: так не на всех моделях, а на той части, где такое целесообразно. На моделях персонажей такое естественно не сделаешь. А на мелких объектах, в которые толком никто не всматривается можно сэкономить. Нормалмап - фактура, вертексколор - цвета, ну и прочие настройки материала. Если это какой-то блестящий металл, то тут уж тем более.
РЕДМЕНЪ, можно посмотреть на примере оригинального оружия, как это сделано. Могу объяснить в общих чертах. У оружия должны быть дополнительные NiTriShape, которые являются копией (немного увеличенной в размерах) той части оружия, где должна появляться кровь, то есть лезвия. Многие мододелы попросту копируют всю геометрию меча, которая часто довольно сложная, что увеличивает объём меша. На примере меча Клинков видно, что там есть два слоя EdgeBlood и EdgeBlood01, которые в окне рендера Нифскопа отображаются только при выбранной опции Show Hidden, в вкладке Render. Настройки из EdgeBlood можно копировать и из оригинального оружия (кроме NiTriShapeData, естественно). А у EdgeBlood01 есть своя текстура, текстура отображаемой на ней крови. Для этого шейпа должна быть своя развёртка. дабы кровь на лезвии смотрелась естественно. Многие опять же забывают (или не знают) об этом и оставляют развёртку оригинального меча, кровь на таких смотрится не очень убедительно. После завершения всех операций нужно установить флаги в этих двух шэйпах на 15. Иначе кровь на оружии будет отображаться постоянно. Это делается в выбранном NiTriShape в Flags.
Aksyonov, где это делается? Описанное - результат попыток исправления некоторых модов. В итоге всё нормально отображается. Возможно я что-то упустил. Буду признателен, если кто-то, кто знает больше, добавит недостающее.
Рип, это для Макса? Видел скрипты Блендера для конверсии брони и одежды под разные типы тел, но не пользовался. Не знаю, есть ли аналоги для Макса. Но лучше руками. Так как действие скрипта в некоторых случаях, возможно, придётся дольше исправлять, нежели просто двигая вершины\группы вершин.
Myprism, ответ мне не известен, но наблюдая такое (отсутствие модели _0) в стандартных сетах, принял это за отсутствия контроля качества. Так как часто структура названия разных сетов и моделей, и текстур, различается, будто нет единого стандарта. Может быть есть зависимость от назначенных патишинов на модели. К примеру, если проверять на уже существующем сете какую-то иную модель, путём подмены, она может не отображаться если патишины на ней иные, нежели на той, которую заменили. У меня так было, когда модель плаща из одного мода заменил на модель другого автора. CreationKit я не пользовался, но там должны прописываться слоты занимаемые моделью, как и в самой модели должны совпадать соответствующие патишины.
У меня тоже появился вопрос, к любому, кто знает ответ. Как игрой просчитывается морфинг модели. Загружает она в память оба варианта _0 и _1 или только модель_0, если ползунок морфа установлен не на максимуме. То есть, продолжать ли мне дальше не любить моды с высокополигональными (около 50 000 треугольников) оделями или же быть более...кхм, толерантным к ним.
Легко проверить, если у одной из моделей нарушена топология (порядок вертексов) по отношению к другой. Если тело имеет полноту 0 или 100 - всё будет отлично. Если любую промежуточную - каша вертексов. Это значит, что если полнота 0 или 100, то грузится только одна модель, если промежуточное значение, то ОБЕ. Грузятся обе, но одинаковая топология нужна потому, что дальше будет рассчитываться средне в соответствии с весом промежуточные значения каждого вертекса. Т.е. будет построена промежуточная модель, но только одна.
Вспомнил об этом, сам же здесь и рассказывал о проблемах с импортом в Блендер двух одинаковых по количеству вершин моделей, но немного различающихся по форме. Собственно, после экспорта моделей с разным количеством вершин, в игре каша и была. То есть в игре будет просчитываться такая усреднённая модель, одна. Неплохо, но всё же претензии к мододелам любителям делать мелкие детали из тысяч треугольников остались. Давно хотел проверить идею с разной развёрткой у моделей _0 и _1. Не приведёт ли такое к каким-то нехорошим последствиям. Проверил. Если изменить на модели _0, то изменённая развёртка будет сохраняться вплоть до веса 100. Дальше загружается модель _1 со своей развёрткой. Ничего страшного не случилось. Значит предположение по моделям (почему они в таком виде и от чего это зависит) оказалось не верным. Тем интереснее и мне узнать верный ответ. Неприятно, когда на подобное нет ответа. Просто забыть это тоже не получается.
FroSTDS, если сделано в Блендере, то можно экспортировать как модель для Фаллаута3. Потом уже в Нифскопе поменять версию меша на скайримскую. Это отсечёт материалы и пути к текстурам, Скайрим не понимает фаллаутовские данные, но они и не нужны, достаточно только NiTriShape с NiTriShapeData, который нужно скопировать в подходящий по размерам ниф-файл меча. Взять от этого меча BSLightningShaderProperty и вставить в скопированный NiTriShape. Там уже прописать пути к текстурам своего меча и настроить шейдеры по вкусу. Да, стоит помнить и о дополнительных невидимых слоях, которые служат для отображения крови. Если оставить слои оригинала, то ничего хорошего не получится. Чуть подробнее я об этом писал пару страниц назад. От экспорта через *.obj и *.3ds я отказался. В некоторых случаях были проблемы с развёрткой, буквально угробилась, и при экспорте на моделях появлялись швы в тех местах, которые служили краями развёртки.
FroSTDS, хм, как я описал - сам делал и всё работало. Немного мороки, это да. Но без неё уже не представляю моддинг. Да, и лучше самому всё делать (я не имею в виду отсутствие советов со стороны), опыт собирания набитых шишек бесценен.
Встряну. Если путь к текстуре прописан верно, она будет отображаться в игре. Если не отображается и путь верен, то может дело в самой текстуре, неверное её разрешение, к примеру. В Нифскопе, чтобы отображались текстуры, нужно прописать путь к папкам где они находятся. Посмотрел скриншот с окном Нифскопа и появился вопрос: в модели есть BSLightningShaderProperty, который принадлежит NiTriShape'у с этим кольцом? Если его нет, то не удивительно, что текстура не отображается. Нормали - фактура материала, все мелкие детали, которые не сделаешь геометрией. То есть сделать можно, но это будет не экономно. Объекты без карт нормалей в игре будут выглядеть так же, как в Нифскопе. То есть плоские, без выпуклостей. Для текстур из модов, заменяющих оригинальные текстуры и схожие с ними по рисунку, можно и не делать карты нормалей. Хотя это зависит от того, какие это текстуры и где применяются, лучше сравнивать как устроено в оригинальной игре и делать так же.
Lantainiell, посмотрел как оно в оригинале. Текстура похожая. И там и тут зачем-то неиспользуемое место в правой части при разрешении текстуры 1024x1024. Может быть дело в развёртке именно этой заимствованной модели. Развёртка кольца может быть на неиспользуемой части текстуры, которая окрашена в белый цвет. В оригинале она у самого края. Хочется увидеть скрин с развёрткой этой модели. 21 NiTriShape->ПКМ->Texture->Edit UV. А лучше всего, действительно, модель и текстуру на любой файлообменник.
Lantainiell, именно в Нифскопе эта текстура с мешем отображается как надо. Значит дело не в текстуре и развёртке модели. В игре не проверял. Немного по картам нормалей добавлю: на картах нормалей для лица и тела при любом типе сжатия будут артефакты, это видно на примере оригинала. Я оставил их без сжатия, уменьшив размер от диффузных текстур в два раза. Некоторые мододелы не сжимают и диффузные текстуры для тела, которые достигают неприличных объёмов. При сжатии диффузных текстур чаще всего потери качества минимальны. Лишь на некоторых текстурах появляются хорошо заметные артефакты. Но в таком случае можно поэкспериментировать с другими настройками. Способы сжатия DX3 и DX5 для текстур с альфа-каналом, потому и размер их увеличивается вдвое. Потому диффузные текстуры через DX3 и DX5 сжимать не стоит. Хотя есть мнение (не моё), что с DX5 диффузные текстуры меньше искажаются. Думаю для тех объектов, которые будут не долго в поле зрения и редко окажутся у носа игрока, размером карт нормалей можно пожертвовать раза в два, от диффузной текстуры. Это если не хватает видеопамяти. Если всё хорошо, то напрягаться незачем.