Unity开发者3D模型基础

news2024/11/19 2:33:18

术语“3D 建模”是指使用特殊软件创建对象或表面的 3D 数字表示的过程。 3D 模型可用于各种不同的目的,包括电影、视频游戏、建筑和工程。 3D 建模也是创建虚拟现实 (VR) 和增强现实 (AR) 体验工作的重要组成部分。

我们通常通过构建或获取 3D 模型并将其导入 Unity(一个 3D 游戏引擎)来创建虚拟现实场景。 在 Unity 中构建场景时,用户查看的每个组件都具有计算机图形管道中的资源遵循的特定层次结构。 他们是:

  • 网格 - 实际的几何形状
  • 纹理 - 位图图像
  • 材质 - 表面的外观(即反光或哑光以及纹理的链接位置)。 这也是着色器应用的区域。
  • 着色器 - 实际发生的计算。 将其视为一个小程序(脚本),帮助获取所有输入项(例如纹理、网格和照明数据)并将它们输出为最终图像

为了进一步解释每个组件,让我们看一下美国最大的电力公司之一创建的虚拟智能家居体验的一些示例。 在这种 VR 体验(及其配套的 AR 体验)中,消费者学习如何通过在整个家庭中进行节能改造来减少碳足迹。

我们要看到的主要模型是下图所示的餐厅。 最终渲染是所有四个组件(网格、纹理、材质和着色器)协同工作的示例。 现在让我们分解每个组件。

Unity 内的最终渲染

1、网格

首先是模型或网格。 这部分很容易理解。 3D 艺术家将在他们选择的建模程序中创建它。 我们使用 Blender,但 Maya、3DS Max 或 C4D 等其他软件也非常合适。3D 模型由众多顶点组成,这些顶点构成多边形,从而赋予 3D 模型形状。 更多的多边形可以帮助使模型更加真实,但太多也会对您正在开发的平台上的性能产生负面影响。

鉴于这是为实时应用程序创建的,多边形数量应保持尽可能低,以帮助最大限度地提高性能。 这对于桌面和移动 VR 来说尤其重要,因为在打造引人入胜的 VR 体验时保持稳定的帧速率至关重要。 这也有助于减少某些人可能经历的晕动病的感觉。

模型完成后,将对其进行 UV 处理、从建模程序导出并导入到 Unity 中。

显示拓扑的模型线框

2、纹理

在我们进一步讨论之前,让我们先退后一步。 创建模型后,必须对其进行 UV 展开。 这只是获取 3D 对象表面并将其放置在 2D 空间中的过程。

Blender 内的 UV 布局

从这里,你可以将模型带入 Substance Painter 等纹理程序中来创建纹理。 使用 Substance Painter 等程序的好处是它允许你导出各种图像,这些图像稍后在 Unity 中设置材质时会很有用。 这些图像可以更轻松地遵循基于物理的渲染(或 PBR),这是一种用于创建更准确渲染的工作流程。

对于标准的 PBR 工作流程,有 4 个主要组成部分:反照率(基色)、粗糙度(光泽程度)、金属性(是否是金属物体)和法线贴图(在不添加更多几何体的情况下伪造细节)。 此外,您还可以使用其他图像,例如环境光遮挡(一种模拟对象之间阴影的方法,在角落和其他紧密区域尤其明显)、发射和高度。

PBR贴图

3、材质

回到 Unity,在我们从纹理程序导出不同的图像后,是时候将它们连接到材质上了。 这些在下面的屏幕截图中进行了说明。 此外,如果你计划在纹理中使用透明度,则可以将表面类型从不透明更改为透明。 一个很好的例子是,如果你正在为游戏制作植物。 可以简单地使用一个平面并应用具有 Alpha 或透明度的叶子纹理,而不是对单个叶子进行建模。

Unity 内部材质和 URP/lit 着色器的一些输入

4、着色器

上面的屏幕截图还显示了方程式的最后一部分 - 使用哪个着色器。 对于 Unity 中的任何材质,你可以指定要使用的着色器(即使用哪种算法或程序来生成最终图形)。 对于我们的餐厅场景,我们使用了通用渲染管道/光照,它使用上一节中描述的 PBR 管道的所有输入。

