了解Unity编辑器之组件篇Mesh(三)

Mesh:是一种三维模型的表示形式,它由一系列顶点、三角形(或其他多边形)和相关属性组成。Mesh用于表示物体的外观和形状,它是可见物体的基本组成部分。通过操作Mesh,开发者可以实现各种视觉效果、物理模拟和动画,使游戏或应用程序的世界显得更加真实和互动。

一、Mesh Filter:用于管理和显示网格的基本组件。它通常与Mesh Renderer(网格渲染器)组件一起使用,以便在场景中渲染和显示物体的网格。


1.Mesh(网格):定义了要渲染和显示的网格。可以通过从资源文件中拖放网格文件(.obj、.fbx等)到Mesh属性上,或者通过脚本动态地生成和分配网格。

二、Mesh Renderer(网格渲染器):用于将Mesh Filter组件的网格渲染到屏幕上。通常需要将Mesh Renderer组件与Mesh Filter组件一起使用,以便在场景中显示网格的外观。


1.Materials(材质):这是一个用于设置网格外观的材质数组。每个元素都是一个材质对象,它决定了网格如何反射光线以及如何被着色。
2.Lighting: 

(1)Cast Shadows:是否投射阴影
(2)Receive Shadows(接收阴影):定义了Mesh Renderer组件是否可以接收来自其他光源的阴影。如果勾选了Receive Shadows,网格将显示由其他光源投射的阴影。
(3)Contribute Global Illumination(贡献全局照明):该属性定义了网格渲染器是否应该对全局照明做出贡献。如果启用了此选项,网格的表面将考虑全局照明的影响,并对其进行反射和照明计算。启用此选项可以使网格与场景中的其他光源和光照设置更好地交互,并产生更真实的渲染效果。
(4)Receive Global Illumination(接收全局照明):定义了网格渲染器是否应该接收来自全局照明的影响。如果启用了此选项,网格将接收来自全局照明的间接光照,从而更好地融入场景中的全局照明环境。启用此选项可以使网格在烘焙光照或实时光照计算中具有更准确的阴影和照明效果。它有两种接收全局照明的方式:

3.Lightmapping:(烘焙光照):这个属性定义了烘焙光照是否应该应用于网格渲染器。如果启用了此选项,网格将使用预先烘焙的光照信息进行渲染,而不是实时计算。
注:烘焙光照是在编辑器中进行的过程,通过将场景中的光照信息渲染到纹理中,并将其应用于网格,以实现更高质量的阴影和全局照明效果。

(1)Scale in Lightmap(在光照贴图中的缩放):
这个属性定义了网格在光照贴图中的缩放比例。
通过调整此值,您可以控制在烘焙光照贴图中分配给网格的空间大小。
较小的值将使网格在光照贴图中占用较小的空间,而较大的值将使网格在光照贴图中占用较大的空间。
(2)Stitch Seams(拼接接缝):
这个属性定义了是否对网格的接缝进行拼接。
当拼接接缝启用时,它会尝试消除烘焙光照中网格之间的不连续性和接缝。
这可以提高烘焙光照的外观,并在光照贴图中减少可见的接缝。
(3)Lightmap Parameters(光照贴图参数):
这个属性允许您指定用于网格的自定义光照贴图参数。
光照贴图参数定义了一些属性,如光照师大小、间接光照贴图分辨率、光照强度等。
通过调整这些参数,您可以进一步控制烘焙光照的质量和外观。

4.Probes(探针):

(1)Light Probes(光照探针):
光照探针是用于获取场景中的间接光照信息的组件。
Light Probes属性定义了如何在网格渲染器上使用光照探针的间接光照信息。
如果启用了此属性,网格将使用光照探针的间接光照来影响其照明和阴影
(2)Reflection Probes(反射探针):
反射探针用于捕捉场景中的反射信息,以便对网格进行反射计算。
Reflection Probes属性定义了如何在网格渲染器上使用反射探针的反射信息。
如果启用了此属性,网格将使用反射探针的反射信息来影响其反射计算。
(3)Anchor Override(锚点覆盖):
Anchor Override属性允许手动指定用于光照和反射探针的锚点位置。
锚点是指控制探针影响范围的位置。
通过覆盖锚点,可以自定义探针如何影响网格的光照和反射计算,以获得更精确的效果。

