3D模型中心原点归零

简介: 模型原点是一个虚拟三维空间中的参考点,它在三维建模中具有定位、对齐、变换、导出、动画和约束等多个重要作用。

1、什么是模型原点?

模型原点是三维建模中的概念,它是指在一个虚拟三维空间中确定的参考点。模型原点通常位于模型的几何中心或基本组件的中心位置。如图所示:

可以看到模型的原点在模型的几何中心

2、模型原点的作用

知道了什么是模型原点,那么模型原点有那些作用呢?以下是模型原点的作用点:

  1. 位置确定:模型原点可以帮助确定模型在三维空间中的位置。通过移动原点,可以将模型放置在需要的位置上,确保其在整个场景中的摆放、旋转和缩放等操作正常进行。
  2. 坐标系统:模型原点确定了模型的坐标系统,也就是三维空间的基准轴。这使得模型在与其他对象交互、进行布局和定位时更加方便。
  3. 动画和变换:在进行动画和变换操作时,模型原点作为参考点起到了关键的作用。所有的平移、旋转、缩放等操作都是以模型原点为基准进行的。
  4. 导出与引入:在导出或引入模型文件时,模型原点可以帮助保持模型在不同软件之间的一致性。它可以成为不同软件之间进行数据交换的参考点。

3、模型原点可能引起的问题

在工作,如果模型原点不在几何中心,可能会导致一些问题,包括:

  1. 定位和对齐困难:若模型原点不在几何中心,将难以准确地定位和对齐模型。当需要将模型与其他模型或场景元素对齐时,几何中心通常是最直观的参考点。如果原点位置不正确,可能会导致模型无法精确定位。
  2. 变换失控:模型原点在进行变换操作(如平移、旋转、缩放)时起到关键作用。如果原点位置不正确,变换操作可能不会按预期执行,导致模型出现意外结果。例如,当尝试将模型整体平移时,实际上可能只有部分模型发生了平移,而非整个模型。
  3. 动画和约束异常:在动画制作和约束系统中,模型原点通常用作骨骼或控制器的附着点。如果原点位置不正确,可能导致动画运动不正常或约束无效。这可能会使得动画过程变得困难,同时影响模型的实时交互性能。
  4. 导入和导出问题:当将模型从一个软件导出到另一个软件,或者将模型从三维建模软件导入到游戏引擎中时,原点位置可能会发生变化。如果模型原点不在几何中心,导入导出过程可能会出现偏移或错位,导致模型无法正确放置或对齐到目标环境。

因此,确保模型原点位于几何中心附近是很重要的,这有助于顺利进行模型的定位、变换、动画和导入导出等操作,提高工作效率并避免潜在问题。

4、如何设置模型原点

那么如何设置模型原点呢?

市面上的3D建模软件大多都有这个功能,但是多数建模软件都是PC软件,需要安装相关程序和依赖程序,软件体积较大,安装复杂。就算安装成功后,由于软件的专业性、复杂性,多数人并不会使用或者不能熟练使用,费时费力。

GLTF编辑器 则不同,它是一款在线工具,不用安装也不用注册,也没有任何依赖,打开浏览器就能使用,操作及其简单方便,可以大大提升用户的工作效率。下面来介绍下如何使用GLTF编辑器 对模型进行原点重置。

修改前, 我们用Blender看一下原始模型的原点位置,如下图所示:

模型原点的位置是在模型右侧底部

我们可以将模型加到场景中去测试下模型的旋转操作,可以很直观的感受下模型原点的作用,我们将使用NSDT场景编辑器中去作下测试。

我们看到模型是沿着垂直于模型右侧底部原点的直线在旋转。

接下来, 我们把模型导入GLTF编辑器 来重置模型原点,点击【修改中心点】按钮,直接将弹框中的X、Y、Z的值修改成0(模型的几何中心), 点击保存, 模型原点重置成功。

下面, 我们把重置原点后的模型导入NSDT场景编辑器 中, 我们再来旋转下模型看下效果。

可以看到模型是沿着垂直于模型的集合中心在旋转, 说明模型原点确实被重置了成功了。

5、结论

GLTF编辑器 除了可修改模型原点之外,还支持以下功能:

模型材质合并:将多个模型中使用的材质合并为一个或少数几个共享的材质。这个过程可以在三维计算机图形中进行,以优化模型的渲染性能和减少内存占用。

模型材质修改:修改模型的材质属性,用于控制模型的外观、反射特性和光照效果。

以及模型尺寸、旋转角度和基本属性的修改, 这部分内容给将在以后得文章进行讲述。


转载:https://www.mvrlink.com/how-to-quickly-reset-the-model-origin/

目录
相关文章
|
机器学习/深度学习 消息中间件 存储
【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用
介绍 b 站的机器学习工作流平台 ultron 在 b 站多个机器学习场景上的应用。
【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用
java minio 8.x 通过https连接minio
java minio 8.x 通过https连接minio
1923 0
|
存储 关系型数据库 MySQL
MySQL数据库碎片化:隐患与解决策略
UUID作为主键可能导致MySQL存储碎片,影响性能。频繁的DML操作、字段长度变化和非顺序插入(如UUID)都会造成碎片。碎片增加磁盘I/O,降低查询效率,浪费空间,影响备份速度。建议使用自增ID,固定长度字段,并适时运行OPTIMIZE TABLE来减少碎片。
|
JavaScript 编译器
vue3+ts:shims-vue.d.ts
vue3+ts:shims-vue.d.ts
676 0
vue3+ts:shims-vue.d.ts
|
数据可视化 vr&ar
【Eviews实战】——ARIMA模型建模
【Eviews实战】——ARIMA模型建模
|
存储 图形学
【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置
【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置
1586 0
|
存储 C++
栈的深度解析:顺序栈与链栈的实现
栈的深度解析:顺序栈与链栈的实现
|
Java Go 开发者
Goroutine内存泄漏:原因与避免
【2月更文挑战第23天】
860 0
Postman 自定义变量使用详解
Postman是一款强大的API测试工具,支持全局、环境、集合和本地四种变量类型,方便不同场景的测试需求。定义变量涉及全局(在“Manage Environments”>“Globals”),环境(创建新环境并添加),集合(编辑集合>“Variables”),以及脚本内定义的本地变量。使用变量时以`{{variableName}}`格式插入,通过`pm.variables.get()`在脚本中获取。变量优先级:本地>数据>环境>集合>全局,可在Pre-request或Tests脚本中动态设置。掌握变量使用能提升测试效率。
|
机器学习/深度学习 算法 数据安全/隐私保护
两万多字诠释python经典基础算法之100题【内含思路、程序和答案】【python小白必备】
本文为最最基础的python基础算法题目、思路和答案,适合python初学者使用,可以当作python入门算法工具书,虽然不具有高深的算法,但是都是企业级算法用的频率最多的,这也是学好高级算法的必经之路。希望收藏、关注、点赞哦。

热门文章

最新文章