python实现c4d的tp粒子在多个物体上发射思维粒子

news2024/12/25 13:31:25

基本状态思维粒子只能传入一个物体,在一个物体身上发射粒子。

场景如下,右边的multiEmitter的python标签里的python脚本执行后会在其下面生成数个从pt物体的拷贝,同时拷贝其上的XPresso标签及标签里的内容

下面是pt物体的XPresso标签标签的内容

pt物体通过python产生copy后,它身上的user data标签会依次指定 Cube00,cube01,cube02等物体。

而他各紫的xpresso可以指定自身,每个都会改变名字

这样就实现了多物体发射tp粒子!

import c4d

def set_UDlink(null_obj, cube_name):
    UD_names = []
    for descID, bc in null_obj.GetUserDataContainer():
        name = bc[c4d.DESC_NAME]
        UD_names.append(name)
        if name == "userDT_obj":  # pt 存在的 USDTname
            null_obj[descID] = cube_name

def create_null(parent_obj):
    CopyNum = 1811  #想复制的数目
    CopyDig = 4  #想复制的位数
    CopyObj = "Polygon_"  #DT想link的对象
    for i in range(1, CopyNum + 1):  # 从 1 开始,范围变为到 CopyNum + 1
        pt_obj = doc.SearchObject("pt")
        if pt_obj:
            null_obj = pt_obj.GetClone()
            null_obj.SetName(pt_obj.GetName() + "_copy" + str(i).zfill(CopyDig))
            cube_name = CopyObj+ str(i).zfill(CopyDig)
            cube_obj = doc.SearchObject(cube_name)
            if cube_obj:
                set_UDlink(null_obj, cube_obj)
            else:
                print(f"未找到名为'{cube_name}'的物体。")
            # 将 null_obj 作为 parent_obj 的子物体
            doc.InsertObject(null_obj)
            null_obj.InsertUnder(parent_obj)

        else:
            print("未找到名为'pt'的物体。")

def main():
    # 获取当前 Python 标签所在的物体
    tag_obj = op.GetObject()
    if tag_obj:
        create_null(tag_obj)

        # 查找 pt 物体并禁止其 XPresso 的 Enable 选项
        pt_obj = doc.SearchObject("pt")
        if pt_obj:
            xpresso_tag = pt_obj.GetTag(c4d.Texpresso)
            if xpresso_tag:
                xpresso_tag[c4d.EXPRESSION_ENABLE] = False
    else:
        print("无法获取当前 Python 标签所在的物体。")
    c4d.EventAdd()

main()

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到

这时候要用到两个东西。https://developers.maxon.net/论坛搜索开发文档

比如这里我就在官方找到正确的id描述

然后我就把参数标签换过来

就实现了用python关闭原始pt的xpresso标签。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2120290.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[ RK3566-Android11 ] 关于 RK628F 驱动移植以及调试说明

问题描述 我这个项目的SDK比较老,移植RK628F最新驱动的调试过程,踩了很多坑,希望大家别踩坑。 解决方案: 首先在FTP上下载最新的RK628的驱动 rk628-for-all-v27-240730 版本。 下载完后 不要直接替换,不要直接替换&a…

Vue获取后端重定向拼接的参数

前言 比如我们要重定向这样一个连接: http://192.168.2.189:8081?nameadmin springboot重定向: Vue获取: getParam(param) {var reg new RegExp("(^|&)" param "([^&]*)(&|$)");var r location.searc…

计算机的错误计算(八十八)

