Статистика, кол-во полигонов, вершин, ребер и тд..

Автор
Сообщение
На сайте c 11.06.2011
Сообщений: 111
Sanfoura:


Пожизненный бан

Прива комрадес!

Имеем сцену (много объектов и тд), на некоторых объектах есть турбосмут(и тд.) на некоторых нет.

Вопрос: как можно посмотреть кол-во полигонов и вершин(всей сцены сразу) без турбосмута, но не отключая его(рыская по всей сцене)???

Или может, как вариант - как быстро находить объекты на которых наложены модификаторы сглаживания!?

На сайте c 11.06.2011
Сообщений: 111
Sanfoura:


Пожизненный бан
Цитата Jähman':
Цитата fear_13th:

как быстро находить объекты на которых наложены модификаторы сглаживания!?

select (for m in getClassInstances TurboSmooth collect refs.dependentNodes m)

--------------------------------------------------------

(
nf = 0
nv = 0
for o in objects do (      
 case classof o.baseobject of (              
Editable_mesh : (nf += meshop.getNumFaces o.baseobject; nv += meshop.getNumVerts o.baseobject)
Editable_Poly : (nf += polyop.getNumFaces o.baseobject; nv += polyop.getNumVerts o.baseobject)
default: ()    
)        
)
messageBox ("Faces: " + nf as string + "\nVerts : " + nv as string))
правда не учитывает всякие сплайны и тп.
вообще каждая итерация турбосмута в четыре раза увеличивает полигонаж.

чет не жужжит (а в сцене есть объекты с турбосмутом, и эта часть выделенных объектов с одним модификатором + они еще объедененны в группу с другими объектами)-

запускаю сцену, вставляю код и выдает -

d3e8b3ee5416c07d017075c205088cfb.PNG

нажимаю Ок ну и вижу -

select (for m in getClassInstances TurboSmooth collect refs.dependentNodes m)

--------------------------------------------------------

(nf = 0nv = 0for o in objects do (

       case classof o.baseobject of (

Editable_mesh : (nf += meshop.getNumFaces o.baseobject; nv += meshop.getNumVerts o.baseobject)

Editable_Poly : (nf += polyop.getNumFaces o.baseobject; nv += polyop.getNumVerts o.baseobject)

default: ()

    )

    )

messageBox ("Faces: " + nf as string + "\nVerts : " + nv as string))

OK

-- Syntax error: at ), expected <factor>

--  In line: messageBox ("Faces: " + nf as string + "\nVerts : " + nv as string))

На сайте c 11.06.2011
Сообщений: 111
Sanfoura:


Пожизненный бан
Цитата Jähman':

-- Syntax error: at ), expected <factor>

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

Цитата fear_13th:
как быстро находить объекты на которых наложены модификаторы сглаживания!?
select (for m in getClassInstances TurboSmooth collect refs.dependentNodes m)

ну уже что-то )).

Такой ответ в эдиторе:

select (for m in getClassInstances TurboSmooth collect refs.dependentNodes m)

-- Runtime error: operation requires a collection of nodes, got: #($Editable_Mesh:Box096 @ [227.097961,19.254250,5.700012], $Editable_Mesh:Box099 @ [68.453171,19.254288,5.700012], $Editable_Mesh:Box100 @ [36.111954,121.883728,5.700012], $Editable_Mesh:Box092 @ [331.088623,19.254227,5.700012], $Editable_Mesh:Box093 @ [296.373718,31.424370,65.143066], $Editable_Mesh:Box103 @ [200.655945,31.424393,65.143066], $Editable_Mesh:Box104 @ [101.531006,31.424416,65.143066], $Editable_Mesh:Box105 @ [52.655975,150.066833,65.143066])

Т.е. уже показывает объекты с турбиком, но не выделяет их(не делает селект, ну чтоб сразу потом можно было изолейт и пошерстить их)smiley-smile.gif

На сайте c 11.06.2011
Сообщений: 111
Sanfoura:


Пожизненный бан
Цитата Jähman':
Цитата fear_13th:

-- Runtime error: operation requires a collection of nodes, got:

select (nodes = #();for m in getClassInstances TurboSmooth do join nodes (refs.dependentNodes m);nodes)

Благодарю комрадеsmiley-friends.gif (вроде все гуд, группы - это уже приемлемый выход)

Читают эту тему: