Модератор форума: Kris†a™  
Форум » TES V: Skyrim » Мастерская » Вопросы по моделированию (Экспорт моделей в скайрим и т.п.)

Вопросы по моделированию
Tyddyner  Offline  Сообщение №1 написано: 9 января 2012, 18:09 | Отредактировано: Mojave_Ranger - 5 июня 2012, 15:05



106
В общем, сразу скажу, эта тема не для заказов, а для вопросов и ответов на эти вопросы от более умудрённых опытом камрадов.


Пару мануалов


Создание моделей с коллизиями для Skyrim. Часть1. Пока без коллизии.

Создание моделей с коллизиями для Skyrim. Часть2. Подготовка и внедрение коллизий.

@perture  Offline  Сообщение №1681 написано: 6 января 2015, 08:21


$cience innov@tor


Я про другой скрипт говорю. При запуске скрипта в сцене будет создаваться скелет с анимацией. Реализация процесса через скрипт позволяет отвязаться от версии редактора, скрипт будет одинаково работать в любом случае.

"Не спорьте с идиотами! Вы опуститесь до их уровня, а там они вас задавят своим опытом!" ©
Aksyonov  Offline  Сообщение №1682 написано: 6 января 2015, 10:19



937
Цитата @perture

Я про другой скрипт говорю. При запуске скрипта в сцене будет создаваться скелет с анимацией. Реализация процесса через скрипт позволяет отвязаться от версии редактора, скрипт будет одинаково работать в любом случае.


Вот как отлично спасибо и за это )) буду ждать и эту версию скрипта )

JAPAN13  Offline  Сообщение №1683 написано: 7 января 2015, 12:06



76
Всем привет! Подскажите пожалуйста названия файлов - спринт со щитом и спринт с мечом. Заранее благодарю!

Aksyonov  Offline  Сообщение №1684 написано: 7 января 2015, 12:27



937
Цитата JAPAN13

Всем привет! Подскажите пожалуйста названия файлов - спринт со щитом и спринт с мечом. Заранее благодар


Бег с одноручным мечом: MT_SprintForwardSword.hkxMT_SprintForward.hkx 
Бег с двуручным мечом: 2HM_RunForward.hkx 2HM_SprintForwardSword.hkx

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

Ps. что бы найти нужную анимацию любую, вам всего лишь нужно зайти в Creation Kit открыть любого NPC 
отметить галочку Preview перейдя в вкладку персонажа Animations и просмотреть название любой анимации.

Удачи в начинаниях !

Myprism  Offline  Сообщение №1685 написано: 8 января 2015, 01:02


Физик


anton, в Блендере есть очень интересная функция переноса развесовки костей с одной модели на другую. Скажем, с тела на броню или с одной брони на другую. Я ожидал там найти и аналогичную функцию для переноса текстурной развёртки, но пока не нашёл. А ведь тот же механизм можно было бы использовать для переноса текстурных развёрток UV. Например, скопировать текстурную развёртку с одного тела на совершенно другое. Алгоритм мог бы быть таким:
1. Переносим текстурную развёртку в привязку к трём костям. Т.е. каждый вертекс оказывается привязан к трём костям. Первые две очевидны - текстурные координаты вертекса X и Y. Но только надо, чтобы они были в диапазоне от 0 до 0.5 каждая, т.е. масштабировать текстурную развёртку. Третья кость Z = 1 - X - Y. Нужна только для того, чтобы Блендер не нормировал сумму двух первых на единицу.
2. О переносим развесовку с одного тела на другое.
3. Переводим развесовку в тукстурные координаты UV.
Всё должно проходить относительно корректно, кроме крайних точек второго тела, которые оказались за пределами текстурной развёртки первого. Их придётся править вручную или расширять текстуру для них.

anton  Offline  Сообщение №1686 написано: 8 января 2015, 15:05



362
Myprism, в Блендере есть всё ! :)
Нужная тебе функция называется "Transfer UV maps" (в Блендере нажми пробел и введи ето название).

Мой Блог
Myprism  Offline  Сообщение №1687 написано: 8 января 2015, 17:07


Физик


anton, влоб не получается. Ругается Object: DG Body, Mesh: '0.029' has 22668 loops (for 7556 faces), expected 28038
Как я понял из описания в Интернете, перенос возможен только при идентичности геометрии. Переносу весов это не требуется.

anton  Offline  Сообщение №1688 написано: 8 января 2015, 18:34



