【问题标题】:How could i increase a every next object part exponentially with a value a attach?我怎样才能以附加值成倍增加每个下一个对象部分?
【发布时间】:2019-01-03 00:03:07
【问题描述】:

我怎样才能以指数方式增加每个下一个对象部分。示例 1.part 添加 1,5 ; 2.第 3 部分;3.第 4,5 部分,4.第 5 部分; 5.第 6.5 部分; 6.第7部分; 7.part 8,5 等等等等 目标是定义一个楼梯

【问题讨论】:

  • 什么是“对象部分”?一张脸,一些属性?您的问题需要编辑,因为不清楚您在问什么。
  • 是的,这是一张脸,所以我可以挤出下一张脸,我知道我是一个完全的初学者,但每个人都是这样开始的。
  • 您能给我们一些示例代码吗?这里通常的起点是从具体的东西开始,要么问为什么它不起作用,要么如何改进

标签: python python-2.7 3d polygon maya


【解决方案1】:

这是一个迭代选定组件的示例。它的工作原理是选择您要挤出的面并执行脚本。

注意:要使组件选择顺序起作用,您需要启用 Settings/Preferences > Selection > Track selection order

我在 polyExtrudeFacet 命令中添加了一些偏移量,只是为了说明面没有保持在一起。如果这是您想要的,您将不得不更改脚本。我会把这个任务留给你。

细分:

  1. 获取有序选择的列表。
  2. 遍历每个数组组。
  3. 增加索引并计算局部z平移值
  4. 在局部 z 轴上拉伸面。

import pymel.core as pm

def step_extrude():
    step_size = 1.5
    i = 0

    for faceArray in pm.ls(os=True):
        for face in faceArray:
            i += 1
            z = step_size * i
            pm.polyExtrudeFacet(face, 
                                constructionHistory=True, 
                                localTranslate=[0.0, 0.0, z], 
                                offset=0.2)

step_extrude()

【讨论】:

    猜你喜欢
    • 2011-01-10
    • 2022-01-23
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多