跳到主要内容

组件(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)

常用方法

  • 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 跑通,再做策略优化