了解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 组件支持富文本、自动换行、字符间距调整、超链接、渐变、描边、阴影等高级特性。
它还具有更好的性能优化,能够处理大量文本和复杂的渲染需求,并提供更高的细节和精度。

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

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

相关文章

Swagger如何将接口分组?

如果不分组管理端和用户端是混在一起的,不好查看。 在 docket创建的时候,加一行分组代码。 .groupName("用户端接口") 如果你加完之后,重启,报错。 这应该是你访问的网址仍是旧网址。 http://localhost:8080/doc.html#…

MySQL高可用之MHA集群

目录 一、MHA概述 1.1 什么是 MHA 1.2 MHA 的组成 1.3 MHA 的特点 二、MySQL MHA搭建准备 2.1 实验思路 2.2 实验准备 MHA一主两从高可用集群示意图: 三、搭建 MySQL MHA 3.1 配置主从复制 1、四台服务器都关闭防火墙 2、修改 Master、Slave1、Slave2 节…

汇编语言(第4版)实验7 寻址方式在结构化数据访问中的应用

参考答案: ①经分析,完整程序代码如下。 assume cs:codesg data segmentdb 1975,1976,1977,1978,1979,1980,1981,1982,1983db 1984,1985,1986,1987,1988,1989,1990,1991,1992db 1993,1994,1995dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140…

微服务笔记---Nacos集群搭建

微服务笔记---Nacos集群搭建 Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化 Nacos集群搭建 1.集群结构图 官方给出的Nacos集群图: 其中包含3个nacos节点,然后一个负载均衡器代理…

Clion开发STM32之W5500系列(DNS服务封装)

