在C4D中用python实现一个根据索引来控制克隆的简易效果器

Posted rustygear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C4D中用python实现一个根据索引来控制克隆的简易效果器相关的知识,希望对你有一定的参考价值。

之前某个项目里遇到了这样一个问题:随机克隆了一堆东西打好摄像机后总是有几个克隆对象位置不太好,调随机值不太管用。而且摄像机还是个360°的摄像机,克隆的物体是一个圆环,运动选集还不好找。
总之这么一个小问题在各种原因下变得特别蛋疼,就把C4D自带的python效果器改了改,让它可以根据对象索引来控制克隆,基本上可以视为一个根据对象索引来控制物体的简易效果器,算是对简易效果器的一个补充。

  • 首先新建一个python效果器,添加用户数据
  • 复制代码到python编辑器
import c4d
from c4d.modules import mograph as mo
#Welcome to the world of Python

def main():
    md = mo.GeGetMoData(op)
    if md is None: return 1.0

    index = md.GetCurrentIndex()
    if index == op[c4d.ID_USERDATA,1]:
        mode = md.GetBlendID()
        if mode==c4d.ID_MG_BASEEFFECTOR_POSITION:
            return c4d.Vector(1.0)
        else: return 1.0
    else:
        return 0

此时自定义的用户数据便是你要控制对象的索引,在某些情况下调整它比拿着运动选集工具在视图中一阵划拉要舒服多了。

以上是关于在C4D中用python实现一个根据索引来控制克隆的简易效果器的主要内容,如果未能解决你的问题,请参考以下文章

为啥OpenCV for Python的cv2.HoughLines的返回值需要用索引来访问?

sphinx增量索引和主索引来实现索引的实时更新

jQuery实现 三级联动--省市县

MySQL 是不是使用现有索引来创建新索引?

使用 SQL Server 索引来提高性能

SAS:如何使用索引来挑选宏数组变量