场景中GameObject无法用代码隐藏问题(setActive为false)

GameObject不受代码控制隐藏问题:
代码中若对某个gameobject.setActive(false),发现会不起作用,总结下来发现是和object所在模型组的Animator组件的animation controller参数有关系,
如果把所在模型组的Animator组件的animation controll参数内容删掉,不让绑定到任何一个controller文件,这时运行代码时时可以控制物体隐藏的。

解决办法是:既然可以用unity自身动画系统来控制物体在动画中某一个阶段是否可以隐藏,那么就不考虑用写代码这种低效的方式,直接在模型组动画时间轴上
来设置物体是否隐藏(前提是这个模型组的动画是可以被编辑的,maya/max生成的动画不可在unity的动画时间轴上是只读的,不可编辑,土办法就是复制一份动画文件出来,和
animation controller里的某个状态绑定就可以编辑动画了)

在程序运行初始就想让某些物体隐藏掉,但又想用代码控制或者遇到我上面遇到的控制不了的情况,深层原因没有深究过,应该有办法,但这里提供一个不是很可取但能解决部分
问题的一个技巧:直接给模型组动画添加一个起始帧为0结束帧为1的分帧动画, 在animation controller里,把这个分帧动画设置为初始状态, 那么无需代码,一启动就走到这个
动画状态,直接给隐藏掉了。

转载于:https://www.cnblogs.com/JD85/p/6704322.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值