为了账号安全,请及时绑定邮箱和手机立即绑定

3dsmax maxscript:如何按照我选择的顺序获取顶点数组/列表?

3dsmax maxscript:如何按照我选择的顺序获取顶点数组/列表?

德玛西亚99 2022-06-07 19:50:21
我正在为 3dsmax 编写一个工具,该工具要求用户按照在数组中被选中的顺序获取选中的顶点,但到目前为止,通过它会按创建的顺序返回顶点:sel = getCurrentSeletion()selvets = vsel[1].selectedVerts如何使用maxscript按照我在3ds max中选择它们的顺序获取选定的顶点?如果maxscript没有办法,有没有办法在python中做到这一点?
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

如果你只关心顶点的位置,你可以使用pickPoint函数来代替。否则进行回调以更新选择更改并记录差异。一个例子是(如果您当前的节点是可编辑多边形):


try destroyDialog selectVerts catch()

rollout selectVerts ""

(

    local verts, currentSel


    fn collectVerts event nodes =

    (

        local sel = polyop.getVertSelection $

        local newVerts = sel - currentSel

        local removedVerts = currentSel - sel


        for v in removedVerts do if (local index = findItem verts v) > 0 do deleteItem verts index

        for v in newVerts do append verts v

        currentSel = sel

    )


    local callback = nodeEventCallback mouseUp:on enabled:off subobjectSelectionChanged:collectVerts


    checkButton chbSwitchCallback "Select verts"


    on chbSwitchCallback changed state do

    (

        if state and isKindOf $ Editable_Poly then

        (

            verts = #()

            currentSel = polyop.getVertSelection $

            callback.enabled = on

        )

        else

        (

            callback.enabled = off

            print verts #noMap

        )

    )

)

createDialog selectVerts


查看完整回答
反对 回复 2022-06-07
  • 1 回答
  • 0 关注
  • 403 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号