跳到主要内容

组件(Components)

Rive Unity 提供了一组高层组件,封装了底层渲染与输入处理,便于快速集成。
如果你需要自定义渲染管线,再考虑低层 API:

1) Rive Panel​

Rive Panel 是显示 Rive 图形的基础容器,负责把多个 Widget 绘制到 Render Texture。

关键点​

  • 同一 Panel 下多个 Widget 共享一张纹理
  • 比多个 Panel(多纹理)通常更高效

创建​

Hierarchy 右键:Rive -> Rive Panel

仅有 Panel 还不够,需搭配 Panel Renderer 才会显示。

常用配置​

  • Custom Render Target Strategy
  • Update Mode(Auto/Manual)
  • Multitouch Support

常用方法​

  • Tick(float deltaTime)(Manual 模式)
  • StartRendering() / StopRendering()
  • SetDimensions(Vector2)

2) Rive Widget​

Rive Widget 是实际显示 artboard 的核心组件。

创建​

Hierarchy 右键:Rive -> Widgets -> RiveWidget

必须放在某个 RivePanel 下。

常用配置​

  • Asset
  • Artboard Name / State Machine Name
  • Fit / Alignment / LayoutScaleFactor
  • Hit Test Behavior
  • Speed
  • Data Binding Mode(Auto Bind Default / Auto Bind Selected / Manual)——Auto Bind 模式还会绑定文件中所有全局视图模型的默认实例

常用方法​

  • Load(File file)
  • Load(File file, string artboardName, string stateMachineName)
  • Load(Asset asset)
  • Load(Asset asset, string artboardName, string stateMachineName)

若传入 File,生命周期需你手动释放;传 Asset 时 Widget 会管理底层 file 生命周期。

3) Procedural Rive Widget​

用于运行时程序化绘制(paths/paints 等)。

创建:Rive -> Widgets -> Procedural Rive Widget

4) Panel renderers​

用于把 Panel 的 Render Texture 接入 Unity 显示系统。

Rive canvas renderer​

用于 uGUI 显示。自动处理 UI 渲染顺序与输入相关逻辑。

Rive texture renderer​

用于把 Rive 内容投到 3D 材质(MeshRenderer)上。

5) Render Target strategies​

决定 Panel 如何分配纹理。

Simple(默认)​

一个 Panel 一张纹理,简单直观。

Atlas​

多个 Panel 共享图集纹理,减少纹理数量。

Pooled​

纹理池复用,适合动态 UI 频繁出现/消失的场景。


建议​

  1. UI 场景优先少 Panel + 多 Widget
  2. 大量 world-space UI 场景再评估 Atlas/Pooled
  3. 先从 Simple 跑通,再做策略优化
看完还有疑问?进群交流下!
与众多 Rive 创作者、开发者一起交流探讨与答疑解惑。
加入交流群