【Unity入门计划】基本概念(6)-精灵渲染器 Sprite Renderer

目录

官方文档

1 Sprite 精灵

2 Sprite Renderer 精灵渲染器

2.1 Sprite 精灵

2.2 Color 着色

2.3 Filp 翻转

2.4 Draw Mode 当前的绘制模式

9-slicing Sprites 9切片精灵

2.5 Mask Interaction 遮罩交互

Sprite Masks 精灵遮罩

2.6 Sprite Sort Point 精灵排序点

2.7 Material 材质

2.8 Layer 图层相关


由于在学习Unity教程的Ruby's Adventure教程过程中,遇到了精灵渲染器这个组件,想对它做一个简单的学习,因此一下举例的截图均基于这个官方提供的项目。

官方文档

精灵渲染器 (Sprite Renderer) - Unity 手册

1 Sprite 精灵

这个Sprite指的是2D图形对象,在2D场景中是图形对象,那么在3D场景中这个Sprite本质上只是一个纹理,Unity提供了Sprite Renderer组件控制Sprite在场景中的可视化效果,这个组件在2D和3D场景中都可以使用(3D场景中还有一个Mesh Renderer)

2 Sprite Renderer 精灵渲染器

前面提到了:精灵渲染器是一个游戏对象组件,用以控制精灵在场景中的可视化效果,有如下属性

2.1 Sprite 精灵

右侧可打开对象选择器,可以从列表中选择该组件对应渲染的精灵纹理(Sprite Texture)。

2.2 Color 着色

为精灵的图像进行着色,可以用拾取器也可以修改RGBA值(A控制透明度),给出了两个例子方便理解

2.3 Filp 翻转

就是字面上的意思,翻转,但不会翻转游戏对象的Transform变换位置

2.4 Draw Mode 当前的绘制模式

有三个选项

  • Simple
  • Sliced
  • Tiled

设置成Sliced/Tiled时,精灵渲染器将精灵渲染为9切片图像。

9-slicing Sprites 9切片精灵

关于9切片(也叫九宫格),官方文档:Unity - Manual: 9-slicing Sprites

简单来说,9切片将图像分成9份,不同的部分以不同的方式缩放或平铺

关于这个9切片到底应用在哪儿,目前还没有用过,好像是在TileMap会涉及到,后续用到了会再进行学习。

2.5 Mask Interaction 遮罩交互

了解遮罩交互前先搞清楚什么是精灵遮罩:

Sprite Masks 精灵遮罩

用于隐藏或显示部分或者一组精灵,创建方式:Hierarchy窗口右键 -> 2D Object -> Sprite Mask,精灵遮罩可以用来展示一些转场和显示的效果,之后涉及到了的话再进行深入学习。

而这一节的主题是遮罩交互,就是用来设置渲染器中遮罩的交互方式,举例说明:

首先创建了一个Circle Mask

  • Mask Interaction:None——表示不使用遮罩
  • Visable Inside Mask

 

  • Visable Outside Mask

2.6 Sprite Sort Point 精灵排序点

仅当Draw Mode属性为Simple时这个属性才被使用。

2D项目中,Main Camera默认投影为正交投影,此投影方式下Unity按照精灵相对于Camera的距离的顺序渲染精灵。Sprite Sort Point决定了精灵计算距离的位置,默认为精灵的Center。

2.7 Material 材质

新建精灵默认材质是Sprites-Default,该材质不被光照影响。右边的选框可以选择想要的材质。

2.8 Layer 图层相关

有Sorting Layer和Order in Layer来设置该精灵在图层中的位置。

  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity 中,`SpriteRenderer` 是用于渲染 2D 精灵Sprite)的组件。它可以将指定的 Sprite 显示在场景中,并支持一些常见的渲染设置,比如颜色、透明度、层级等。 `SpriteRenderer` 组件可以在 Unity 的编辑器中通过 `Add Component` 菜单添加到游戏对象上。要使用 `SpriteRenderer` 渲染精灵,需要将 Sprite 赋值给其 `sprite` 属性。 以下是 `SpriteRenderer` 常见的属性: - `sprite`:要渲染的精灵。 - `color`:精灵的颜色。 - `flipX` 和 `flipY`:精灵是否水平/垂直翻转。 - `sortingLayerName` 和 `sortingOrder`:精灵的层级和排序。 - `material`:精灵使用的材质。 `SpriteRenderer` 组件还可以通过设置 `Sorting Layer` 和 `Order in Layer` 属性来控制精灵的层级和排序。可以在 `Edit` -> `Project Settings` -> `Tags and Layers` 中添加自定义的 Sorting Layer。 例如,以下代码可以在场景中创建一个渲染指定 Sprite精灵: ```csharp using UnityEngine; public class SpriteRendererDemo : MonoBehaviour { public Sprite spriteToRender; void Start() { // 创建一个新的游戏对象 GameObject spriteObject = new GameObject("Sprite"); // 添加 SpriteRenderer 组件 SpriteRenderer renderer = spriteObject.AddComponent<SpriteRenderer>(); // 设置要渲染的精灵 renderer.sprite = spriteToRender; // 设置精灵的颜色 renderer.color = Color.white; // 设置精灵的层级和排序 renderer.sortingLayerName = "Foreground"; renderer.sortingOrder = 0; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九九345

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值