×
Меню
Индекс

Multiple Normals/UVs and Transform-Limitations (EN)

 
Особенность движка - создавать несколько "дополнительных вертексов" по линиям развертки текстуры, а равно и по краю полигонов.
Т.е. каждый вертекс в МАХе это 3 и более вертексов в ниф файле!
Что в целом, при редактировании моделей в нифскопе - не создает сложностей и даже наоборот может упрощать какие-то задачи.
 
Но вот когда к модели подключается Скин... вот здесь уже могут начаться настоящие ДЫРЫ.
Т.е. при работе со скином, необходимо учитывать не только "художественный вопрос", как красиво изогнуть сетку.
Но и механическую часть, как избежать влияния нескольких костей по вертексам находящимся по шву развертки.
Т.к. именно этот момент (вертексы созданные движком по линии UV) и создают дыры.
 
Также, при импорте\экспорте через Нифтулз, модель будет получать разбиение по элементам согласно имевшейся на ней ЮВ.
 
Что с этим делать?
Учитывать при работе со скином и ничего больше.
Т.е. если поймали дыру, будет достаточно поправить вес этого вертекса в МАХе.
Или убрать с него влияние пары "лишних" костей.
Либо поправить развертку, убрав шов с проблемного места.
 
Копипаста статьи из MaxImmerse.chm (С)

Another geometric concern is Max’s Mesh representation itself. Max can have both more than one normal and UV (within a single UV channel) per vertex while NetImmerse cannot. To resolve this incompatibility MaxImmerse will add additional vertices so that the NiTriShape created has only one normal and UV per vertex. The NiTriShape will look the same as the Max Mesh but will have more vertices. This vertex bloat will push the transform-rate but it is seldom a big problem. Using a lot of smoothing groups or complicated UV Mappings will make the problem worse but some vertex bloat is unavoidable.
 
Box01 has the usual Max UV mapping and a texture map that visualizes the UVs. In Max the vertex at the tip of the pink corner has the three UVs (1,0), (0,0) and (0,1). MaxImmerse will generate three vertices to replace this one Max vertex—one for each UV. While Max represents Box01 as 12 triangles and 8 vertices, MaxImmerse will convert this into 12 triangles and 24 vertices.
 
NIF format can only has 65535 vertices per object!
 
3 полигона = 3 вертекса.
4 полигона = 4 вертекса.
Т.е. сколько полигонов, или треугольников стыкуются в одной точке, столько и будет вертексов в ниф файле.
Здесь это хорошо видно.
При этом каждый вертекс, получает свою нормаль.
Здесь это те фиолетовые линии.
 
20 - вертексов.
24
62
348
 
Еще один куб...
Крестики по краям это те самые нормали исходящие из каждого вертекса. 4 полигона и на их стыке 4 нормали для 4х вертексов.
И он же, но позиции вертексов изменены.
Что хорошо показывает, на деле все полигоны это отдельные элементы.
В МАХе же, оный куб, единый объект.
И передвижение одного вертекса привело бы к смещению целого блока полигонов.
В Ниф файле, есть только полигоны "физически" меж собой не связанные единым вертексом.