Как установить вершинную позицию в 3d Max в maxScript?3d Max, maxScript. Установить вершинную позицию
$.selectedVerts.pos.x = 10 - not working
Как установить вершинную позицию в 3d Max в maxScript?3d Max, maxScript. Установить вершинную позицию
$.selectedVerts.pos.x = 10 - not working
Несколько способов, во-первых для некоторых коллекций отображенный присвоение собственности не работает, вы должны итерацию над ними:
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
в конец).