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

Unity中实现MeshRenderer 4次闪烁功能运行异常问题求助

问题根因

  • 协程名称不匹配:Start()方法中调用StartCoroutine(Blink()),但实际定义的协程方法名为BlinkLid(),对应协程根本没有被启动,你写的闪烁逻辑完全没有执行。
  • 协程内部逻辑错误:即使修正名称,现有逻辑每次将mr.enabled设为true后没有添加等待时间,会直接进入下一次循环立刻设为false,人眼无法捕捉到启用状态,最终呈现的效果就是MeshRenderer一直处于禁用状态。

修复方案

先修正协程名称匹配问题,再调整协程内部的等待逻辑,即可实现0.25秒为间隔闪烁4次的效果:

MeshRenderer mr;

void Start () {
    mr = this.gameObject.GetComponent<MeshRenderer> ();
    // 启动的协程名称需要和定义的方法名完全匹配
    StartCoroutine (BlinkLid ());
}

IEnumerator BlinkLid () {
    for (int i = 0; i < 4; i++) {
        mr.enabled = false;
        yield return new WaitForSeconds (0.25f);
        mr.enabled = true;
        yield return new WaitForSeconds (0.25f);
    }
    // 若需要闪烁结束后保持禁用状态,可取消下方注释
    // mr.enabled = false;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:15:06