Blender 混合现实3D模型制作指南【XR】

本教程分步展示如何:

  • 减少 3D 模型的多边形数量,使其满足 Microsoft Dynamics 365 Guides 和使用 Microsoft Power Apps 创建的应用程序中包含的混合现实组件的特定性能目标的性能需求。
  • 将 3D 模型的多种材质(颜色)组合成可应用于模型的单个纹理。
  • 将优化的 3D 模型导出为可在 Dynamics 365 Guides 和 Power Apps 中使用的 GLB 文件。
  • 减少多边形和将多种材质转换为单个纹理相结合,可以将复杂且资源密集型的 3D 模型转换为在 Dynamics 365 Guides 和 Power Apps 中表现良好的 3D 模型。

1、什么是Blender?

Blender 是一款免费、开源的 3D 创作套件。 它支持整个 3D 流程:建模、绑定、动画、模拟、渲染、合成和运动跟踪,以及视频编辑和游戏创建。

如果你决定使用 Blender 来准备 3D 模型,请查看 Blender 的网站并下载适用于 Windows 的最新稳定版本。

2、使用 Blender 准备 3D 模型的总体步骤

使用 Blender 准备混合现实 3D 模型包括以下步骤:

  • 将模型导入 Blender。
  • 减少模型。
  • 展开模型(UV 展开)。
  • 分配材质。
  • 烘烤纹理。
  • 将模型导出为 GLB 文件。

如果你已经有现成的3D模型,可以直接使用3DConvert这个在线3D格式转换工具将模型转换为GLB文件。

3、将模型导入 Blender

打开Blender。 当你打开应用程序时,会自动创建一个新场景。

右键单击Cube模型,然后选择删除将其删除。
在这里插入图片描述

选择“文件”>“导入”>“Wavefront (.obj)”以导入 OBJ 文件。

在这里插入图片描述

在“导入 OBJ”下,执行以下操作:

A、 清除对象和组复选框,然后选择图像搜索复选框。

在这里插入图片描述

B、选择屏幕右侧的“导入 OBJ”。 这会将 3D 模型作为一项导入,并在子文件夹中搜索任何材质。
在这里插入图片描述

当你选择“导入 OBJ”时,将看到带有导入材质的 3D 模型。

如果 3D 模型非常大或非常小,或者很难看到,或者可能位于屏幕外(如下图所示),你可以使用鼠标滚轮放大或缩小相机,直到模型可见。
在这里插入图片描述

如果 3D 模型显示为灰色,请选择“外观开发”着色选项以显示颜色。
在这里插入图片描述

C、查看屏幕右下角的 Tris 计数(多边形数量)。
在这里插入图片描述

如果此数字满足性能目标分辨率,你可以跳过模型精简步骤并直接转到本教程后面的“展开模型”。 如果不满足目标分辨率,请继续执行下一部分以抽取模型。

4、模型精简

为了达到特定于应用程序的性能目标,你可能需要“精简”模型。 抽取(Decimate)是重新计算模型的表面多边形以创建具有更少多边形的相似形状的过程。 这会降低视觉保真度,但会提高性能。 下面的示例图像显示了当你在 Microsoft HoloLens 上查看3D 模型时使用高保真模型以及低质量 3D 模型的情况。

在这里插入图片描述

首先选择模型,然后转到“修改器”菜单“修改器”菜单。 在右侧的工具栏中。

在“修改器”菜单的“添加修改器”列表中,选择“抽取”。
在这里插入图片描述

选择模型后,将比率值更改为 0.0 到 1.0 之间的数字。 此设置确定删除的多边形(三角形)的百分比。 例如,值 0.5 会将原始多边形计数减少到 50%。 当你更改比率时,会看到 Blender 窗口右下角的 Tris 值减小。 当数字达到与你的性能目标相匹配并且看起来不错的值时,选择“应用”。
在这里插入图片描述

5、展开模型(UV 展开)

如果你的模型只有一种颜色,可以跳过此步骤。

为了形象化 UV 展开的概念,想象一下剪切 3D 模型的每个表面并将这些表面平放在一张纸上。 U 和 V 维度代表纸张的垂直和水平轴,就像 X、Y 和 Z 代表 3D 模型的三维轴一样。 展开 UV 使你能够使用模型的材质颜色绘制展平的部件。 这种彩绘纸称为纹理,随后将其包裹回模型顶部,给人一种由不同颜色的碎片制成的错觉,而实际上它是一个包裹着彩色纹理的物品。 此过程称为纹理烘焙,本教程稍后将对此进行介绍。