362
Myprism, а, ну это может быть. Я сам эту функцию никогда не использовал, и нашёл её только потому что ты о ней спросил :)
Протестировал её на 2-х одинаковых кубиках и UV отлично перенеслось.

А вес вертекса всё таки совсем другое дело чем UV, поэтому вполне вероятно что для переноса UV геометрия по любому должна быть идентичной.
Ведь вес просто отпределяет влияние на группу вертексов постороннего обьекта (косточки арматуры), в то время как UV описыват саму поверхность данного конкретного обьекта и напрямую связана с его формой.

Мой Блог
Myprism  Offline  Сообщение №1689 написано: 9 января 2015, 01:12


Физик


anton, перенести UV-развёртку с одного объекта на другой с той же топологией проще блокнотом, чем Блендером. Открываем OBJ блокнотом, копируем все строки с VY из одного в другой. Вместо Ьлендера - Ctrl+C Ctrl+V.
Цитата anton

А вес вертекса всё таки совсем другое дело чем UV,

Это для нас он - другое дело. Для софта это только набор значений переменных, т.е. всё то же самое дело :)
Понимаешь, для переноса развесовки костей авторы Блендера реализовали очень интересную вещь - трёхмерную интерполяцию. Так как вертексы моделей не совпадают, они находят ближайший треугольник и раскидывают веса по его вершинам, видимо, пропорционально расстояниям до них. Если пропорционально, то это линейная интерполяция. Скорее всего, там она. Но возможна ещё и бикубическая (с учётом других окружающих точек, используется в Фотошопе). Во втором случае, для текстур отрабатывались бы даже краевые точки. Самому писать такой код для двумерного случая неприятно, вот я и придумал механизм обмана Блендера через кости. Кроме того, скриптовый язык Блендера мне пока не знаком. Максимум, что я там делал, это расширил максимальное число вертексов (выделение памяти) для некоторых одёжек от Newmiller (у него число вертексов превысило допущенное тобой :) ).

anton  Offline  Сообщение №1690 написано: 9 января 2015, 19:56 | Отредактировано: anton - 9 января 2015, 19:56



362
Myprism, в 3Д редакторе количество вертексов превысить то можно, но тогда НИФ файл сделать не получится.
Максимальное число точек в одном блоке NiTriShapeData может быть не более 65535 (2 байта). Таков формат этого файла, больше туда не засунуть ;)

Всё равно не представляю как так можно перенести UV "поверхность" одной модели на другую модель с другой формой.
Наверное проще содать второй модели свой UV, а потом пытаться подогнать его 2D форму UV развёртки под 2D форму UV развёртки 1-й модели.
Но всё это не менее мутно, чем идея с костями, и скорее всего по нормальному не реализуемо.

ПС: скрипты блендера пишутся на Питоне (Python). Это достаточно распространённый язык и много где применяемый.

Мой Блог
Myprism  Offline  Сообщение №1691 написано: 10 января 2015, 00:20


Физик


