从Paint 3D入门glTF

Paint 3D

Microsoft Paint 3D是微软的一款图像编辑软件,它是传统的Microsoft Paint程序的升级版。

这个新版本的Paint专注于三维设计和创作,使用户可以使用简单的工具创建和编辑三维模型。

Microsoft Paint 3D具有直观的界面和易于使用的工具,使任何人都可以在没有专业技能的情况下开始创建三维模型。用户可以选择使用预设的3D对象库中的模型,也可以从头开始创作自己的模型。还可以通过导入图像或使用内置的绘图工具来添加纹理和颜色。

除了创建和编辑3D模型之外,Microsoft Paint 3D还具有一些其他的功能,例如添加文字、绘制2D图像、裁剪和调整图像大小等。这使得它成为一个多功能的图像编辑工具,既可以用来进行简单的2D图像编辑,又可以用来创建复杂的3D模型。

一旦完成了设计,用户可以将其导出为不同的文件格式,例如3D模型文件、图像文件或甚至是可交互的3D对象。这使得用户可以与其他应用程序或平台共享或使用所创建的内容。

总的来说,Microsoft Paint 3D是一个功能强大且易于使用的图像编辑软件,它为用户提供了一种简单的方式来进行三维设计和创作。无论是初学者还是有经验的设计师,都可以通过这个软件来实现自己的创意和想法。

三维内容管道

在客户端应用程序中呈现的3D内容来自不同的来源,并以不同的文件格式存储。维基百科上的3D图形文件格式列表显示了压倒性的数量,有70多种不同的3D数据文件格式,服务于不同的目的和应用案例。

例如,可以使用3D扫描仪来获得原始3D数据。这些扫描仪通常提供单个对象的几何数据,这些数据存储在OBJ、PLY或STL文件中。这些文件格式不包含有关场景结构或应如何渲染对象的信息。

可以使用创作工具创建更复杂的三维场景。这些工具允许编辑场景的结构、灯光设置、相机、动画,当然还有场景中出现的对象的3D几何体。应用程序以自己的自定义文件格式存储这些信息。例如,Blender将场景存储在.flend文件中,LightWave3D使用.lws文件格式,3ds Max使用.Max文件格式,Maya使用.ma文件。

为了呈现这样的3D内容,运行时应用程序必须能够读取不同的输入文件格式。必须解析场景结构,并且必须将3D几何数据转换为图形API所需的格式。3D数据必须传输到图形卡存储器,然后渲染过程可以用图形API调用序列来描述。因此,每个运行时应用程序都必须为其支持的所有文件格式创建导入程序、加载程序或转换器。

glTF计划

2013 年,Khronos 发起了glTF计划,目标是创建一种与 JPEG 一样普遍的图像 3D 资产格式——现在glTF和 JPEG 一样,是一项国际标准。用于高效传输和加载 3D 场景和模型。 glTF最大限度地减少了解包和处理 3D 资产的运行时处理,同时实现了复杂的普遍图形功能。 glTF为 3D 内容、工具和服务定义了一种可扩展的通用发布格式,可简化创作工作流程并实现跨行业的内容互操作使用。

glTF(全称为Graphics Language Transmission Format)是一种用于在3D图形应用程序之间传输和加载3D模型的开放标准格式。它是由Khronos Group开发和维护的,旨在提供一种高效的方式来存储和传输3D模型,适用于在各种平台和设备上展示和交互。

越来越多的应用程序和服务基于3D内容。网上商店提供带有3D预览的产品配置程序。博物馆通过3D扫描将其文物数字化,并允许游客在虚拟画廊中探索其藏品。城市规划者使用三维城市模型进行规划和信息可视化。教育工作者创建交互式的、动画化的人体三维模型。其中许多应用程序直接在web浏览器中运行,这是可能的,因为所有现代浏览器都支持使用WebGL进行高效渲染。

各种应用程序中对3D内容的需求不断增加。在许多情况下,3D内容必须通过网络传输,并且必须在客户端高效地呈现。但到目前为止,在3D内容创建和在运行时应用程序中高效渲染3D内容之间存在差距。