选择模型,将鼠标悬停在主菜单上,按 Tab 键进入编辑模式,按 a 全选,然后在 UV 菜单上选择 Smart UV Project。

在这里插入图片描述

通过选择左上角的编辑模式列表或按 Tab 键进入编辑模式。 在编辑模式下按 Tab 键可返回对象模式,如下图所示。
在这里插入图片描述

保留属性的默认设置,然后选择“确定”。
在这里插入图片描述

确保你处于编辑模式(按 Tab 键),并且整个模型仍处于选中状态(按 a)。 当选择整个模型时,它是橙色的。

选择 UV 编辑器菜单(或按 Shift+F10)。

在这里插入图片描述

在 UV 菜单上,选择pack islands。
在这里插入图片描述

概述的部分被重新组织以尽可能有效地表示模型的表面。 Pack Islands后,UV 如下所示:
在这里插入图片描述

创建网格的副本以在其上烘焙纹理。 按如下步骤操作:

  • 选择模型。
  • 右键单击模型以打开菜单。
  • 选择重复对象。
  • 按空格键。

在这里插入图片描述

6、准备纹理烘焙的材质

选择复制模型,然后选择“材质”选项卡。 转到材质面板。
在这里插入图片描述

通过选择材料右侧的减号来删除重复 3D 模型的所有材质。

在这里插入图片描述

要隐藏原始 3D 模型并仅显示副本,请选择原始 3D 模型名称右侧的“眼睛”。 请注意,复制的 3D 模型上没有材质。
在这里插入图片描述

选择“材质”面板中的加号,将新材质添加到副本中。
在这里插入图片描述

选择“新建”将新材质添加到材质槽。
在这里插入图片描述

将鼠标悬停在视口(显示 3D 模型的主窗口)上,按 Tab 键进入编辑模式,按 a 选择全部,然后从“材质”选项卡中选择“指定” 显示“材质”选项卡的屏幕截图。
在这里插入图片描述

选择对象模式左侧的图标,然后选择图像编辑器。
在这里插入图片描述

创建新图像(选择“添加”>“图像”>“新建”)。

在这里插入图片描述

将新图像保存为 My_Texture 或类似的易于记住的名称,然后将宽度和高度设置为 1024 × 1024 像素。 保留其他选项的默认值。
在这里插入图片描述

选择“视图”左侧的图标,然后选择“着色器编辑器”。
在这里插入图片描述

选择复制的 3D 模型后,选择“添加”>“纹理”>“图像纹理”。 选择或单击以将图像纹理节点放置在窗口中。

在这里插入图片描述

将图像纹理窗口中标记为 Color 的黄色节点链接(黄点)拖动到 Principled BSDF 节点上的 Base Color 黄色节点,以连接它们。

在这里插入图片描述

在图像纹理节点的下拉菜单中,找到刚刚创建的纹理并选择它。
在这里插入图片描述

选择左上角的 3D 视口以转至 3D 视口菜单。
在这里插入图片描述

6、将材质烘焙到纹理上

在复制的 3D 模型上设置纹理和材质后,就可以将原始 3D 模型中的材质烘焙到该纹理上了。 纹理将包裹在复制的 3D 模型周围,这使得它在使用原始颜色时具有更高的性能。

  • 选择“渲染”选项卡“渲染”选项卡。
  • 选择 Cycles 作为渲染引擎。
  • 在“烘焙”菜单中,将“烘焙类型”设置为“漫反射”。
  • 清除直接和间接复选框。
  • 选择原始 3D 模型,然后在按住 Shift 的同时选择重复的 3D 模型。
  • 选中“选定的活动”复选框。
  • 添加光线距离值。 从 0.01 开始,如果结果缺少色块,则增加它。

选择烘焙。
在这里插入图片描述

现在,复制的 3D 模型具有与原始模型相同的颜色,但只有一种材质而不是多种材质。 这可以显着减少绘制调用并提高性能。

要确认烘焙是否成功,你可以选择眼睛图标 眼睛图标。 在原始模型旁边将其隐藏。 现在只有具有一种材质和纹理的副本可见。
在这里插入图片描述

7、将模型导出到 GLB 文件

最后一步是将模型导出到 GLB 文件,以便它可以与 Dynamics 365 Guides 和 Power Apps 一起使用。

