Renderer
Renderer 模块
Renderer 模块的设置决定了粒子的图像或网格如何被其他粒子变换、着色和过度绘制。
粒子系统
Unity中创建粒子系统
渲染器模块视图
细节
使用渲染模式在多种 2D Billboard 图形模式和网格模式之间进行选择。当粒子代表固体游戏对象(例如岩石)时,3D 网格赋予粒子额外的真实性,并且还可以改善云、火球和液体的体积感。网格必须启用读/写才能在粒子系统的网格渲染模式下工作。当您将网格体分配给粒子系统时(使用检查器窗口中的网格体列表),Unity 会自动启用这些网格体的读/写启用设置。
广告牌渲染模式
当您使用 2D 广告牌图形时,不同的渲染模式可以产生各种结果,使其适合特定用途:
- 广告牌模式对于代表从任何方向(例如云)看起来相似的体积的粒子很有用。
- 当粒子覆盖地面(例如目标指示器和魔法咒语效果)或当它们是平行于地面飞行或漂浮的平面物体时,卧式广告牌模式非常有用。
- 垂直广告牌模式使每个粒子保持直立并垂直于 XZ 平面,但允许其绕 y 轴旋转。当使用正交相机并希望颗粒大小保持一致时,这会很有帮助。
- 拉伸广告牌模式以与传统动画师使用的“拉伸和挤压”技术类似的方式强调粒子的表观速度。请注意,在拉伸广告牌模式下,粒子会对齐以面向相机,并与其速度对齐。无论“速度比例”值如何,都会发生这种对齐 - 即使“速度比例”设置为 0,此模式下的粒子仍会与速度对齐。
- 当使用广告牌渲染模式时,您可以使用法线方向在平面矩形广告牌上创建球形阴影。如果使用将光照应用于粒子的材质,这可以帮助创建 3D 粒子的幻觉。
网格渲染器 (Mesh Renderer)
网格渲染器从网格过滤器 (Mesh Filter) 获取几何体,然后在游戏对象的变换组件所定义的位置渲染该几何体。
详情点击下方链接
https://docs.unity.cn/cn/2019.4/Manual/class-MeshRenderer.html
线渲染器 (Line Renderer)
创建:GameObject > Effects > Line
通过在 Inspector 窗口中直接设置数组值或使用 Create Points 场景编辑模式,可以将点添加到 Line Renderer 的 Positions 数组中
场景编辑模式
有三种场景编辑模式:None、Edit Points 和 Create Points
1. 场景编辑模式:None
- Simplify Preview:启用 Simplify Preview 可以查看简化操作结果的预览。
- Tolerance:设置简化线可以偏离原始线的偏差量。值为 0 不会导致偏差,因此几乎没有简化。较高的正值会导致与原始线的偏差更大,因此更加简化。默认值为 1。
- Simplify:单击 Simplify 可以减少线渲染器 (Line Renderer) 的 Positions 数组中的元素数量。简化操作使用 Ramer-Douglas-Peucker 算法根据 Tolerance 值来减少点数。
2. 场景编辑模式:Edit Points
在Scene窗口中每个点表示为黄色球形。可以单击球形使用移动工具移动各个点。
- Show Wireframe:启用此设置后,Unity 会在 Scene 视图中绘制线框以使线条显示出来。
- Subdivide Selected:选择两个或多个相邻点时将会启用此按钮。按下此按钮将在选定的相邻点之间插入一个新点。
3. 场景编辑模式:Create Points
在 Scene 视图中单击创建新点并将其添加到线渲染器 (Line Renderer) 的 Positions 数组的末尾。
- Input:设置要用于创建点的输入法。
Mouse position 根据鼠标在 Scene 视图中的位置创建点。
Physics Raycast 根据场景中的射线投射创建点。Unity 在射线投射到的位置创建点。 - Min Vertex Distance:拖动鼠标以在 Scene 视图中创建点时,如果与最后一个点之间的距离超过此距离,则线渲染器(Line Renderer) 将创建一个新点。
- Offset:应用于所创建的点的偏移量。当 Input 设置为 Mouse Position 时,线渲染器 (Line Renderer) 将应用来自场景摄像机的偏移量。当 Input 设置为 Physics Raycast 时,线渲染器 (Line Renderer) 将应用来自射线投射法线的偏移量。
界面设置与脚本控制设置
-
界面设置
-
脚本创建
LineRenderer lineRenderer;
lineRenderer = GetComponent<LineRenderer>();
lineRenderer.positionCount = 2;//设置点数组容量
//SetPosition(参数一(int),参数二(Vector3));
//参数一:点数组的索引
//参数二:点的位置
lineRenderer.SetPosition(0, Vector3.zero);//第一个点
lineRenderer.SetPosition(1, new Vector3(0,2,0));//第二个点
//lineRenderer.material.color = Color.blue;//设置线条颜色
lineRenderer.startColor = Color.red;//起点颜色
lineRenderer.endColor= Color.blue;//终点颜色
lineRenderer.startWidth = 0.1f;//起始宽度
lineRenderer.endWidth = 0.01f;//末尾宽度
其它API查询:
https://docs.unity.cn/cn/2021.3/ScriptReference/LineRenderer.html
拖尾(Tril Renderer)
创建: GameObject > Effects > Trail
使用:选择 Trail Renderer 游戏对象,并将其作为要生成轨迹的游戏对象的父项
表现:通过移动游戏对象并在 Scene/Game视图中观察效果