glTF:一种用于3D场景的传输格式

glTF的目标是以适合在运行时应用程序中使用的形式定义用于表示3D内容的标准。现有的文件格式不适用于此用例:有些文件不包含任何场景信息,只包含几何体数据;其他文件是为在创作应用程序之间交换数据而设计的,其主要目标是保留尽可能多的关于3D场景的信息,从而产生通常较大、复杂且难以解析的文件。此外,可能必须对几何数据进行预处理,以便使用客户端应用程序对其进行渲染。
现有的文件格式都不是为在网络上高效地传输3D场景并尽可能高效地渲染它们的用例而设计的。但glTF并不是“另一种文件格式”。它是3D场景传输格式的定义:场景结构是用JSON描述的,JSON非常紧凑,可以很容易地进行解析。对象的3D数据以可由通用图形API直接使用的形式存储,因此不存在解码或预处理3D数据的开销。
不同的内容创建工具现在可以提供glTF格式的3D内容。越来越多的客户端应用程序能够使用和呈现glTF。因此,glTF可能有助于弥合内容创建和渲染之间的差距。
越来越多的内容创建工具直接提供glTF导入和导出。

例如《Blender手册》记录了如何使用glTF导入和导出PBR材质。或者,可以使用glTF项目资源管理器中列出的一个开源转换实用程序,使用其他文件格式来创建glTF资产。转换器和出口商的输出可以使用Khronos glTF验证器进行验证。

glTF的设计目标是解决当前存在的3D模型传输和加载的一些问题,包括文件大小和加载时间过长。通过使用基于JSON的文本或二进制编码,glTF可以将3D模型压缩到尽可能小的文件大小,并能够在加载时快速解析和渲染。

通过引擎、浏览器和应用程序高效传输和运行时加载3D场景和模型。glTF最大限度地减少了3D资产的大小和解包和使用它们所需的运行时处理。glTF已经在整个行业中被广泛采用,相当于“JPEG for 3D”。glTF被数百种内容工具和服务使用,简化了3D创作工作流程,并实现了整个行业真实3D模型的互操作使用。
随着glTF的采用速度加快,其生态系统已发展成为一个丰富的工具和应用程序宝库,可以生成和导入glTF文件。然而,这种日益增长的多样性迫切需要一种有效的工具来对整个行业的glTF资源进行编目,并使需要生成或使用glTF资产的开发人员和艺术家能够为他们的项目找到最佳工具。

为了满足这一社区需求,Khronos创建了glTF项目浏览器,作为glTF生态系统中项目的集中搜索目录。

glTF Project Explorer用户界面

在创建glTF项目浏览器之前,glTF生态系统中的工具在官方的glTF GitHub上的README和“最新的glTF项目”问题中都列出了,但如果没有有效的路标和过滤,这些列表很快就会变得难以处理。新的glTFProjectExplorer取代了这两个以前的资源,创建了一个位置,glTF社区可以在这里维护和搜索glTF项目的最新数据库。

glTF项目浏览器是一个可搜索的目录,包括库、引擎、插件、扩展和其他工具,这些工具已由Khronos和更广泛的社区引入glTF生态系统。用户可以搜索Khronos或社区项目,根据他们需要完成的任务、他们需要的工具或软件类型、他们希望使用的语言进行筛选,甚至可以看到glTF工作组本身的“员工选择”。

鼓励所有glTF用户和开发人员为glTF项目浏览器做出贡献。如果您已经开发或知道一个您认为应该包含的用于glTF的伟大工具,请随时打开拉取请求-您可以在glTF Project Explorer repo中找到此处的说明。Project Explorer是开源的,我们欢迎任何有兴趣帮助改进该工具以打开代码本身的拉取请求的人。

请尝试一下glTF项目浏览器,并让我们知道你的想法!我们期待着与您合作,为glTF社区开发这一动态且宝贵的资源。