为了更进一步,你甚至可以使用 Unity 中名为 Shader Graph 的新功能创建自己的着色器! 使用 Shader Graph,用户无需知道如何编码,而是可以通过放置称为节点的预定义代码位来直观地动态构建相同的逻辑。 如果想为特定用例构建特定着色器,这会很有帮助。 下面是两个这样的例子。

  • 示例1

在清洁能源智能家居体验中,我们需要模拟在电磁炉上烹饪汉堡肉饼。对于该模块,用户的任务是将汉堡放在炉子上,以演示电磁炉的特性并展示它如何 只烹饪平底锅上的食物。 为了完成此任务,需要半个煎锅的 3D 模型,以及一个自定义着色器来模拟这种过渡。

演示在电磁炉上烹饪肉饼的着色器示例

  • 示例2

我们在清洁能源智能家居体验中加入的一个设计元素是让全息图在某些时刻淡入和淡出,以帮助说明某些概念。 为了实现这一目标,我们再次需要自定义效果。 为了简洁起见,下面的溶解效果是各种节点的组合,这些节点创建了驱动着色器的 Alpha 透明度阈值的黑白蒙版。

全息图着色器示例

我们使用模型创建、纹理和着色器的工作流程来构建清洁能源智能家居体验中的所有模块和环境。 房子里的一些模块包括:

  • 电动汽车模块,将常规内燃汽车的效果与电动汽车的优点进行比较
  • 暖通空调模块,用户可以观察房屋内空气泄漏对能源效率的影响。
  • 电磁炉模块,比较了电磁炉和传统燃气灶的成本节约和碳排放量

创建或使用 3D 模型时需要考虑和学习的东西还有很多——本文仅触及皮毛。 然而,了解网格、纹理、材质和着色器如何协同工作是开始掌握创建真实 3D 对象和表面所需内容的好方法。 就该项目而言,我们构建了一种体验,允许用户在节能的虚拟智能家居中参与学习模块。 但掌握这四个组件可以让设计师创造出数量难以想象的动态 3D 场景,让用户眼花缭乱、沉浸其中。

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

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

相关文章

2024/4/5 AT24C02 总线(I²C总线)

