GLTF编辑器如何快速重置模型原点
1、什么是模型原点?
模型原点是三维建模中的概念,它是指在一个虚拟三维空间中确定的参考点。模型原点通常位于模型的几何中心或基本组件的中心位置。如图所示:

可以看到模型的原点在模型的几何中心
2、模型原点的作用
知道了什么是模型原点,那么模型原点有那些作用呢?
以下是模型原点的作用点:
- 位置确定:模型原点可以帮助确定模型在三维空间中的位置。通过移动原点,可以将模型放置在需要的位置上,确保其在整个场景中的摆放、旋转和缩放等操作正常进行。
- 坐标系统:模型原点确定了模型的坐标系统,也就是三维空间的基准轴。这使得模型在与其他对象交互、进行布局和定位时更加方便。
- 动画和变换:在进行动画和变换操作时,模型原点作为参考点起到了关键的作用。所有的平移、旋转、缩放等操作都是以模型原点为基准进行的。
- 导出与引入:在导出或引入模型文件时,模型原点可以帮助保持模型在不同软件之间的一致性。它可以成为不同软件之间进行数据交换的参考点。
3、模型原点可能引起的问题
在工作,如果模型原点不在几何中心,可能会导致一些问题,包括:
- 定位和对齐困难:若模型原点不在几何中心,将难以准确地定位和对齐模型。当需要将模型与其他模型或场景元素对齐时,几何中心通常是最直观的参考点。如果原点位置不正确,可能会导致模型无法精确定位。
- 变换失控:模型原点在进行变换操作(如平移、旋转、缩放)时起到关键作用。如果原点位置不正确,变换操作可能不会按预期执行,导致模型出现意外结果。例如,当尝试将模型整体平移时,实际上可能只有部分模型发生了平移,而非整个模型。
- 动画和约束异常:在动画制作和约束系统中,模型原点通常用作骨骼或控制器的附着点。如果原点位置不正确,可能导致动画运动不正常或约束无效。这可能会使得动画过程变得困难,同时影响模型的实时交互性能。
- 导入和导出问题:当将模型从一个软件导出到另一个软件,或者将模型从三维建模软件导入到游戏引擎中时,原点位置可能会发生变化。如果模型原点不在几何中心,导入导出过程可能会出现偏移或错位,导致模型无法正确放置或对齐到目标环境。
因此,确保模型原点位于几何中心附近是很重要的,这有助于顺利进行模型的定位、变换、动画和导入导出等操作,提高工作效率并避免潜在问题。
4、如何设置模型原点
那么如何设置模型原点呢?
市面上的3D建模软件大多都有这个功能,但是多数建模软件都是PC软件,需要安装相关程序和依赖程序,软件体积较大,安装复杂。就算安装成功后,由于软件的专业性、复杂性,多数人并不会使用或者不能熟练使用,费时费力。
而GLTF编辑器 则不同,它是一款在线工具,不用安装也不用注册,也没有任何依赖,打开浏览器就能使用,操作及其简单方便,可以大大提升用户的工作效率。下面来介绍下如何使用GLTF编辑器 对模型进行原点重置。
修改前, 我们用Blender看一下原始模型的原点位置,如下图所示:

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

我们看到模型是沿着垂直于模型右侧底部原点的直线在旋转。
接下来, 我们把模型导入GLTF编辑器 来重置模型原点,点击【修改中心点】按钮,直接将弹框中的X、Y、Z的值修改成0(模型的几何中心), 点击保存, 模型原点重置成功。

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

