精灵帧资源(SpriteFrame)
使用默认的 资源导入 方式将图像资源导入到项目中,然后在 属性检查器 中将图像资源的类型设置为 sprite-frame,并点击右上角的绿色打钩按钮保存:
Creator 便会自动在导入的图像资源下创建一个如下图所示的 spriteFrame 资源:
图像资源在 资源管理器 中会以自身图片的缩略图作为图标。在 资源管理器 中选中图像子资源后,属性检查器 下方会显示该图片的缩略图。
如果引擎开启了 功能,动态合图会自动将合适的贴图在开始场景时动态合并到一张大图上来减少 Drawcall。但是将贴图合并到大图中会修改原始贴图的 UV 坐标,如果在自定义 中使用了贴图的 UV 坐标,这时 中的 UV 计算将会出错,需要将贴图的 Packable 属性设置为 false 来避免贴图被打包到动态合图中。
将 SpriteFrame 资源拖拽到 Sprite 组件 的 SpriteFrame 属性框中,即可切换 Sprite 显示的图像。
在运行时,以上图中导入的名为 content 的图片为例,整个资源分为三部分:
- content:图像源资源 ImageAsset
- content 的子资源 texture,即贴图资源 Texture2D
当资源存放在 目录下时,我们可直接加载到 spriteFrame 资源,代码示例如下:
存放在服务器上的资源只能加载到图像源资源 ImageAsset,加载方法请参考 。创建 SpriteFrame 资源的代码示例如下:
或者用户也可以手动填充信息,代码示例如下:
通过 Canvas 绘制的 ImageAsset 创建,代码示例如下:
或者用户也可以手动填充信息,代码示例如下:
RenderTexture 是一个渲染纹理,它可以将摄像机上的内容直接渲染到一张纹理上而不是屏幕上。SpriteFrame 通过管理 RenderTexture 可以轻松地将 3D 相机内容显示在 UI 上。具体的使用方法及代码示例可参考 渲染纹理资源。