从Paint 3D入门glTF

2024-04-30 16:44
文章标签 入门 3d paint gltf

本文主要是介绍从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

这篇关于从Paint 3D入门glTF的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/949390

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

C语言指针入门 《C语言非常道》

C语言指针入门 《C语言非常道》 作为一个程序员,我接触 C 语言有十年了。有的朋友让我推荐 C 语言的参考书,我不敢乱推荐,尤其是国内作者写的书,往往七拼八凑,漏洞百出。 但是,李忠老师的《C语言非常道》值得一读。对了,李老师有个官网,网址是: 李忠老师官网 最棒的是,有配套的教学视频,可以试看。 试看点这里 接下来言归正传,讲解指针。以下内容很多都参考了李忠老师的《C语言非