anton, насчёт максимального числа вертексов.
В цепочечной модели брони от NewMiller одна часть содержит 52300 вертексов, другая - 18000 и ещё несколько по мелочи. В кирасе Суккуба - 17000. Помню только, что твой скрипт в первоначальном варианте на неё ругнулся и мне пришлось менять выделяемую под массив память. как видишь, эти цифры меньше задаваемых двумя байтами. У тебя там, как я понял, допускается только 10000.
Насчёт транспонирования UV. Согласись, что "не представляю как так можно перенести UV "поверхность" одной модели на другую модель с другой формой" и  "нельзя это сделать" - не эквивалентные утверждения :) Собственно говоря, самый эффективный способ опровергнуть "нельзя это сделать", это взять и сделать :) Но на это у меня совершенно нет времени, так что, я ничего опровергать пока не буду :(

alexwar  Offline  Сообщение №1692 написано: 10 января 2015, 01:12


Freelancer - White Raven


antonMyprism, привет, смотрю пока меня не было, вы тут недетскими вещами занимаетесь  good

Всех с Новым Годом и Рождеством Христовым !!!


Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
Myprism  Offline  Сообщение №1693 написано: 10 января 2015, 14:14


Физик


alexwar, кстати, да, давно тебя не было видно :( Антон написал конвертер для многих возможностей NIF-ов в Блендер и обратно.
С Новым Годом!

Добавлено (10 Января 2015, 17:14)
---------------------------------------------
Столкнулся с проблемой. Если полупрозрачная шмотка погружается в воду, то она становится совершенно прозрачной. Это если смотреть на неё сверху через поверхность воды. Если погрузиться в воду самому, то часть шмотки под водой ведёт себя правильно, а прозрачной становится часть её над водой. Т.е. некорректно отображаются 2 полупрозрачные поверхности одна за другой. Это неизбежное зло, или лечится настройкой флагов альфа-канала?


HuntWolf  Offline  Сообщение №1694 написано: 12 января 2015, 09:38 | Отредактировано: HuntWolf - 12 января 2015, 09:39



4
Цитата Myprism

anton, влоб не получается. Ругается Object: DG Body, Mesh: '0.029' has 22668 loops (for 7556 faces), expected 28038 Как я понял из описания в Интернете, перенос возможен только при идентичности геометрии. Переносу весов это не требуется.

Модель может быть не идентична, главное что бы совпадало кол-во вертеков UV и меш. Ведь UV и мешь строго взаимосвязаны т.е точка №1 меша равна например точки №18(или нескольким точкам) UV это прямой алгоритм который нельзя нарушить или собъётся порядок следования точек(их нумерация). В весах же совсем другое, там инфа хранится в RGB вертекс колоре, которым как мы знаем мы может не просто в значениях 0 до 100% как это сделано у весов переносить, точнее перепакать, а даже текстурить можем в значениях от 0 до 255 в трех каналах плюс от 0 до 100 в альфе, т.е при переносе весов мы выполняем операцию запекания вертекс колора с одной модели на другую, со всеми вытекающими ограничениями, т.е модели по формам должны быть схожи, конечно плюс и топология должна соответсвовать. Честно горя для таких уж не сложных моделек сделать новую ювишку не вижу проблем больших и потом уже перепечь  текстуру с одной на другую

Myprism  Offline  Сообщение №1695 написано: 12 января 2015, 10:05


Физик


HuntWolf, не верно. Переносить развёртки UV можно не зависимо от расположения вертексов в модели. Их расположение и порядок следования не изменится. Но математически это не просто, поэтому не все редакторы могут. При обсуждении этого вопроса в интернете, утверждается, что переносить текстурную развёртку не зависимо от топологии и числа вертексов умеет только Майя.

HuntWolf  Offline  Сообщение №1696 написано: 12 января 2015, 10:27



4
Нет майка не умет то имен то что вам надо, там погрешность как например и в ювилоате будет зависть от 2-3 вертексов, и я как раз нигде и не написал что расположение должно быть одинаково, плюс важно кол-во швов(как раз вот кол-во вертекос в модели), я же сразу написал что модель может быть не идентично можно хоть с кубика на шарик переносить, важно кол-во точек в модели а не их место расположение так как у UV координат значения относительные т.е пропорциональны двум осям U и V которые всегда от 0 до 1 если не считать минуса при тайле. А так может в принципе любой редактор переносить с кубика на шарик, даже в убогой синьке(в плане юви убога) это делается на раз. Про то о чем вы горите это в принципе алгоритм нормальный не возможен, теоретически это должно быть блендшеп со сто процентной точностью в значениях т.е виртуальная машина понимающая что вам надо, так как в начале должны перестроится точки под новые порядковые номера(кординаты не важны), переписаться вся геометрия, добавить новые там где нет(оставив старые кординаты,  но присвоив порядковые номера новые), должен быть алгоритм сканирования в пространстве котрый будет находит ближайшую и присваивать её значениям с другой модели или добавлять при отсутствии, а вот уже потом он может её присвоить координаты уже развертки к новым значениям вертексов модели

Myprism  Offline  Сообщение №1697 написано: 12 января 2015, 13:15


Физик


HuntWolf, имеем 2 модели А и Б с разным числом вертексов и разной их топологией. Берём вертекс n модели А. Ищем ближайший к нему полигон (треугольник) модели B. У треугольника модели B есть три вершины, привязка которых к текстуре B известна. находим точку на текстуре Б, удалённую от вершин найденного треугольника в том же соотношении, как и расстояния точки n до вершин треугольника. Это только один из возможных способов проекции. Таким образом, мы находим точку на текстуре Б, соответствующую вертексу n на текстуре А. Это только один из возможных алгоритмов, причём, самый примитивный. Раз такой алгоритм существует, значит, транспонирование текстур возможно в ПРИНЦИПЕ. Проблема будет только с крайними вертексами, которые выходят за пределы другой текстуры. В случае шва появляется неоднозначность позиционирования крайних вертексов. Но и это решается автоматически выбором из всех возможных вариантов минимально выходящий за пределы другой текстуры. Anton рассказывал, как он даже автоматически подгонял броню по телу. Так вот, его задача была посложнее, хотя и похожа.
Теперь вернёмся к развесовке костей. Никакой это не RGB. Это редактор нам рисует цветную картинку, но на этом всё сходство кончается. Цвет - трёхмерная величина. Привязка к костям - многомерная (один вертекс может быть привязан к многим костям (в Скайриме - к четырём). Каждый вертекс это запись из нескольких величин. Это его 3 координаты, это его текстурные координаты, это проекции нормали к нему, это тангенциальные проекции его нормали на текстуру. И это весовые коэффициенты (до 4-х) к костям. С точки зрения математики и компьютера - эти величины в записи ничем не различаются, кроме алгоритмов их обработки. А алгоритмы задаёт программист. Программисты блендера УЖЕ сделали перенос развесовки с вертексов одной модели на другую с совершенно другим числом вертексов и их топологией. Они сделали транспонирование для четырёх величин из записи. Теперь берём и меняем эти четыре величины на текстурные координаты. Мы просто переставляем величины в записи под названием "вертекс". Причём, переставляем те величины, которые не влияют на форму объекта (координаты и направление нормали) по которым это транспонирование происходит. Т.е. не нарушаем сам процесс транспонирования. Специфика работы с весами заключается в том, что все веса одного вертекса в сумме должны быть равны 1, т.е. нормированы на единицу. (Это же относится и к нормали.) Чтобы не нарушить этот механизм я и предложил вместо двух текстурных координат U и V использовать три: U/2, V/2 и 1 - U/2 - V/2.  Никакие сторонние соображения, что это не работает - не катят. Либо это надо сделать, тогда это будет доказательством, что это работает, либо найти ПРИНЦИПИАЛЬНУЮ ошибку в моих рассуждениях. Да и не просто ошибку, но такую, которая бы вела к невозможности. Вот только тогда это будет доказательством невозможности.

alexwar  Offline  Сообщение №1698 написано: 13 января 2015, 01:59


Freelancer - White Raven


Цитата Myprism

Столкнулся с проблемой. Если полупрозрачная шмотка погружается в воду, то она становится совершенно прозрачной. Это если смотреть на неё сверху через поверхность воды. Если погрузиться в воду самому, то часть шмотки под водой ведёт себя правильно, а прозрачной становится часть её над водой. Т.е. некорректно отображаются 2 полупрозрачные поверхности одна за другой. Это неизбежное зло, или лечится настройкой флагов альфа-канала?

Да, я тоже пытался понять почему так, пробовал настраивать флаги, но не вышло...видимо я неглубоко вник в вопрос...а потом как всегда не хватило время...:))


Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
Myprism  Offline  Сообщение №1699 написано: 13 января 2015, 08:29


Физик


alexwar, там слишком много параметров, чтобы настраивать их методом тыка :( Ведь чтобы увидеть подлинный результат, надо каждый раз грузить игру. Надо бы иметь хоть какие предпосылки... Кроме флагов альфы там же ещё можно и шейдерные флаги менять.

Добавлено (13 Января 2015, 11:29)
---------------------------------------------
alexwar, нашёл я флаг, лечащий исчезновение полупрозрачной модели в воде. Это оказался SLSF1_Decal. Он позволяет наложить одну полупрозрачную поверхность поверх другой. Сначала нашёл это в другом месте, где мучился с полупрозрачным рисунком поверх светящегося столба, а потом попробовал и в воде. Там тоже работает. Но не работает под водопадами. Видимо, этот флаг должен стоять у той поверхности, что находится ближе к нам, или у обоих.


alexwar  Offline  Сообщение №1700 написано: 13 января 2015, 11:19


Freelancer - White Raven


Myprism, интересно !
Очень интересная информации лично для меня.
P.S 
...посмотрю немного позже, решил пере собрать свой комп.


Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
anton  Offline  Сообщение №1701 написано: 13 января 2015, 14:50



362
Myprism, мне тоже интересно, сегодня попробую, может решу и свою проблему с прозрачностью.
А то у меня при взгляде на полупрозрачную поверхность через другую полупрозрачную поверхность текстура "разбивается" на треугольники (словами трудно описать такой глюк, єто надо видеть).

alexwar, привет, стараемся )

Мой Блог
alexwar  Offline  Сообщение №1702 написано: 13 января 2015, 15:41


Freelancer - White Raven


anton, привет, рад тебя слышать !


Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
Ctp@HnuK  Offline  Сообщение №1703 написано: 13 января 2015, 15:43



16
Люди, помогите! Решил сделать новый шлем переделкой драконьего панцирного, загнал в Макс, туда же пихнул еще одну ванильную модель (из клютеров) все подогнал, экспортировал, исправил в нифскопе. В результате сначало КК ругался на отсутствие ShinyDull_e.dds (он про друое орал, но я нагуглил что в этом причина ;) ) и вылетал. Я добавил эту самую ShinyDull_e.dds в обе модели, КК стал просто вылетать при открытии модели. Методом тыка определил что виноват АльфаПроперти из оригинального шлема. Удалил его.
 Результат: та часть шема, которая из клютера (череп тролля)  отображается и в КК и в игре, а та, что переделана из шлема нет :( Притом таже фигня если просто добавить часть черепа в ванильную модель шлема. В чем проблемма и как ее исправить?

@perture  Offline  Сообщение №1704 написано: 13 января 2015, 16:58


$cience innov@tor


Цитата Ctp@HnuK

В чем проблемма и как ее исправить?

Надо ждать экстрасенсов, которые провангуют, что там намоделировано. ;)