概述 在w5500基础库中进行封装,通过域名的方式获取实际的ip地址用于动态获取ntp的ip地址 DNS封装 头文件 /*******************************************************************************Copyright (c) [scl]。保留所有权利。****************************…

7.26作业

用fread和fwrite实现文件拷贝 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<head.h> int main(int argc, const char *argv[]) {FILE* fpfopen("./11.txt","w");FILE* fp1fopen("./12.txt",&quo…

idea的Plugins中搜索不到插件

1、ctrlalts 打开设置 ; 2、搜索框输入plugins; 3、点击plugins; 4、点齿轮按钮&#xff0c;选择HTTP Proxy settings; 如下操作&#xff1a; 5、刷新DNS&#xff0c;ipconfig /flushdns 6、重新打开idea 的plugins 插件列表出来了

无涯教程-jQuery - jQuery.ajax( options )方法函数

jQuery.ajax(options)方法使用HTTP请求加载远程页面。 $.ajax()返回它创建的XMLHttpRequest。在大多数情况下&#xff0c;您不需要该对象直接进行操作&#xff0c;但是如果您需要手动中止请求&#xff0c;则可以使用该对象。 jQuery.ajax( options ) - 语法 $.ajax( options…

51单片机--LCD1602

LCD1602的介绍 LCD1602是一种字符型液晶显示模块&#xff0c;通常用于嵌入式系统、单片机等领域。它由LCD&#xff08;液晶显示屏&#xff09;、HD44780控制驱动主电路及其扩展驱动电路、少量电阻、电容元件等组成。 LCD1602具有以下特点和功能&#xff1a; 显示能力&#xf…

面试总结-Redis篇章(八)——Redis分布式锁

JAVA 面试总结-Redis分布式锁 模拟抢券场景 通过下面方法添加Synchronized锁来防止上述情况&#xff0c;如果上面是单体服务没有问题&#xff0c;但是如果项目是集群部署&#xff0c;会出现下面的问题&#xff0c;因为Synchronized是属于本地的锁端口8080和8081同时访问&#x…

Qt 第二讲 登录框完善,登录成功后,进入新的界面;新建工程文件,默认提供的代码注释信息;前两讲思维导图

一&#xff0c;代码完善 头文件 #ifndef ZUOYE_H #define ZUOYE_H#include <QWidget> #include <QDebug> #include <QIcon> #include <QPushButton> #include <QLineEdit> #include <QLabel> //#include <QTextToSpeech>QT_BEGIN_…

⛳ 面向对象面试题

面向对象面试题目录 ⛳ 面向对象面试题&#x1f69c; 一&#xff0c;成员变量&#xff0c;局部变量&#xff0c;类变量存储在内存的什么地方&#xff1f;&#x1f43e; 1.1&#xff0c;类变量&#xff08;静态成员变量&#xff09;&#x1f4dd; 1.2&#xff0c;成员变量⭐ 1.3…

网络安全进阶学习第七课——文件包含漏洞

文章目录 一、文件包含概念二、文件包含漏洞原理三、文件包含分类文件包含分为两种&#xff1a; 四、与文件包含相关的配置文件&#xff1a;&#xff08;php.ini文件&#xff09;五、与文件包含有关的函数1、include()2、include_once()3、require()4、require_once() 六、文件…

iTOP-STM32MP157开发板Linux Misc驱动-编译驱动程序

这里我们以 stm32mp157 开发板为例&#xff0c;将杂项设备驱动编译成模块&#xff0c;请参考本手册第三十七章 Linux 内核模块。我们将 misc.c 文件拷贝到 Ubuntu 的/home/nfs/03 目录下。将上次编译 helloworld 的 Makefile 文 件拷贝到 misc.c 同级目录下&#xff0c;修改 …

解决Unable to load authentication plugin ‘caching_sha2_password‘

连接Mysql8时报错&#xff1a; java.sql.SQLException: Unable to load authentication plugin caching_sha2_password.原因 不同版本的认证插件不同造成的 8版本前是&#xff1a;default_authentication_pluginmysql_native_password 8版本后是&#xff1a;default_authenti…

Postman抓包教程

目录 什么是抓包&#xff1f; 如何使用 Postman 进行抓包 查看历史抓包数据 使用抓包数据进行接口测试和开发 抓包技巧和注意事项 什么是抓包&#xff1f; 在计算机网络中&#xff0c;抓包是指捕获网络流量的过程。抓包工具可以截获进出计算机网络的数据流&#xff0c;并将…

Python numpy库的应用、matplotlib绘图、opencv的应用

numpy import numpy as npl1 [1, 2, 3, 4, 5]# array():将列表同构成一个numpy的数组 l2 np.array(l1) print(type(l2)) print(l2) # ndim : 返回数组的轴数&#xff08;维度数&#xff09; # shape&#xff1a;返回数组的形状&#xff0c;用元组表示&#xff1b;元组的元素…

SpringCloudAlibaba微服务实战系列(五)Sentinel1.8.5+Nacos持久化

Sentinel数据持久化 前面介绍Sentinel的流控、熔断降级等功能&#xff0c;同时Sentinel应用也在面临着一个问题&#xff1a;我们在Sentinel后台管理界面中配置了一堆流控、降级规则&#xff0c;但是Sentinel一重启&#xff0c;这些规则全部消失了。那么我们就要考虑Sentinel的持…

1、传统锁回顾(Jvm本地锁,MySQL悲观锁、乐观锁)

目录 1.1 从减库存聊起1.2 环境准备1.3 简单实现减库存1.4 演示超卖现象1.5 jvm锁1.6 三种情况导致Jvm本地锁失效1、多例模式下&#xff0c;Jvm本地锁失效2、Spring的事务导致Jvm本地锁失效3、集群部署导致Jvm本地锁失效 1.7 mysql锁演示1.7.1、一个sql1.7.2、悲观锁1.7.3、乐观…

深度学习:常用优化器Optimizer简介

深度学习&#xff1a;常用优化器Optimizer简介 随机梯度下降SGD带动量的随机梯度下降SGD-MomentumSGDWAdamAdamW 随机梯度下降SGD 梯度下降算法是使权重参数沿着整个训练集的梯度方向下降&#xff0c;但往往深度学习的训练集规模很大&#xff0c;计算整个训练集的梯度需要很大…