以下是glTF的一些主要特点和优势:

  1. 开放标准:glTF是一个开放标准,任何人都可以自由使用和实现。它由Khronos Group的成员组织共同制定和维护。

  2. 高效压缩:glTF使用基于JSON的文本或二进制编码,可以将3D模型压缩到较小的文件大小,减少传输和加载时间。

  3. 独立性:glTF是独立于特定图形API和平台的,可以在各种3D图形应用程序和设备上使用,包括WebGL、OpenGL、Vulkan、iOS和Android等。

  4. 全面支持:glTF不仅支持静态3D模型的传输和加载,还支持动画、材质、纹理、光照、骨骼动画等高级功能。

  5. 可扩展性:glTF通过使用扩展机制,可以根据需求添加自定义的功能和属性。

总的来说,glTF是一种高效、灵活且跨平台的3D模型格式,为开发者和用户提供了一种便捷的方式来传输、加载和展示3D模型。

它在游戏开发、虚拟现实、增强现实和Web应用程序等领域具有广泛的应用前景。

从勤劳的小蜜蜂开始

蜜蜂忙碌在花丛间,为人间带来甘甜滋味; 振翅飞舞的身影如黄金,美丽如夏日的阳光;

努力采集花粉的勤劳,是大自然的小管家;

蜜蜂努力工作不懈怠,为我们带来酿制的精华;

蜂蜜香甜润心田,蜜蜂只为花开满地。

在Paint 3D的三维库中获取模型

在Paint 3D的3D库中搜索Bee获取蜜蜂的三维模型

导入三维模型到画板

蜜蜂的正面投影

蜜蜂的三维正轴测图

可以做XYZ轴旋转操作

投影出的三维视觉

接下来,可以另存为三维模型

选中glb格式,GLB文件(.GLB)代表“GL传输格式二进制文件”,是用于共享3D数据的标准化文件格式。确切地说,它可以包含有关三维模型、场景、模型、光源、材质、节点层次和动画的信息。

当您打开GLB文件格式时,您可以实现完整的三维场景可视化,并与之交互。这就是为什么它也被称为3D资产世界的JPEG。GLB和GLTF之间存在显著差异,GLB格式是GLTF文件的一个版本,不同之处在于,GLB格式是二进制文件格式,而GLTF格式是基于JSON(JavaScript对象表示法)的。GLB将三维场景的所有元素(包括材质、节点层次和摄影机)定位在一个压缩文件中。相比之下,GLTF文件需要外部处理文件格式,例如纹理、着色器和动画数据等其他格式。这些外部元素存储在GLTF文件中,但每个元素都使用唯一的格式编码语言(JPEG用于纹理,GLSL用于着色器,BIN用于动画数据)。

​因此,GLB被识别为一个独立的文件,包含单个网络中3D场景的所有组件,而GLTF被视为一个非独立文件,需要纹理、着色器和动画数据等元素的外部处理文件。

此外,GLB格式的大小比GLTF格式小33%,这使其成为一种更高效的选择,因为它需要更少的处理能力。

导入glb模型到blender

将Paint 3D导出的蜜蜂Bee.glb文件导入开源三维设计软件Blender。

使用开源三维设计软件blender设计三维模型

模型layout查看

模型modeling查看

模型sculpting查看

模型UV查看

材质贴图设计

模型shading查看

模型texture paint查看

模型动画查看

模型Geometry Nodes查看

模型俯视图

模型侧视图

模型前视图

导出为gltf格式文件

选中gltf格式 (*.gltf+*.bin+*.texture)导出

至此完成glb格式向gltf格式转换

浏览三维蜜蜂

使用3D查看器即可浏览三维蜜蜂

蜜蜂展现到屏幕上的的三维虚拟效果

gltf格式的数据结构

gltf数据结构卡片

参见:

Windows 10 Tip: A guide to the basic tools in Paint 3D | Windows Experience Blog

How to use Microsoft's Paint 3D in Windows 10 | PCWorld

glTF-Tutorials | glTF Tutorials

The-gltf-project-explorer

gltf-ecosystem-takeoff

gltf20-reference-guide.pdf

glTF | glTF – Runtime 3D Asset Delivery

