Blender下的Python脚本代码
空对象移动
import bpy
# 删除所有对象,清空场景
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False)
# 创建一个新的骨骼对象
bpy.ops.object.armature_add(enter_editmode=True, align='WORLD', location=(0, 0, 0))
armature = bpy.context.object
# Armature 骨架
armature.name = 'Armature'
# 获取骨架数据
armature_data = armature.data
# 添加骨头
bone1 = armature_data.edit_bones.new('Bone1')
bone1.head = (0, 0, 0)
bone1.tail = (0, 1, 0)
bone2 = armature_data.edit_bones.new('Bone2')
bone2.head = (0, 1, 0)
bone2.tail = (0, 2, 0)
bone2.parent = bone1
# 退出编辑模式
bpy.ops.object.mode_set(mode='OBJECT')
# 创建一个空的平面坐标对象 target
# 实际上是控制的这个空对象的位置,然后其他的mesh或者obj跟随着这个空对象的位置变化
# 所以不存在,骨架的位置变形,mesh或者对象变形之类的问题
# 控制的是骨骼绑定的空对象 target
bpy.ops.object.empty_add(type='PLAIN_AXES', location=(0, 2, 0))
target = bpy.context.object
target.name = 'Target'
# 为 Bone2 添加 IK 约束 并绑定上面的那个空坐标对象
pose_bone2 = armature.pose.bones['Bone2']
ik_constraint = pose_bone2.constraints.new(type='IK')
ik_constraint.target = target
ik_constraint.chain_count = 2
# 设置关键帧动画 从1开始到50结束
bpy.context.scene.frame_start = 1
bpy.context.scene.frame_end = 50

最低0.47元/天 解锁文章
1765

被折叠的 条评论
为什么被折叠?



