Render.ru

Экспорт нормалей в соотвествие с группами сглаживания

Phoenics

Пользователь сайта
Рейтинг
2
#1
Здравствуйте уважаемые форумчане!

Пишу экспорт-импорт геометрии. Столкнулся со следующей проблемой, в данный момент скрипт которым я пользуюсь экспортит нормали следующим образом:

format "normals \n" to:file01
for j=1 to vnum do
(
local p01=[0,0,0]
p01=GetNormal selection[1].mesh j
format "% " p01.x to:file01
format "% " p01.y to:file01
format "%\n" p01.z to:file01
)

Однако он это делает не совсем верно. Все модели выглядят так как будко к ним применена одна группа сглаживания. Например кубик выглядит как подушка.
К сожалению сейчас у меня есть только старый и до безобразия урезанный 3dmax6 у которого даже хэлпа нет, но то что SDK. Возможно кто-то из уважаемых форумчан знает как правильно экспортнуть нормаль с учётом групп сглаживания, и поделится свои знанием?

Зарание благодарен.
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#2
Не удивительно ты пытаешся одной нормалью описать угол куба, а там сколько их
должно быть ?
Правильно от 3 до 6 ти, столько сколько фейсов соединены с этой точкой

Правильно будет смотреть по фейсам, у одного фейса есть три угловые точки со своими нормалями:

meshop.getFaceRNormals <Mesh mesh> <int faceIndex> node:<node=unsupplied>

Returns a three element array of the render normals for the face’s three vertices. If <mesh> is a node, or if <mesh> is an Editable Mesh or a Mesh value and node is specified, the position is in the current coordinate system context. If <mesh> is an Editable Mesh or a Mesh value and node is not specified, the position is in the mesh’s local coordinate system.

meshop.getFacesUsingVert <Mesh mesh> <vertlist>

Returns a bitarray of size=(#faces in mesh) with bits set for all faces that use the specified vertices.

 
Сверху