摘要 探讨双曲反正切函数 atanh(x)的计算精度问题。 IEEE 754-2019 中含有 atanh(x)函数。其定义为 例1. 计算 atanh(0.9999999999997) . 不妨用 LibreOffice中的电子表格计算,则有: 若在线运行JavaScript代码: let result Math.atanh(0.…

单电源转正负双电源电路

单电源转正负双电源电路: 1.通过两个DCDC芯片进行降压: 不同负载下电源纹波不同,所以看电源纹波首先先说明负载是什么: 采用TPS5430将单电源转换成双电源的方式供电: 2.通过电荷泵的方式转换电压 成本可以压低&#…

民生水暖工程背后的科技力量引领工程智能化转型

物联网技术的广泛应用,使得物理设备能够实时传输运行状态数据至云端,实现了设备的全面感知与互联互通。每一台机器、每一个传感器都成为数据的源泉,为远程监控提供了坚实的基础。而大数据分析技术的应用,则让这些海量数据得以被高…

R语言统计分析——用回归做ANOVA

参考资料:R语言实战【第2版】 ANOVA(方差分析)和回归都是广义线性模型的特例,方差分析也都可以使用lm()函数来分析。 # 加载multcomp包 library(multcomp) # 查看cholesterol数据集的处理水平 levels(cholesterol$trt) # 用aov()…

久久派搭建风电系统网站(基于mariadb数据库)

久久派搭建风电系统网站 1、安装mariadb2、设置root账号密码3、设置MariaDB开机自启4、允许远程登录5、还原数据库6、扩容swap7、拷贝数据8、运行系统方法1:通过sh脚本运行方法2:直接运行jar包 文中所需网盘资料及讲解视频在文章末尾哦1。 本文中参考资料…

万能无线航模模拟器加密狗说明书

快速开始 Step1 插入加密狗到你的电脑,手机或MAC的USB口。 Step2 使用加密狗上的按钮,选择一个合适的协议。具体看第一节。 Step3 和遥控器对码,成功后指示灯常亮。具体看FAQ第二节。 Step4 在你的电脑,手机或MAC 安装对…

GD32F103单片机-GPIO

GD32F103单片机-GPIO 一、GPIO介绍二、GD32F103库函数介绍三、GPIO输入输出3.1 GPIO输出-LED闪烁3.2 GPIO输入-独立按键 STM32GPIO部分见STM32F1单片机-GPIO 一、GPIO介绍 GD32的GPIO同STM32一样,GPIO可以配置成8种输入输出模式,由软件配置成推挽输出、…

八、发票校验(2)

第三节 发票校验后台设置 1、设置发票进项税默认值(事务代码OMR2) 维护指定公司代码的进项税缺省值,在采购业务的发票校验操作中能够快速地指定税码。 ——路径:IMG:物料管理>后勤发票校验>收入发票>维护…

备战秋招60天算法挑战,Day34

题目链接: https://leetcode.cn/problems/coin-change/ 视频题解: https://www.bilibili.com/video/BV1qsvDeHEkg/ LeetCode 322.零钱兑换 题目描述 给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表…

为数据仓库构建Zero-ETL无缝集成数据分析方案(上篇)

对于从事数据分析的小伙伴们来说,最头疼的莫过于数据处理的阶段。在我们将数据源的原始数据导入数据仓储进行分析之前,我们通常需要进行ETL流程对数据格式进行统一转换,这个流程需要分配专业数据工程师基于业务情况完成,整个过程十…

力扣每日1题--2181.合并零之间的节点

问题 下面我会向大家介绍我的思考过程和解题思路 解题思路 首先,我们看问题提供给我们的提示部分。第一点给了我们节点的数目,第二点给了我们val的范围,而我们这道题是要让我们求和的问题,那么我们就应该估算一下我们数据的一个…

多目标优化算法求解UF1、UF2、UF3、UF4、UF5、UF6、UF7、UF8、UF9、UF10

设计新的多目标测试函数时,需要考虑多个因素以确保它们能够有效地评估和比较多目标优化算法。以下是一些常见的设计原则和考虑因素: 目标函数的多样性:测试函数应涵盖不同类型的目标函数,如线性、非线性、凸函数、凹函数等&#x…

智慧矿山数字化工业大数据平台建设方案(52页PPT下载)

方案介绍: 传统矿山面临生产效率低、资源消耗大、安全隐患多、环境污染严重等问题,急需通过数字化转型实现可持续发展。而智慧矿山数字化工业大数据平台建设方案则可以有效的帮助矿业企业构建一个集数据采集、存储、处理、分析及应用于一体的智慧矿山数…

使用lspci命令获取加速卡型号

文章目录 前言一、lspci -nn 获取具体厂商及设备ID二、使用步骤三、使用3080Ti再查询一下 前言 新到的实验机器和加速卡,安装好之后发现lspci命令没有显示型号,这里记录下使用 Vendor ID和Device ID 通过网页查询获取加速卡具体型号的过程。 一、lspci …

Flutter动画—涟漪效果

功能分析 涟漪是由几个圆重叠在一起的 外层圆环比内层圆环的背景色要淡,可以改变外层圆的透明度 想要达到涟漪效果只要将每个圆的半径慢慢变大并且循环动画即可 ​实现方法 在画板上创建三个圆环,再实现外层的圆环要比内层圆环的颜色要淡。 class …

第二十四篇——地形篇:知己知彼知地形

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 战略层面的东西宏观了解了之后,越到最后,这些战术…

OpenAI gym: How to get complete list of ATARI environments

题意:OpenAI Gym:如何获取完整的 ATARI 环境列表 问题背景: I have installed OpenAI gym and the ATARI environments. I know that I can find all the ATARI games in the documentation but is there a way to do this in Python, witho…

神经网络—参数初始化、激活函数、损失函数及反向传播算法

基础知识点 神经网络NN(Neural Netwarks) 深度学习(Deep Learning) 神经元(Neuron) 深层神经网络(Deep Neural Networks,DNNs) 神经网络有下面三个基础层(Layer)构建而成: 输入层(Input&am…