glTF Tutorial | glTF-Tutorials

glTF-2.0.html

Khronos glTF 2.0 作为 ISO/IEC 国际标准发布 - Khronos Group Press Release

blender.org - Home of the Blender project - Free and Open 3D Creation Software

glTF 2.0 — Blender Manual

Explore 3D Models - Sketchfab

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/5433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitLab常用指令!(工作中常用的)

目录 克隆代码创建分支切换分支将代码提交到分支当中Merge合并 克隆代码 复制完地址,打开Git Bash,然后 git clone “复制的地址”创建分支 创建new_test分支 git branch new_test切换分支 切换到new_test分支 git checkout new_test将代码提交到分…

Hotcoin Research | 市场洞察:2024年4月22日-28日

加密货币市场表现 本周内加密大盘整体呈现出复苏状态,在BTC减半后进入到震荡上行周期。BTC在$62000-66000徘徊,ETH在$3100-3300徘徊,随着港交所将于 4 月 30 日开始交易嘉实基金的比特币和以太坊现货 ETF,周末行情有一波小的拉升…

vue+elementUI实现点击左右箭头切换按钮功能

原本是可以用el-tabs做的,就像下面的样式,但是领导说不行 最后用button和element里面的el-carousel(走马灯)结合了一下 长这样 感觉还不错 可以自己改样式 代码如下: <div class"drawer-carousel"><el-carousel arrow"always" :loop"false…

自动驾驶框架 UniAD环境部署

感谢大佬们的开源工作 UniAD-github地址-YYDS更多bev算法部署参考如果您觉得本帖对您有帮助&#xff0c;感谢您一键三连支持一波^_^ 统一自动驾驶框架 (UniAD) &#xff0c;第一个将全栈驾驶任务整合到一个深度神经网络中的框架&#xff0c;并可以发挥每个子任务以及各个模块的…

NASA数据集——VIIRS每日 L3深蓝气溶胶网格产品(AERDB_D3_VIIRS_SNPP),以 1 x 1 度

VIIRS/SNPP Deep Blue Level 3 monthly aerosol data, 1 degree x1 degree grid 简介 美国国家航空航天局&#xff08;NASA&#xff09;的可见红外成像辐射计套件&#xff08;VIIRS&#xff09;标准三级&#xff08;L3&#xff09;每月深蓝气溶胶产品来自苏米国家极轨伙伴关系…

开通Jetbrains个人账号,赠送这些付费插件

开通Jetbrains个人账号&#xff0c;或者Jetbrains现成账号的, 可赠送以下付费插件 现成账号&#xff1a;https://web.52shizhan.cn/activity/xqt8ly 个人账号&#xff1a;https://web.52shizhan.cn/legal 账号支持全家桶系列&#xff1a;AppCode,CLion,DataGrip,GoLand,Intell…

WebAuthn 无密码身份认证

文章目录 WebAuthn简介工作原理组成部分架构实现注册认证应用场景案例演示 WebAuthn简介 WebAuthn&#xff0c;全称 Web Authentication&#xff0c;是由 FIDO 联盟&#xff08;Fast IDentity Online Alliance&#xff09;和 W3C&#xff08;World Wide Web Consortium&#x…

java技术栈快速复习05_基础运维(linux,git)

Linux知识总览 linux可以简单的理解成和window一样的操作系统。 Linux和Windows区别 Linux是严格区分大小写的&#xff1b;Linux中一切皆是文件&#xff1b;Linux中文件是没有后缀的&#xff0c;但是他有一些约定俗成的后缀&#xff1b;Windows下的软件一般是无法直接运行的Li…

如何安全可控的进行跨区域数据交换,提高数据价值?

跨区域数据交换指的是在不同地理位置或不同网络环境下的数据传输和共享。随着数字化转型的加速&#xff0c;企业及组织越来越依赖于数据的流动来优化业务流程、增强决策制定和推动创新。然而&#xff0c;跨区域数据交换也带来了一系列的挑战和风险&#xff0c;主要包括&#xf…

