跳到主要内容

世界空间纹理(In-world Textures)

最快方案是使用 Rive RenderTarget 资产,并直接拖入关卡。

Unreal 会自动:

  • 生成场景 Actor
  • 创建采样该 RenderTarget 的材质
  • 把材质赋给网格

适用场景:

  • 场景内屏幕
  • 终端/仪表盘
  • TV 面板等

本页针对世界空间纹理;若是 HUD/菜单等屏幕 UI,请使用 URiveWidget

1)创建 Rive RenderTarget

  1. 在 Rive file 资产上右键
  2. 选择 Create Rive Render Target
  3. 双击打开后配置:Rive File / Artboard /(可选)State Machine / 分辨率

建议先从 512x512 开始,按近景清晰度再上调。

2)拖入关卡

把 RenderTarget 从 Content Browser 拖到 viewport,即可自动应用到网格。

3)更新机制(Tick + Draw)

RenderTarget 只有在 Runtime 被推进并绘制时才会更新。

因此场景中必须有驱动者负责:

  • Tick(推进)
  • Draw(输出到 RenderTarget)

推荐使用 RiveRenderTargetUpdater

4)使用 RiveRenderTargetUpdater

典型做法:

  1. 新建 Actor Blueprint(如 BP_RiveRenderDriver
  2. 添加 RiveRenderTargetUpdater 组件
  3. 指向目标 RenderTarget
  4. 按场景需要设置分辨率

5)交互

若内容可交互(状态机 + ViewModel):

  • 绑定 ViewModel
  • 写入属性值
  • 触发 Trigger

下一次 tick/draw 后,纹理即可反映变化。