2014-09-17 5 views

ответ

2

Несколько способов, во-первых для некоторых коллекций отображенный присвоение собственности не работает, вы должны итерацию над ними:

for vert in $.selectedVerts do vert.pos.x = 10 

Существуют также методы, соответствующие данному классу объектов, а именно:

meshOp.setVert <Mesh mesh> <vertlist> <point3 pos> 
polyOp.setVert <Poly poly> <vertlist> <point3 pos> 

Так, например, для Editable Poly:

(
    fn getPlanarPos obj vert dist axis:#x = 
    (
     local pos = polyOp.getVert obj vert 
     setProperty pos axis dist 
     pos 
    ) 

    local obj = selection[1] 
    local distX = 10 

    local verts = polyOp.getVertSelection obj 
    local vertsPos = for vert in verts collect getPlanarPos obj vert distX 
    polyOp.setVert obj #selection vertsPos 
) 

Это довольно немного подробней, но это не приведет к перерисовке обновления/просмотра (по сравнению с обновлением с каждой итерацией назначения vert.pos.x), здесь вы даже устанавливаете все вершины за один раз (если хотите чтобы сразу увидеть результат, добавьте update obj в конец).

Смежные вопросы