Version: 2017.4
2D 游戏
精灵渲染器 (Sprite Renderer)

Sprites

__精灵__是 2D 图形对象。如果习惯于在 3D 空间中工作,__精灵__本质上只是标准纹理,但可通过一些特殊技巧在开发过程中组合和管理精灵纹理以提高效率和方便性。

Unity provides a placeholder Sprite Creator, a built-in Sprite Editor, a Sprite Renderer and a Sprite Packer

See Importing and Setting up Sprites below for information on setting up assets as Sprites in your Unity project.

Sprite Tools

Sprite Creator

使用 Sprite Creator 可在项目中创建占位精灵,这样就可以继续开发而无需获取或等待图形。

Sprite Editor

Sprite Editor 允许从较大的图像中提取精灵图形,并在图像编辑器中编辑单个纹理内的多个分量图像。例如,可以使用此工具将角色的手臂、腿和身体保持为一个图像中的单独元素。

Sprite Renderer

应使用 Sprite Renderer 组件而不是用于 3D 对象的 Mesh Renderer 来渲染精灵。使用该组件可将图像显示为__精灵__,以便在 2D 和 3D 场景中均可使用。

Sprite Packer

使用 Sprite Packer 可根据项目来优化视频内存的使用和性能。

Importing and Setting Up Sprites

Sprites are a type of Asset in Unity projects. You can see them, ready to use, via the Project View.

可通过两种方式将__精灵__引入项目:

  1. In your computer’s Finder (Mac OS X) or File Explorer (Windows), place your image directly into your Unity project’s Assets folder.

    Unity detects this and displays it in your project’s Project View.

  2. In Unity, go to Assets>Import New Asset… to bring up your computer’s Finder (Mac OS X) or File Explorer (Windows).

    From there, select the image you want, and Unity puts it in the Project View.

See Importing Assets for more details on this and important information about organising your Assets folder.

Setting your Image as a Sprite

如果项目模式设置为 2D,则导入的图像将自动设置为__精灵 (Sprite)__。有关将项目模式设置为 2D 的详细信息,请参阅 2D 还是 3D 项目

但是,如果项目模式设置为 3D,则图像将设置为__纹理 (Texture),因此需要更改资源的__纹理类型 (Texture Type)

1.单击该资源以查看其 Import Inspector。 2.将 Texture Type 设置为 Sprite (2D and UI)

在资源的 Inspector 中将 Texture Type 设置为 Sprite (2D and UI)
在资源的 Inspector 中将 Texture Type 设置为 Sprite (2D and UI)

有关精灵 Texture Type 设置的详细信息,请参阅 Texture type: Sprite (2D and UI)

Sorting Sprites

Unity 中的渲染器按几个条件排序,例如图层顺序或与摄像机的距离。Unity 的 GraphicsSettings(菜单:__Edit__ > Project Settings > Graphics__)提供了一项名为 Transparency Sort Mode__ 的设置,此设置可根据精灵相对于摄像机的位置来控制精灵的排序方式。更具体地说,此设置使用精灵在轴上的位置来确定哪些精灵相对于其他精灵透明,而哪些不透明。

Transparency Sort Mode 有四个可用选项:

  • Default - 根据摄像机的 Projection 模式设置为 Perspective 还是 Orthographic 来进行排序

  • Perspective - 根据透视图进行排序。透视图根据从摄像机位置到精灵中心的距离对精灵进行排序。

  • Orthographic - 根据正交视图进行排序。正交视图根据沿视图方向的距离对精灵进行排序。

  • Custom Axis - 根据 Transparency Sort Axis 中设置的指定轴进行排序

如果已将 Transparency Sort Mode 设置为 Custom__,则需要设置 Transparency Sort Axis__:

如果 Transparency Sort Mode 设置为 __Custom Axis__,则 Scene 视图中的渲染器将根据此轴与摄像机之间的距离进行排序。应使用介于 –1 和 1 之间的值来定义此轴。例如:X=0、Y=1、Z=0 将此轴方向设置为向上。X=1、Y=1、Z=0 将此轴方向设置为 X 和 Y 之间的对角线方向。

使用脚本对精灵排序

还可以使用脚本通过修改每个摄像机的以下属性来按照每个摄像机对精灵排序:

示例:

var camera = GetComponent<Camera>();

camera.transparencySortMode = TransparencySortMode.CustomAxis;

camera.transparencySortAxis = new Vector3(0.0f, 1.0f, 0.0f);

示例

例如,若要沿 Y 轴对精灵进行排序,可使用此设置。这种情况在 2D 游戏中很常见,通常需要将较高的精灵排在较低的精灵之后,这样会看起来更远。

To have Unity manage this automatically, set the Transparency Sort Mode to Custom Axis, and set the Y value for the Transparency Sort Axis to a value higher than 0.


  • 2017–05–24 页面已修订但未经编辑审查

  • 在 5.6 版中添加了 Transparancy Sort Mode

2D 游戏
精灵渲染器 (Sprite Renderer)
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961