Blender实用技巧:将3D模型原点移动到边界框底部中心
创作时间:
作者:
@小白创作中心
Blender实用技巧:将3D模型原点移动到边界框底部中心
引用
CSDN
1.
https://m.blog.csdn.net/m0_68830251/article/details/144813747
在3D建模和资产管理中,统一模型原点位置是一项常见需求。特别是在处理大量3D资产时,将所有模型的原点统一到其边界框(bound_box)底部中心,可以显著提高后续操作的效率。本文将介绍如何使用Blender软件实现这一目标。
以下是实现这一功能的Python脚本代码:
import bpy
import mathutils
from mathutils import Vector
# 获取当前选中的对象
obj = bpy.context.object
# 确保对象存在并且是 mesh 类型
if obj and obj.type == 'MESH':
# 获取物体的边界框坐标
bound_box = obj.bound_box # 获取物体的8个角点
# 将边界框坐标转换为世界空间
world_bound_box = [obj.matrix_world @ mathutils.Vector(corner) for corner in bound_box]
# 获取边界框的坐标
min_x, min_y, min_z = world_bound_box[0]
max_x, max_y, max_z = world_bound_box[6]
# 计算边界框底部中心位置
center_x = (min_x + max_x) / 2
center_y = (min_y + max_y) / 2
center_z = min_z # 使用底部的z值
# 设置3D游标到物体边界框底部的中心
bpy.context.scene.cursor.location = Vector((center_x, center_y, center_z))
# 将物体原点设置为游标的位置
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')
核心思想:通过将3D游标移动到模型边界框底部中心,再将模型原点设置到游标位置,从而实现原点的统一。
热门推荐
一文读懂食品添加剂的种类及功能
期货盈亏的原因是什么?如何在这种机制下进行风险控制?
轻微食物中毒在家怎么处理
大便隐血联合检测的重要性
结肠镜检查:定义、好处、诊断范围及注意事项
专家为什么不建议用消毒柜
李广:勇猛善战,为反击匈奴奉献一生,为何最终却没有封侯?
手把手教你查询全球各国进口关税!(上)
怎样判断咽炎是细菌还是病毒
九寨沟为什么这么漂亮?
安全继电器怎样确保正常运行?正常运行时需要注意哪些方面?
绞股蓝的种植技术,可播种、扦插或根茎繁殖
Win10 LTSC版本与正常版本有什么区别?LTSC版和普通版的区别说明
中药酒什么时候喝最好
辛辣食物:成分、功效与食用指南
银行的信用卡还款宽限期规则的合理性分析
贵州百里杜鹃:最佳赏花季与深度文旅探索!
万山红遍竞芳菲——“春时花海”杜鹃花篇
上海松江站优化标识、增设夜间休息处,用精细服务迎“春运大考”
薪资核算时,如何处理员工的申诉和反馈?
自残的人怎么做心理疏导
伊吾县:从能源重镇到算力枢纽的转型之路
《山海经》与青铜树
十二生肖的性格特征及优缺点
从‘听话’到‘对话’:构建平等尊重的亲子沟通模式
总是对爸妈不耐烦?3个方法,改善你的亲子沟通障碍
减肥吃蒸土豆还是煮土豆
社保卡补办需要几天?办理社保卡补办流程及时间解析
如何优化银行排队系统,提高客户满意度与效率
家庭新型采暖暖气方式