可以看到模型是沿着垂直于模型的集合中心在旋转, 说明模型原点确实被重置了成功了。
5、结论
GLTF编辑器 除了可修改模型原点之外,还支持以下功能:
模型材质合并:将多个模型中使用的材质合并为一个或少数几个共享的材质。这个过程可以在三维计算机图形中进行,以优化模型的渲染性能和减少内存占用。
模型材质修改:修改模型的材质属性,用于控制模型的外观、反射特性和光照效果。
以及模型尺寸、旋转角度和基本属性的修改, 这部分内容给将在以后得文章进行讲述。
原文链接:GLTF编辑器如何快速重置模型原点 (mvrlink.com)
相关文章:
GLTF编辑器如何快速重置模型原点
1、什么是模型原点? 模型原点是三维建模中的概念,它是指在一个虚拟三维空间中确定的参考点。模型原点通常位于模型的几何中心或基本组件的中心位置。如图所示: 可以看到模型的原点在模型的几何中心 2、模型原点的作用 知道了什么是模型原点&…...
【STL】vector常见用法及模拟实现(附源码)
目录 前言1. vector介绍及使用1.1vector的介绍1.2 vector的使用1.2.1 构造函数 1.2.2 vector对象遍历1.2.3 reserve和resize1.2.4 insert和erase 2. vector模拟实现2.1 vector迭代器失效问题2.2 模拟实现reserve函数浅拷贝问题2.3模拟实现源码2.3.1 vector.h2.3.2 test.cpp 前言…...
深度学习保姆级教学
文章目录 前言1.深度学习概论2.神经网络1.基础原理2.损失函数3.SoftMax4.前向传播5.反向传播1.反向传播介绍 6 卷积神经网络应用1.检测任务2.超分辨率重构3.医学检测4.无人驾驶5. 人脸识别 6.卷积网络和传统区别7.卷积神经网络1.卷积做了什么?2.节点网络1.Alexnet2.…...
计算机视觉的优势和挑战
计算机视觉(CV)是一项快速发展的技术,它具有许多优势和挑战。以下是一些可能的例子: 优势: 1. 自动化:CV技术可以自动化任务,例如图像分类、目标检测和跟踪,从而提高生产力和减少人…...
群晖管家+内网穿透实现公网远程访问本地黑群晖
白嫖怪狂喜!黑群晖也能使用群晖管家啦! 文章目录 白嫖怪狂喜!黑群晖也能使用群晖管家啦!1.使用环境要求:2.下载安装群晖管家app3.随机地址登陆群晖管家app4.固定地址登陆群晖管家app 自己组装nas的白嫖怪们虽然也可以通…...
Essential C++【读书笔记 思考总结】
本篇博客是学习过程中的笔记、思考和总结。原文链接: 3 泛型编程风格 Generic Programming3.1 指针的算术运算3.2 了解 Iterator(泛型指针)3.3 所有容器的共通操作 3 泛型编程风格 Generic Programming STL的主要组件:Container&…...
深度学习实战基础案例——卷积神经网络(CNN)基于Xception的猫狗识别|第2例
文章目录 一、环境准备二、数据预处理三、构建模型四、实例化模型五、训练模型5.1 构建训练函数5.2 构建测试函数5.3 开始正式训练 六、可视化精度和损失七、个体预测总结 今天使用轻量级的一个网络Xception做一个简单的猫狗识别案例,我的环境具体如下: …...
Linux Systemd 配置开机自启
博文目录 文章目录 Systemd操作方式配置方式配置示例参考 Systemd Systemd 是一个用于启动、管理和监控 Linux 系统的初始化系统。它是许多现代 Linux 发行版中默认的初始化系统,取代了传统的 SysVinit 和 Upstart。 Systemd 的引入在 Linux 社区引起了一些争议&…...
华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 fio 深度测评华为云云耀云服务器L实例的磁盘性能
本文收录在专栏:#云计算入门与实践 - 华为云 专栏中,本系列博文还在更新中 相关华为云云耀云服务器L实例评测文章列表如下: 华为云云耀云服务器L实例评测 | 从零开始:云耀云服务器L实例的全面使用解析指南华为云云耀云服务器L实…...
卸载Visual Studio 2010学习版 —— 卸载VCExpress
目录 最初安装Visual Studio 2010学习版是因为计算机二级 C语言考试而装,现如今考完试后便可卸载掉了,安装简便而卸载却没有uninstall.exe文件。故本文提供卸载方式。 进入到程序目录,找到setup.exe文件,也可以在程序目录搜索set…...
react的状态管理简单钩子方法
1.recoil useProvider文件: import { atom, useRecoilState } from recoil;const initState atom({key: initState,default: {state: [],}, })// 将业务逻辑拆分到一个单独文件中,方便进行状态管理 export interface StateProps {id: number;text: string;isFini…...
【Git】轻松学会 Git:深入理解 Git 的基本操作
文章目录 前言一、创建 Git 本地仓库1.1 什么是仓库1.2 创建本地仓库1.3 .git 目录结构 二、配置 Git三、认识 Git 的工作区、暂存区和版本库3.1 什么是 Git 的工作区、暂存区和版本库3.2 工作区、暂存区和版本库之间的关系 四、添加文件4.1 添加文件到暂存区和版本库中的命令4…...
什么是HTTP头部(HTTP headers)?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 理解 HTTP 头部(HTTP Headers)⭐ HTTP 头部的分类⭐ HTTP 头部的应用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦&#x…...
SpringCloud Alibaba 入门到精通 - Sentinel
SpringCloud Alibaba 入门到精通 - Sentinel 一、基础结构搭建1.父工程创建2.子工程创建 二、Sentinel的整合SpringCloud1.微服务可能存在的问题2.SpringCloud集成Sentinel搭建Dashboard3 SpringCloud 整合Sentinel 三、服务降级1 服务降级-Sentinel2 Sentinel 整合 OpenFeign3…...
【深度学习实验】前馈神经网络(三):自定义多层感知机(激活函数logistic、线性层算Linear)
目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 构建数据集 2. 激活函数logistic 3. 线性层算子 Linear 4. 两层的前馈神经网络MLP 5. 模型训练 一、实验介绍 本实验实现了一个简单的两层前馈神经网络 激活函数…...
HJ68 成绩排序
描述 给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低…...
FPGA——UART串口通信
文章目录 前言一、UART通信协议1.1 通信格式2.2 MSB或LSB2.3 奇偶校验位2.4 UART传输速率 二、UART通信回环2.1 系统架构设计2.2 fsm_key2.3 baud2.4 sel_seg2.5 fifo2.6 uart_rx2.7 uart_tx2.8 top_uart2.9 发送模块时序分析2.10 接收模块的时序分析2.11 FIFO控制模块时序分析…...
华为云Stack的学习(七)
八、华为云Stack存储服务介绍 1.云硬盘EVS 云硬盘(Elastic Volume Service,EVS),又名磁盘,是一种虚拟块存储服务,主要为ECS(Elastic Cloud Server)和BMS(Bare Metal Se…...
安装k8s集群
一、前置环境配置 安装两台centos 实验环境,一台pc配有docker环境,有两个centsos7容器,其中一个容器作为master,一个作为node。如果master与node都是用默认端口,会存在冲突,所以在此基础上做细微的调整。…...
C++中编写没有参数和返回值的函数
C中编写没有参数和返回值的函数 返回值为 void 函数不需要将值返回给调用者。为了告诉编译器函数不返回值,返回类型为 void。例如: #include <iostream>// void means the function does not return a value to the caller void printHi() {std…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
Python爬虫(52)Scrapy-Redis分布式爬虫架构实战:IP代理池深度集成与跨地域数据采集
目录 一、引言:当爬虫遭遇"地域封锁"二、背景解析:分布式爬虫的两大技术挑战1. 传统Scrapy架构的局限性2. 地域限制的三种典型表现 三、架构设计:Scrapy-Redis 代理池的协同机制1. 分布式架构拓扑图2. 核心组件协同流程 四、技术实…...
