Unity问题合集

目录

1:监听事件居然有顺序?

2:StopCoroutine并不能停止协程?

3:实例化instance的脚本需要挂载到场景中的物体中,不然无法调取

4:GetComponentsInChildren获取不到隐藏物体?

5:Animator窗口的状态机没有进度条

6:动画自动播放/播放了不正确的动画

7:运行失败,可能是因为脚本忘记挂载到物体上

8:两个模型动画不同步/播完后有延迟

9:Button等组件的Target Graphic可能设置错误

10:改变材质的代码不起效

11:模型材质无法更改

12:如何修改天空盒


不注意细节,找bug到崩溃。——Nobody


1:监听事件居然有顺序?

button.onClick.AddListener(a);
button.onClick.AddListener(b);

如上代码,这时候事件执行顺序是a→b。

button.onClick.AddListener(b);
button.onClick.AddListener(a);

上述代码事件执行顺序是b→a。

多个事件执行并非同时发生,而是有顺序的。


2:StopCoroutine并不能停止协程?

StopCoroutine(ie());

该代码并不能停止协程ie(),因为相当于重新调用了一遍ie()

能正常停止的开始/停止方式:

//方法一:直接引用名字
StartCoroutine("ie");//开始协程
StopCoroutine("ie");//停止协程

//方法二:用变量控制
Coroutine a;
a = StartCoroutine(ie());//开始协程
StopCoroutine(a);//停止协程


3:实例化instance的脚本需要挂载到场景中的物体中,不然无法调取

且需要如下代码才能实例化。

private static 脚本名称 _instance;

    public static 脚本名称 Instance
    {
        get//获取
        {
            return _instance;
        }
    }

    void Awake()
    {
        _instance = this;
    }

4:GetComponentsInChildren获取不到隐藏物体?

解决方法:

GetComponentsInChildren<T>(true);

5:Animator窗口的状态机没有进度条

需要选中装有该状态机的物体才有进度条


6:动画自动播放/播放了不正确的动画

检查conditions的值是否正确。如果设置了x=1时跳转该动画,而在动画结束未重设x的值,则会一直循环进入该动画。

conditions位置:

 


7:运行失败,可能是因为脚本忘记挂载到物体上


8:两个模型动画不同步/播完后有延迟

前提:美术组那边提供的动画是分别捆绑在两个模型上的,然而要使用状态机进行动画实时演出

修改方式:

1.在状态机的节点中修改这两个参数,取消延迟时间

2.有可能是帧数问题,一个24帧一个60帧

3.如果两个动画帧数没问题,有可能是退出时间不一样(0.94代表运行到94%时退出动画)

4.如果以上都没问题,可能是曲线被压缩,应该改成以下


9:Button等组件的Target Graphic可能设置错误


10:改变材质的代码不起效

可能是因为状态机中存在该材质相关的动画控制,去掉动画即可


11:模型材质无法更改

参考:

unity导入的模型无法编辑材质球属性_差点忘记打铁了的博客-CSDN博客_unity材质无法编辑

unity材质球属性无法修改_ppinkgirll的博客-CSDN博客_unity材质球为什么不能修改


12:如何修改天空盒

window下的

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值