blender script mmd_tool 自动重命名刚体到合适的名字
关联文章,自动重命名Joint点:https://blog.csdn.net/ONE_SIX_MIX/article/details/125002920
改模的素材来自各个模型,手动改骨骼名还行,改刚体就要命了,实在太多了。
或许,未来有空的时候,单独弄个mmd_tool扩展工具来更加便于使用
写了个脚本来自动重命名刚体。
命名规则如下:
刚体对象名:刚体编号.rigid.引用骨骼名<.引用编号>
mmd刚体名:引用骨骼名<.引用编号>
其中,只有多个刚体同时引用同一个骨骼才会有<.引用编号>后缀,不然就没有这个后缀
命名示例:
注意,使用此脚本时,必须先显示刚体对象,这个脚本只会对非隐藏的刚体对象进行操作
import bpy# rb1->rb2->joint
paired_joints = {}name_to_rb = {}for obj in bpy.context.visible_objects:if obj.rigid_body_constraint is not None and \hasattr(obj, 'mmd_joint') and obj.mmd_joint is not None and \obj.rigid_body_constraint.object1 is not None and obj.rigid_body_constraint.object2 is not None:rb1_name = obj.rigid_body_constraint.object1.namerb2_name = obj.rigid_body_constraint.object2.namename_to_rb[rb1_name] = obj.rigid_body_constraint.object1name_to_rb[rb2_name] = obj.rigid_body_constraint.object2paired_joints.setdefault(rb1_name, {})paired_joints[rb1_name].setdefault(rb2_name, [])paired_joints[rb1_name][rb2_name].append(obj)idx = 0for rb1_name in sorted(list(paired_joints.keys())):for rb2_name in sorted(list(paired_joints[rb1_name].keys())):is_append_joint_i = len(paired_joints[rb1_name][rb2_name]) > 1for joint_i, joint in enumerate(paired_joints[rb1_name][rb2_name]):old_obj_name = joint.nameold_joint_name = joint.mmd_joint.name_jrb1_name_2 = name_to_rb[rb1_name].mmd_rigid.name_jrb2_name_2 = name_to_rb[rb2_name].mmd_rigid.name_jnew_obj_name = f'{idx}.joint.{rb1_name_2}->{rb2_name_2}'if is_append_joint_i:new_obj_name += f'.{joint_i}'joint.name = new_obj_namenew_joint_name = f'{rb1_name_2}->{rb2_name_2}'if is_append_joint_i:new_joint_name += f'.{joint_i}'joint.mmd_joint.name_j = new_joint_nameprint(f'rename {old_obj_name}->{new_obj_name} | {old_joint_name}->{new_joint_name}')idx += 1print('Success')
blender script mmd_tool 自动重命名刚体到合适的名字相关推荐
- 【树莓派学习笔记】五、处理、自动重命名并另存为图片
目录 编写源码 编译 测试 平台:树莓派3B 版本: 2021-05-07-raspios-buster-armhf 编写源码 所用源码修改自[机器视觉学习笔记]最近邻插值实现图片任意角度旋转(C++ ...
- php文件夹重命名,PHP自动重命名文件实现方法
本文实例讲述了PHP自动重命名文件实现方法.分享给大家供大家参考.具体方法分析如下: PHP重命名文件名我们在实际开发过程中经常会使用到,比如用户上传文件或是一些缓存文件自动生成的功能我们都需要使用到 ...
- linux文件自动改名,C#如何在生成文件夹或者文件时候自动重命名
C#如何在生成文件夹或者文件时候自动重命名 如果你在一个文件夹里面, 连续添加文件夹或者文件(不改名字), 那么系统会自动加上(1),(2),(3)... 这个效果我在网上搜不到, 自己写一下也不太难 ...
- oracle 10g在线重定义新特性——关联对象自动重命名(二)
9i的在线重定义存在一个问题,执行完在线重定义后,表的名称虽然保持不变,但是索引.约束.触发器等关联对象的名称会发生变化,有时候这会带来一定的问题,而要在事后手工修改,会比较麻烦. 10g的在线重定义 ...
- 开放源码易语言摄像头拍照自动重命名拍学籍照和证件照
功能介绍: 1.可用摄像头或手机(加装iVCam)实现拍照效果.加装iVCam可实现去背景功能. 2.自由移动.拖拉拍摄框大小功能. 3.自定义拍摄尺寸功能. 4.数据导入功能. 5.根据导入 的数据 ...
- python下载文件并改名_Python 实现自动重命名网易云音乐下载文件
网易云音乐 PC 版的下载文件都是按照 歌手名 - 歌曲名.mp3 的格式命名的,然而我比较喜欢直接以歌曲名作为文件名.手动一个一个文件改肯定是不行的,太 tm 蠢了(笑 以前我是用 shell 写的 ...
- (shell版)批量自动重命名文件中文转英文
我的个人小站开始发布啦,欢迎来逛逛:http://martinhan.site android开发切图都是中文名称怎么办?例如:主页.png,背景.png 一些中文的资源文件想导入项目里需要一个一个 ...
- 存储在icloud云盘文件夹顶层_重大问题!icloud云盘自动重命名且丢失文件… - Apple 社区...
情景:家中是mac,公司是windows,为了在家使用mac工作方便而将公司文件储存在icloud云盘中共享. 配置:公司windows 10电脑上安装最新icloud云盘客户端,并将文件保存在icl ...
- php图片传入及改名代码,WordPress上传中文名图片自动重命名
这几天用Wordpress搭建了一个图片站,在填充内容时遇到一个问题当我在媒体库中上传图片时有些图片可以正常显示,但是个别图片就是显示不出来缩略图,这个问题着实让我纠结了一下午.没办法查找原因少不了研 ...
最新文章
- 思科高级路由与交换(CISCO 部分) 第5天
- Apiggs —— 非侵入性的 RestDoc 文档生成工具
- javascript之数组操作
- 「递归」第9集 | 我在腾讯做研究
- webp 格式转 png 格式的一种便捷方式
- 动态改变eachers图表高_让你的Excel图表动起来
- yii2 ajax访问控制器,如何在yii2中运行控制器动作作为ajax
- Linux 原生异步 IO 原理与使用
- 微信群怎么设置验证加入_怎么让微信群裂变拉人/拉人进群奖励方案/微信裂变营销方案策划...
- 访问地图http://clustrmaps.com/zh/admin/action.php
- CentOS 7 重装mysql编译过程报错解决方法
- docker search oracle,Docker search 命令
- (3)redis.config配置文件详解
- vbscript 微软教程网址
- 最近招聘和面试的感想
- 2018年——幻灭 2019年——重启
- 使用win10自带的手机投屏功能
- Sql语句——删除表数据drop、truncate和delete的用法
- Oracle 查看表中重复的记录,以及去除表中的重复记录
- 对vector<int> 的数组使用sort排序出错
热门文章
- web开发学习,HTML标签语义化
- Booth编码以及运算实例
- backup exec 无法备份dag
- 推荐一个有用的Excel操作类库 LinqToExcel
- Unity3D游戏开发初探
- 编程实用工具大全(二)(前后端皆可用,不来看看?)
- C++作业 设计一个程序实现油桶面积与体积的计算(构造函数与析构函数)
- 2、【斯纳克图书馆管理系统】运行环境
- No outgoing sequence flow of the exclusive gateway ‘XXX‘ could be selected for continuing the proces
- Canvas画钟 js