在 Blender 中,选择“文件”>“导出”>“glTF 2.0”。
在这里插入图片描述

在“导出”菜单上,确保选择了 GLB 格式并选中了“选定对象”复选框。 为文件命名,然后选择 glTF 2.0 (.glb/.gltf)。
在这里插入图片描述

8、在Power Apps 中查看 3D 模型

准备好 3D 模型后,请使用以下链接了解有关在 Dynamics 365 Guides 或 Power Apps 中使用模型的更多信息:

  • Dynamics 365 指南
  • Power Apps

原文链接:Blender混合现实模型制作 — BimAnt

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

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

相关文章

docker发展历史

docker 一、docker发展历史很久以前2013年2014年2015年2016年2017年2018年2019年及未来 二、 docker概述定义:docker底层运行原理:docker简述核心概念容器特点Docker与虚拟机的区别: 三、容器在内核中支持两种重要技术四、namespace的六项隔离五、虚拟化产品有哪些1…

Linux之awk判断和循环

echo zhaoy 70 72 74 76 74 72 >> score.txt echo wangl 70 81 84 82 90 88 >> score.txt echo qiane 60 62 64 66 65 62 >> score.txt echo sunw 80 83 84 85 84 85 >> score.txt echo lixi 96 80 90 95 89 87 >> score.txt把下边的内容写入到s…

Python学习笔记_基础篇(一)_初识python

Python简介 python的创始人为吉多范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 Python和其他语言的对比&#xff…

云原生网关API标准背景及发展现状

Gateway API是一个开源的API标准,源自Kubernetes SIG-NETWORK兴趣组。从出身角度讲,可谓根正苗红,自从开源以来备受关注,被寄予厚望。Gateway API旨在通过声明式、可扩展性和面向角色的接口来发展Kubernetes服务网络,并…

C++入门基础(万字详解!!!)

文章目录 前言1.C关键字2.命名空间3.C的输入输出4.缺省参数4.1 全缺省4.2 半缺省 5.函数重载6. 引用6.1 引用的特性6.2 引用的使用场景6.3 引用和指针 7.内联函数7.1 特性 8.auto关键字8.1 注意事项 9. 基于范围的for循环9.1 使用条件 10.指针控制nullptr10.1 注意事项 11.总结…

HTML中的字符串转义

为什么要转义? 转义可以防止 xss 攻击。接下来,我们来看一下如何转义。 HTML Sanitizer API Sanitizer 是浏览器自带的转义方法,在2021年初被提出,兼容性问题很大。 列举几个常用的 API: const $div document.qu…

request发送http请求

今天正式开始为大家介绍接口自动化,相信很多做测试的朋友,都用过一些工具,比如jmeter,loadrunner,postman等等,所以今天先给那些基础不太好的同学,先讲讲postman如何来测接口以及如何用pthon代码…

AI 绘画Stable Diffusion 研究(八)sd采样方法详解

大家好,我是风雨无阻。 本文适合人群: 希望了解stable Diffusion WebUI中提供的Sampler究竟有什么不同,想知道如何选用合适采样器以进一步提高出图质量的朋友。 想要进一步了解AI绘图基本原理的朋友。 对stable diffusion AI绘图感兴趣的朋…

Vue2-配置脚手架、分析脚手架、render函数、ref属性、props配置项、mixin配置项、scoped样式、插件

🥔:总有一段付出了没有回报的日子 是在扎根 更多Vue知识请点击——Vue.js VUE2-Day6 配置脚手架脚手架结构render函数vue.js与vue.runtime.xxx.js的区别引入render函数为什么要引入残缺的vue呢? 脚手架默认配置ref属性props配置项传递数据接收数据注意点…

【设计模式】工厂模式

工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式提供了一种将对象的实例化过程封装在工厂类中的方式。通过使用工厂模式,可以…

电脑如何快速查看系统中的驱动是否安装

第一步:winR 打开运行命令窗口 第二步输入:在打开输入框中输入driverquery,点击确定或按下回车键,命令行页面列出本机相关驱动信息。 1、driverquery 驱动查询 2、driverquery /V 驱动程序查询/ V

高等数学 | 微分方程解决单中值问题、高阶导数的莱布尼兹公式

单中值问题都可以用通过求解微分方程的特解构造辅助函数,再用罗尔定理即可。 高阶导数的莱布尼兹公式推导以及应用,先求导至能够发现某次求导开始为0的时候,对其使用莱布尼兹公式。