5.Additional Settings:

(1)Motion Vectors(运动矢量):
Motion Vectors属性定义了在渲染过程中是否要生成并使用运动矢量流。
运动矢量是指记录物体在每个像素的运动方向和速度的信息。
通过启用Motion Vectors属性,可以产生运动矢量流,用于实现屏幕空间的运动模糊或其他高级渲染效果。
(2)Dynamic Occlusion(动态遮挡):
Dynamic Occlusion属性定义了是否启用动态遮挡来优化渲染性能。
动态遮挡是指根据相机视角和场景中的物理对象来动态计算哪些物体应该被遮挡和渲染。
通过启用Dynamic Occlusion属性,Unity可以根据场景中的动态遮挡信息,只对可见的物体进行渲染,从而提高渲染性能

三、Skinned Mesh Renderer(蒙皮网格渲染器):用于呈现蒙皮网格模型(例如角色模型)的渲染组件

 

1.Bounds(边界框):

Bounds 属性定义了蒙皮网格模型在场景中的边界框范围。
边界框用于帮助 Unity 在渲染和剔除过程中确定蒙皮网格的可见性。
如果边界框设置得不准确,可能会导致渲染和剔除性能下降,或者对象不正确地被剔除或渲染。

2.Quality(质量):

Quality 属性用于设置蒙皮网格渲染器的渲染质量。
较高的质量级别会增加皮肤的混合权重数目以提高细节和平滑性,但这也会增加渲染开销。
较低的质量级别会减少混合权重数目以节省渲染开销,但可能会导致细节和动画过渡表现不够平滑。

3.Update When Offscreen(当不在屏幕上时进行更新):

Update When Offscreen 属性决定蒙皮网格渲染器是否在不在屏幕上时进行更新。
当启用此属性时,即使蒙皮网格在摄像机视锥体外时,仍会更新网格的动画效果。
禁用此选项可以提高性能,因为不在屏幕上的对象通常是不可见和不需要更新的。

4.Mesh(网格):

Mesh 属性定义了用于渲染的网格模型。
这是一个指向蒙皮网格模型的引用,它包含了蒙皮网格的顶点、面和骨骼绑定数据。
您可以通过选择和分配网格资源来更改要渲染的蒙皮网格。

5.Root Bone(根骨骼):

Root Bone 属性定义了用于蒙皮网格的根骨骼。
根骨骼是蒙皮网格骨骼层次结构的顶部骨骼节点,用于控制整个模型。
当进行动画播放时,根骨骼节点的变换会传递到模型的其他骨骼节点,使模型产生正确的动画效果。

6.Materials,Lighting,Probes,Additional Settings可参照Mesh Renderer组件

四、Text Mesh:用于呈现文本内容的渲染组件。Text Mesh 组件提供了一种在游戏场景中动态显示文本的方式,也可以用于控制文字的外观和行为。(添加该组件时,会自动添加一个Mesh Renderer组件,Text Mesh是需要依靠Mesh Renderer组件进行渲染的)

 

1.Text(文本):这是显示在 Text Mesh 组件上的实际文字内容。你可以在这里输入想要显示的文本。

2.Offset Z(Z 轴偏移):

Offset Z 属性定义了文本对象在 Z 轴方向上的偏移量。
当你需要调整文本在 3D 空间中的位置时,可以使用该属性来沿着 Z 轴方向进行平移。
默认情况下,文本对象的 Z 轴坐标为零,即位于默认的位置上。

3.Character Size(字体尺寸):控制每个字符的大小。较高的数值会导致字符显示更大,较低的数值会导致字符显示更小。

4.Line Spacing(行间距):定义行与行之间的间距。较高的数值会使行之间的间距增大,较低的数值会使行之间的间距减小。

5.Anchor(锚点):指定文本的粘附点,用于将文本放置在一个矩形边界框中。

