使用精灵
中级 程序员
要将精灵添加到场景中,请向实体添加一个精灵组件(sprite component)。之后,你就可以用脚本控制该精灵。
添加精灵组件
在**场景编辑器(Scene Editor)**中,选择你要添加精灵的实体。
Tip
要创建实体,请右键单击场景或实体树(Entity Tree),然后选择 Empty entity。
在**属性网格(Property Grid)**中,点击 Add component(添加组件),然后选择 Sprite。

Game Studio 会向该实体添加一个 Sprite 组件。
从资产视图中,将精灵表拖放到 Sprite 组件的 Source 字段中:
也可以点击
(Select an asset,选择资产):
然后选择一个精灵表:

Game Studio 会将该精灵添加到实体上。
精灵组件属性
你可以在属性网格中访问精灵组件的属性。
![]()
| 属性 | 功能 |
|---|---|
| Source | 精灵的源图像文件 |
| Type | Sprites 在场景中具有 3D 空间。 Billboards(公告板)始终面向摄像机,并在 3D 空间中保持固定 |
| Color | 为精灵应用一种颜色 |
| Intensity | 用于缩放该颜色的强度(主要用于在 HDR 场景中渲染 LDR 精灵) |
| Premultiply alpha | 用 alpha 分量对颜色分量进行预乘 |
| Ignore depth | 渲染精灵时忽略场景中其他元素的深度。这会始终把精灵置于之前元素的上方 |
| Alpha cutoff | 渲染精灵时忽略 alpha 值较低的像素 |
| Sampler | 精灵使用的纹理采样方式:Point(最近点)、Linear(线性)或 Anisotropic(各向异性) |
| Swizzle | 颜色通道的访问方式。 Default 保持图像不变(finalRGB = originalRGB) Normal map 将颜色通道用作法线贴图 Grayscale (alpha) 只使用 R 通道(finalRGBA = originalRRRR),因此精灵呈红色 Grayscale (opaque) 与 Grayscale (alpha) 相同,但 alpha 通道使用 |
| Render group | 该精灵所属的渲染组。摄像机可以渲染不同的组。更多信息请参阅渲染组与渲染蒙版 |
在脚本中使用精灵
你可以使用脚本在运行时渲染精灵。为此,请把脚本附加到带有精灵组件的实体上。
有关如何向实体添加脚本的信息,请参阅使用脚本。
代码示例
此脚本显示一个精灵,每秒前进到索引中的下一个精灵。到达精灵索引末尾后,它会循环。
using Stride.Rendering.Sprites;
public class Animation : SyncScript
{
// 声明为 public 的成员字段和属性会显示在 Game Studio 中。
private SpriteFromSheet sprite;
private DateTime lastFrame;
public override void Start()
{
// 初始化脚本。
sprite = Entity.Get<SpriteComponent>().SpriteProvider as SpriteFromSheet;
lastFrame = DateTime.Now;
}
public override void Update()
{
// 每个新帧都执行一些操作。
if ((DateTime.Now - lastFrame) > new TimeSpan(0, 0, 1))
{
sprite.CurrentFrame += 1;
lastFrame = DateTime.Now;
}
}
}