3款超好用的PDF在线处理神器,学会了职场工作效率翻倍!

&#x1f60a; 作为一名职场小白,我深知处理文档的痛苦。尤其是面对PDF这个"大魔王",经常感到头大! 合同要合并、简历要压缩、论文要转Word改格式…一个个来手动操作,简直要累死。&#x1f62b; 直到我发现了这些PDF在线处理神器!瞬间感觉自己的工作效率嗖嗖提升,整…

【STM32】F405/407的模块总览图,记录查看

从STM32F405/407数据手册中提取&#xff0c;方便以后查看。主要是什么外设连接在什么总线上&#xff0c;时钟频率是多少。 TIM2、3、4、5、12、13、14在APB1上&#xff0c;最大频率84M TIM1、8、9、10、11在APB2上&#xff0c;最大频率168M

3.9设计模式——Strategy 策略模式(行为型)

意图 定义一系列的算法&#xff0c;把它们一个个封装起来&#xff0c;并且使他们可以相互替换此模式使得算法可以独立于使用它们的客户而变化 结构 Strategy&#xff08;策略&#xff09;定义所有支持的算法的公共入口。Context使用这个接口来调用某ConcreteStrategy定义的方…

从源头上减少BUG:掌握Java中的label和assert语句!

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…

【webrtc】MessageHandler 1: 基于线程的消息处理:以10毫秒处理音频为例

基于m98 G:\CDN\rtcCli\m98\src\audio\null_audio_poller.h分发的消息由MessageHandler 类通过其抽象接口OnMessage 实现处理 NullAudioPoller NullAudioPoller 是一个处理audio的消息的分发器 poll 启动:

手写一个uart协议——rs232(未完)

先了解一下关于uart和rs232的基础知识 文章目录 一、RS232的回环测试1.1模块整体架构1.2 rx模块设计1.2.1 波形设计1.2.2代码实现与tb1.2.4 仿真 1.3 tx模块设计1.3.1波形设计 本篇内容&#xff1a; 一、RS232的回环测试 上位机由串口助手通过 rx 线往 FPGA 发 8 比特数据&a…

DS高阶:图论基础知识

一、图的基本概念及相关名词解释 1.1 图的基本概念 图是比线性表和树更为复杂且抽象的结&#xff0c;和以往所学结构不同的是图是一种表示型的结构&#xff0c;也就是说他更关注的是元素与元素之间的关系。下面进入正题。 图是由顶点集合及顶点间的关系组成的一种数据结构&…

MATLAB - 机器人动力学 - 质心(Center of Mass)

系列文章目录 前言 一、用法 com centerOfMass(robot) com centerOfMass(robot,configuration) [com,comJac] centerOfMass(robot,configuration) 二、说明 com centerOfMass(robot) 计算机器人模型在原点构型处相对于基础坐标系的质心位置。com centerOfMass(robot,conf…

链表算法题总结

链表作为一个基础的数据结构&#xff0c;在开发中经常被使用。 链表往往使用如下的数据结构来表示&#xff0c;struct node 表示链表中的一个节点&#xff0c;data 表示节点的数据&#xff1b;next 表示这个节点指向的下一个节点&#xff0c;如果是链表的尾节点&#xff0c;那…

关于下载上传的sheetjs

一、背景 需要讲后端返回来的表格数据通过前端设置导出其中某些字段&#xff0c;而且得是xlsx格式的。 那就考虑使用控件SheetJS。如果是几年前&#xff0c;一般来说&#xff0c;保存excel的文件都是后端去处理&#xff0c;处理完成给前端一个接口&#xff0c;前端调用了打开…

Centos7+Hadoop3.3.4+KDC1.15+Ranger2.4.0集成

一、集群规划 本次测试采用3台虚拟机&#xff0c;操作系统版本为centos7.6。 kerberos采用默认YUM源安装&#xff0c;版本为&#xff1a;1.15.1-55 Ranger版本为2.4.0 系统用户为ranger:ranger IP地址主机名KDCRanger192.168.121.101node101.cc.localKDC masterRanger Admin…