blender script 自动检测 “先” 骨骼并对其进行设定

本文介绍了一个用于MMD对象的脚本,能自动检测骨骼是否为尖端,并将其隐藏且不可操控。只需在姿态模式下选中骨骼执行即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用途:
自动检测和设定 先骨骼,并将其属性设定为隐藏和不可操控

使用方法:
选中mmd对象的骨架,进入姿态模式,选中所有骨骼,执行本脚本。

'''
自动转换和设定 尖端骨骼 的脚本
需要插件 blender_mmd_tools

使用方法:
选中mmd对象的骨架,进入姿态模式,选中所有骨骼,执行本脚本。

流程:
循环每一根选中的骨骼

检测骨骼的日文名后是否带 “先” 字。
如果有,则设定 尖端骨骼 为 真

如果骨骼的 尖端骨骼 属性为 真
则设定 可控制的 属性为 真,设定 隐藏 属性为 真

'''


import bpy

assert True

# 获得所有已选择的姿势骨骼
bones = bpy.context.selected_pose_bones

print('Start')

for bone in bones:
    mbone = bone.mmd_bone
    # print(f'{mbone.name_j}')
    
    # 检查 日文名 后缀是否为 “先”
    if mbone.name_j.endswith('先'):
        if not mbone.is_tip:
            print(f'setting {mbone.name_j} is_tip to True')
            mbone.is_tip = True
    
    # 检查是否为尖端骨骼
    if mbone.is_tip:
        if mbone.is_controllable:
            print(f'setting {mbone.name_j} is_controllable to False')
            mbone.is_controllable = False
        
        # 设定骨骼的隐藏属性。姿态模式不可见,编辑模式可见;同时,mmd里面,不可见。
        if not bone.bone.hide:
            print(f'setting {mbone.name_j} hide to True')
            bone.bone.hide = True
    
print('Success')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值