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

如何在Unity的Animator中通过事件切换Mesh Renderer的启用状态

实现方案

你的代码逻辑本身是正确的,按以下步骤配置即可实现需求:

  • 将toggleMesh脚本挂载到你需要控制显隐的网格对应的GameObject上
  • 确认Renderer变量正确赋值:
    • 如果目标Mesh Renderer和脚本挂载在同一个GameObject,现有GetComponent<Renderer>()逻辑可以正常获取组件,启动时会默认隐藏网格
    • 如果Mesh Renderer和脚本不在同一个物体,删除Start方法中的rend = GetComponent<Renderer>();代码,直接在Inspector面板把目标网格的Mesh Renderer组件拖到脚本的rend参数栏完成赋值
  • 打开Animator对应的动画剪辑,选中你已经在时间轴一半位置添加的事件点,在Inspector面板的Function下拉列表中,选中toggleMesh类下的toggleMeshR()方法即可

如果需要实现每次调用事件切换显隐状态,可以修改toggleMeshR方法为如下逻辑:

public void toggleMeshR()
{
    rend.enabled = !rend.enabled;
}

注意修改完预制体的相关配置后,点击Inspector右上角的Apply按钮保存预制体变更,避免后续实例化预制体时配置丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:18:04