存储器的介绍: 一、易失性存储器RAM:存储速度快,掉电丢失 SRAM(静态RAM):极快DRAM(动态RAM):需要配一个扫描电路,进行“补电”(动态刷新&#x…

【数据库】主流数据库及其常用工具简单科普

主流数据库及其常用工具 数据库分类关系型数据库(RDBMS)非关系型数据库(NoSQL)混合型数据库(Hybrid Databases)对象关系数据库(ORDBMS)多维数据库(Multidimensional Data…

MySQL介绍和安装

MySQL介绍和安装 文章目录 MySQL介绍和安装1.MySQL介绍2.MySQL安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙2.1.4 禁用SELinux2.1.5 设置时区 2.2 包安装2.2.1 Rocky和CentOS 安装 MySQL2.2.2 Ubuntu 安装 MySQL 2.3 二进制安装安装MySQL2.3.1…

解决windows下Qt Creator显示界面过大的问题

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 问题描述 解决方法 1、右击此电脑--->属性 2、点击高级系统设置--->点击环境变量 3、 找到系…

Zookeeper学习二集群搭建

Zookeeper 集群介绍 Leader选举: Serverid:服务器ID 比如有三台服务器,编号分别是1,2,3。 编号越大在选择算法中的权重越大。 Zxid:数据ID 服务器中存放的最大数据ID.值越大说明数据 越新,在选举算法中数据…

【价格表】2024年统计大厂云服务器实时优惠活动,推荐最具性价比的云服务器,最便宜,华为云 京东云 阿里云 腾讯云低至50元/年

写作初衷: 作为一个购买多年云服务器经历的爱好者,最喜欢看各厂商的优惠活动,反复比较各厂商的优惠,找到最具性价比的那一款。 我就像一个互联网的小人物,在京东云、阿里云、腾讯云的官网里反复对比、反复横跳…

电子邮件的优点和缺点

没有任何一种通信方式能像电子邮件一样长期如此受欢迎。当你想到忙碌的职业人士在企业或办公室环境中工作时,你可能会想象他们正专心致志地给某人写邮件,按照指示传递信息。电子邮件的优点和缺点是什么?优点包括易于访问、透明度高&#xff0…

达梦disql登录数据库显示“未连接”

问题:达梦数据库在使用disql登录时,显示“未连接”。 指定了IP和端口号还是连接异常。 [dmdbatest ~]$ disql sysdba/Dameng123 disql V8 SQL> select * from v$instances; 未连接 SQL> exit [dmdbatest ~]$ disql sysdba/Dameng123localhost:52…

Vue使用高德地图(快速上手)

1.在高德平台注册账号 2.我的 > 管理管理中添加Key 3.安装依赖 npm i amap/amap-jsapi-loader --save 或 yarn add amap/amap-jsapi-loader --save 4.导入 AMapLoade import AMapLoader from amap/amap-jsapi-loader; 5.直接上代码,做好了注释(初…

基于单片机的智能报站系统仿真设计

**单片机设计介绍,基于单片机的智能报站系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能报站系统仿真设计概要是关于采用单片机技术实现公交车报站功能的系统设计概述。以下是对该设计的…

【Unity每日一记】如何让Sprite精灵图集的背景图层变成透明,方便切割

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

全国航空机场分布矢量数据/旅游景点poi/全国港口码头分布/地铁站分布/火车站分布/POI矢量数据

民用航空机场是指针对包括跑道型机场、表面直升机场、高架直升机场、船上直升机场、直升机水上平台、滑翔机场、水上机场、有人操纵气球施放场以及其他专供民用航空器起降的划定区域。民用航空机场分为通用航空机场和公共运输机场;不包括临时机场和专用机场。 根据中…

颜色空间/模型(RGB, YUV,CMY/CMYK, HSI, HSV等)

什么是颜色 颜色是通过眼、脑和我们的生活经验所产生的对光的视觉感受,我们肉眼所见到的光线,是由波长范围很窄的电磁波产生的,不同波长的电磁波表现为不同的颜色,对色彩的辨认是肉眼受到电磁波辐射能刺激后所引起的视觉神经感觉…

Qt --- 常用控件

目录 1. 前言 2. QWidget核心属性 2.1. enabled(控件是否可用) 2.2. geometry(尺寸) 2.2.1. windowframe的影响 2.3. windowTitle(窗口标题) 2.4. windowIcon(窗口图标) 2.5. 使用qrc文件资源管理 2.6. windowOpacity(半透明效果) 2.7. cursor(设置鼠标光标) 2.8. fo…

基于单片机的有害气体检查系统设计

**单片机设计介绍,基于单片机的有害气体检查系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的有害气体检查系统设计旨在实现对环境中各种有害气体的实时监测与报警,保障人员健康和环境…

CMD 命令行进入到电脑硬盘的某个目录的几种方式

本文介绍几种 cmd 命令行进入到电脑硬盘的某个目录的几种方式。 1、在具体文件目录地址栏输入 cmd 回车 这是最快的、最牛的方式,没有之一。 比如:我想进入一个层级很深的文件目录,直接打开在那个目录,把地址栏信息删除清空&am…

记忆力考验游戏-第15届蓝桥第5次STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第178讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

nuitka和pyinstaller打包文件大小对比

最近看到一篇文章,介绍nuitka打包Python程序:比较PyInstaller和Nuitka 听说Nuitka打包文件会获得更小的文件体积,我准备测试一下。 1、用两种方式打包程序 写一个简单的wxPython程序: # demo.pyimport wxapp wx.App() frame…

使用pip install替代conda install将packet下载到anaconda虚拟环境

问题描述 使用conda install 下载 stable_baseline3出现问题 一番搜索下是Anaconda.org缺少源 解决方法 首先使用管理员权限打开 anaconda prompt 然后激活目标环境:conda activate env_name 接着使用:conda env list查看目标env的位置 如D:\anacon…

有关字符串算法

例题一 解法: 算法思路(两两⽐较): 我们可以先找出前两个的最⻓公共前缀,然后拿这个最⻓公共前缀依次与后⾯的字符串⽐较,这样就可以找出所有字符串的最⻓公共前缀。 例题二 解法(中⼼扩散&am…