6.Alignment(对齐方式):指定文本的对齐方式,包括左对齐、居中对齐和右对齐。

7.Tab Size(制表符大小):定义制表符所占的空间大小。

8.Font Size(字体大小):文本的字体大小。可以根据需要调整以改变文本的显示大小。

9.FontStyle(字体样式):用于指定文本的样式,包括常规、粗体、斜体等。

10.Rich Text(富文本):启用后,可以使用富文本标记来为文本添加样式、链接和其他效果。

11.Font(字体):用于显示文本的字体。你可以从项目资源中选择一个字体文件,或者使用 Unity 内置的字体。

12.Color(颜色):指定文本的颜色。你可以选择一个固定的颜色,或者通过代码动态更改颜色。

五、TextMeshPro -Text

 

TextMeshPro - Text 是 专门用于处理高级文本渲染需求。
它提供了更丰富的功能和更高质量的文本渲染效果。
TextMeshPro - Text 组件支持富文本、自动换行、字符间距调整、超链接、渐变、描边、阴影等高级特性。
它还具有更好的性能优化,能够处理大量文本和复杂的渲染需求,并提供更高的细节和精度。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于PCA和小波算法联合实现红外与可见光图像融合的Matlab仿真(完整源码+35组数据集)

以下是一个使用PCA和小波实现红外与可见光图像融合的Matlab仿真完整源码。源码中只需修改红外图像(IR.bmp)和可见光图像(VI.bmp)名字即可 文章目录 效果展示数据集展示步骤说明完整源码下载地址 效果展示 最终融合效果展示&#x…

java执行ffmpeg命名的Docker镜像制作

今天来记录一下通过Dockerfile制作docker镜像的过程 背景 我需要通过java服务调用ffmpeg去执行视频合并的功能,想把这个环境封装到docker镜像当中,方便以后迁移部署。 实现方法 随便找一个路径创建一个Dockerfile文件 touch Dockerfilevim Dockerfi…

如何使用vscode连接远程服务器

1、安装remote-ssh 在应用商店搜索remote-ssh,安装remote-ssh 2、安装完成后会出现远程资源管理器 3、点击远程资源管理器 --ssh的➕号,在输出框内输入要连接的服务器ip及账户名 如:ssh 账户名ip地址 4、输入后回车保存 5、保存后刷新一下 6…

Redis学习路线(1)—— Redis的安装

一、NoSQL SQL VS NoSQL 1、名称 SQL 主要是指关系数据库。NoSQL 主要是指非关系数据库。 2、存储结构 SQL 是结构化的数据库,以表格的形式存储数据。NoSQL 是非结构化的数据库,以Key-Value(Redis),JSON格式文档&…

【React】版本正确安装echarts-liquidfill(水球图表)包引入不成功问题

目标效果图: 安装: npm install echarts npm install echarts-liquidfill 引入: Import:import * as echarts from echarts; import echarts-liquidfill 或 import echarts-liquidfill/src/liquidFill.jsOr:import * as echarts from…

TreeMap的底层实现

0. 你需要知道的TreeMap的内置属性 0.1 节点属性 K key; // 键 V value; // 值 Entry<K,V> left; // 左子节点 Entry<K,V> right; // 右子节点 Entry<K,V> parent; // 父节点 boolean color; // 节点的颜色0.2 成员变量 //比较器对象private f…

Android性能优化之游戏引擎初始化ANR

近期&#xff0c;着手对bugly上的anr 处理&#xff0c;记录下优化的方向。 借用网上的一张图&#xff1a; 这里的anr 问题是属于主线程的call 耗时操作。需要使用trace 来获取发生anr前一些列的耗时方法调用时间&#xff0c;再次梳理业务&#xff0c;才可能解决。 问题1 ja…

14 Linux实操篇-进程管理(重点)

14 Linux实操篇-进程管理&#xff08;重点&#xff09; 文章目录 14 Linux实操篇-进程管理&#xff08;重点&#xff09;14.1 进程的基本操作14.1.1 进程和程序14.1.2 父进程和子进程14.1.3 常见的Linux进程14.1.4 显示系统执行的进程-ps14.1.5 终止进程-kill/killall14.1.6 查…

