You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity Shader Graph非运行模式下动画停止,仅窗口交互时恢复问题求助

解决Shader Graph非运行模式动画停止问题(Linux下Unity)

问题原因

这是Unity编辑器在Linux平台的后台帧率限制机制导致的——当编辑器窗口未获得焦点或用户无操作时,会自动降低后台渲染帧率以节省资源,而Shader Graph里的Time节点依赖编辑器的更新循环,帧率被限制后动画便会停滞。

解决方法

1. 关闭编辑器后台帧率限制

打开Unity的Edit > Preferences > Performance面板,找到Background Frame Rate选项,将其设置为与前台一致的数值(比如60),或者直接设为-1以禁用后台帧率限制。

2. 用Editor脚本强制持续更新

如果上述方法无效,可以通过自定义脚本强制编辑器在非运行模式下持续更新:

using UnityEditor;
using UnityEngine;

[InitializeOnLoad]
public class ForceEditorUpdate
{
    static ForceEditorUpdate()
    {
        EditorApplication.update += () =>
        {
            if (!EditorApplication.isPlaying)
            {
                SceneView.RepaintAll();
                GameView.RepaintAll();
            }
        };
    }
}

将脚本放在Assets/Editor目录下,编辑器启动后会自动生效,强制场景视图和游戏视图持续重绘,确保Time节点正常更新动画。

3. 开启Scene视图实时渲染

在Scene视图右上角找到Auto Render按钮(播放图标样式),开启后Scene视图会持续渲染,无需用户操作也能正常播放Shader动画。

注意事项

  • 禁用后台帧率限制或强制持续更新会提升CPU/GPU占用,无需预览动画时建议恢复默认设置。
  • 该问题仅存在于Linux平台Unity编辑器的非运行模式,运行模式下Unity会以正常帧率运行,因此不会出现此问题。

内容的提问来源于stack exchange,提问作者Doruk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:54:40