"Не спорьте с идиотами! Вы опуститесь до их уровня, а там они вас задавят своим опытом!" ©
alexwar  Offline  Сообщение №1705 написано: 13 января 2015, 17:24


Freelancer - White Raven


Ctp@HnuK, ты так много всего сделал....
что таки @perture прав :
Цитата @perture

Надо ждать экстрасенсов, которые провангуют, что там намоделировано.

 
Ctp@HnuK, посмотри самый простой тутор в Ютубе , как моделить шлем и все вопросы отпадут


Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
@perture  Offline  Сообщение №1706 написано: 13 января 2015, 17:32 | Отредактировано: @perture - 13 января 2015, 17:33


$cience innov@tor


Привет, alexwar.
Цитата alexwar

посмотри самый простой тутор в Ютубе , как моделить шлем и все вопросы отпадут

Я немного про другое. 100500 раз писалось, есть проблемные файлы, обращаетесь за помощью - приложите материал. Что можно понять из фразы <<загнал в Макс, туда же пихнул еще одну ванильную модель (из клютеров) все подогнал, экспортировал, исправил в нифскопе>>?

Загнал, пихнул, подогнал, исправил - вроде всё правильно, должно работать. :)

"Не спорьте с идиотами! Вы опуститесь до их уровня, а там они вас задавят своим опытом!" ©
alexwar  Offline  Сообщение №1707 написано: 13 января 2015, 18:16


