了解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 组件支持富文本、自动换行、字符间距调整、超链接、渐变、描边、阴影等高级特性。

它还具有更好的性能优化,能够处理大量文本和复杂的渲染需求,并提供更高的细节和精度。

相关推荐
Mortal_hhh8 小时前
VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)
ide·vscode·stm32·编辑器
charon877813 小时前
UE ARPG | 虚幻引擎战斗系统
游戏引擎
小春熙子14 小时前
Unity图形学之Shader结构
unity·游戏引擎·技术美术
Sitarrrr16 小时前
【Unity】ScriptableObject的应用和3D物体跟随鼠标移动:鼠标放置物体在场景中
3d·unity
极梦网络无忧16 小时前
Unity中IK动画与布偶死亡动画切换的实现
unity·游戏引擎·lucene
电子云与长程纠缠17 小时前
UE5.3中通过编辑器工具创建大纲菜单文件夹
java·ue5·编辑器
lucky九年18 小时前
vscode翻译插件
ide·vscode·编辑器
真·Wild·攻城狮19 小时前
【码农日常】Vscode Clangd初始化失败(Win10)
ide·vscode·编辑器
七灵微19 小时前
【测试】【Debug】vscode中同一个测试用例出现重复
ide·vscode·编辑器
逐·風1 天前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#