LeetCode 75 第十二题(11)盛最多水的容器

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 配合着示例给出的图片我们可以得知找出盛水最多的容器是什么意思,给一个数组,找出数组中两个元素能围成的最大的矩阵面积是多少. 比较直观的想法是套两层for循环暴力解出来,但是这题是中等难度题,一般中等题是没法用暴力得…

【动态规划刷题 2】使⽤最⼩花费爬楼梯 解码⽅法

使⽤最⼩花费爬楼梯 746 . 使用最小花费爬楼梯 链接: 746 . 使用最小花费爬楼梯 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 …

【JAVA】 String 类简述笔记

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 文章目录 前言String类创建一个String类 常用方法字符串长度 length() 方法连接字符串 concat() 方法创建格式化字符串 format()功能 前言 string是C、java、VB等编程语言中的字符串&…

安卓:百度地图开发(超详细)

一、百度地图介绍 百度地图SDK是一套供开发者使用的软件开发工具包&#xff08;SDK&#xff09;&#xff0c;用于在Android应用程序中集成和使用百度地图功能。通过使用百度地图SDK&#xff0c;开发者可以实现在自己的应用中显示地图、获取定位信息、进行搜索、导航等功能。 百…

办公软件巨头CCED、WPS迎来新挑战,新款办公软件已形成普及之势

办公软件巨头CCED、WPS的成长经历 众所周知&#xff0c;CCED和WPS是中国办公软件行业的两大知名品牌。 但它们的成长经历不是一蹴而就的&#xff0c;都是经历了漫长的发展过程的。 CCED是中国大陆早期的一款文本编辑器&#xff0c;它在上个世纪80年代末和90年代初非常流行。 …

数学建模-MATLAB三维作图

导出图片用无压缩tif会更清晰 帮助文档&#xff1a;doc 函数名 matlab代码导出为PDF 新建实时脚本或右键文件转换为实时脚本实时编辑器-全部运行-内嵌显示保存为PDF

githack的安装步骤+一次错误体验

一.githack的安装步骤 1.要在Kali Linux上安装GitHack工具&#xff0c;您可以按照以下步骤操作&#xff1a; 打开终端并使用以下命令克隆GitHack存储库&#xff1a; git clone https://github.com/lijiejie/GitHack.git2.进入GitHack目录&#xff1a; cd GitHack3.安装依赖项…

Linux下安装RabbitMQ教程

官方安装指南&#xff1a;https://www.rabbitmq.com/install-rpm.html 我们将要安装的RabbitMQ的版本是3.8.2 el/7/rabbitmq-server-3.8.2-1.el7.noarch.rpm - rabbitmq/rabbitmq-server packagecloud 不需要单独安装Erlang环境。 2. 环境配置&#xff1a; 前提&#xff…

RabbitMQ 教程 | RabbitMQ 入门

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…

自动驾驶之轨迹规划8——Apollo参考线和轨迹

1. abstract 本文主要讲解routing和planning模块中的reference line&#xff0c;我之前一直搞不明白这个reference line是如何生成的&#xff0c;有什么作用&#xff0c;和routing以及planning的关系。现在有了一些心得打算梳理一下&#xff1a; 决策规划模块负责生成车辆的行…

6、Kubernetes核心技术 - Pod

目录 一、概述 二、Pod机制 2.1、共享网络 2.2、共享存储 三、Pod资源清单 四、 Pod 的分类 五、Pod阶段 六、Pod 镜像拉取策略 ImagePullBackOff 七、Pod 资源限制 八、容器重启策略 一、概述 Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。P…

flutter:animate_do(flutter中的Animate.css)

简介 做过web开发的应该大部分人都知道Animate.css&#xff0c;它为开发者提供了一系列预定义的动画效果&#xff0c;可以通过简单的CSS类来实现各种动画效果。而animate_do 相当于flutter中的Animate.css,它提供了很多定义好的动画效果 基本使用 官方地址 https://pub-web.…