Freelancer - White Raven


@perture, Привет ! 

Да я понял о чем ты
Цитата @perture

Загнал, пихнул, подогнал, исправил - вроде всё правильно, должно работать.



Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
Ctp@HnuK  Offline  Сообщение №1708 написано: 13 января 2015, 18:23 | Отредактировано: Ctp@HnuK - 13 января 2015, 18:24



16
Насчет туториала я по нему и делал, тока не с ютуба а с одного из форомов

Сорри, про модель не подумал вот

Текстур там нет так ка они стандартные

@perture  Offline  Сообщение №1709 написано: 13 января 2015, 18:41


$cience innov@tor


Ctp@HnuK, а в конструкторе как подключаешь?

"Не спорьте с идиотами! Вы опуститесь до их уровня, а там они вас задавят своим опытом!" ©
Ctp@HnuK  Offline  Сообщение №1710 написано: 13 января 2015, 18:43 | Отредактировано: Ctp@HnuK - 13 января 2015, 18:46



16
Меняю ИД АрморАддона потом через выбор модели для каждого пола (правда модель пока одна)
Тут не в конструкторе дело а в моделе, я в КС делал сборки для себя вручную так что умею им пользоваться ;)

Форум » TES V: Skyrim » Мастерская » Вопросы по моделированию (Экспорт моделей в скайрим и т.п.)
Поиск:





Ответ на жалобу смотрите в разделе жалоб