找回密码
 立即注册
查看: 378|回复: 1

unity开发中一些常见不易发现的问题有哪些?

[复制链接]
发表于 2023-5-21 14:12 | 显示全部楼层 |阅读模式
unity开发中一些常见不易发现的问题有哪些?
发表于 2023-5-21 14:12 | 显示全部楼层
① transform.Find("cccc").GetComponent<GameObject>();
这个写法无法赋值。
②素材包名称为中文时,是无法导入unity的。
③onClick.AddListener(delegate () { this不能在start,for循环时直接使用。会输出错误的按键信息。需要将其包装在一个函数中,在start中调用,才能正确输出按键信息。
例如:   
public void Anniukongzhi(int i)
    {
        quyuanniu = (Button)quyu.GetComponent<Button>();
        quyuanniu.onClick.AddListener(delegate () { this.Xuanzequyu(i); });
    }
特殊例子介绍:
在一些较为复杂的for循环中使用时,你可能会发现一个按钮第一次点击时是正常的,第二次点击时会变成点击一次触发两次,第三次点击时会变成点击一次触发三次,以此类推,问题的原因暂时未知,但尝试的解决方法时,每次使用时把按钮删除,再刷新一个新的按钮出来,这样每次点击就只触发一次了。
④WEBGL隐藏显示鼠标要使用
Cursor.lockState = CursorLockMode.Locked;
Cursor.lockState = CursorLockMode.None;
以下无效:
Cursor.visible = false;
Cursor.visible = true;
⑤当发现调用using System.Web.Services 出错时。
检查Assets\Plugins文件夹下,是否存在
System.Web.dll
System.Web.Services.dll
文件,从老的项目中找到该文件,复制过来,就可以正常调用该类了。
⑥打包较大的WebGL项目时,在打包设置中,价格WebGL Memory Size分配的大一些,否则可能在浏览器运行时,可能会提示内存不足。
⑦当character controller 的radius非常小时,当使用move移动时,会发现无法移动的情况,将Slope Limit/Step offset/Skin Width适当减小,问题解决,可以先把所有都调为0,看下是否移动了,确认是否受该问题影响。
⑧有时候,debug信息为空,不是没有获取到信息,当在debug的信息前面,加入一些字符后,debug信息才会正常显示出来,原因未知。
⑨有些特效在Scene视图可以看到,在Game视图看不到,可能是摄像机Clipping Planes设置的太小导致的,比如说小于0.1,设置大一些就顺利在Game视图显示出来了。
⑩出现报错:Step Offset must be less or equal to <scaled Height> + <scaled Radius> * 2
主要原因是带有character controller组件的物体的scale值太小了。可以根据需求,将带有character controller组件的物体scale值设置为1,其他物体等比减小,这样即解决了报错,其他效果也没有受到影响,同时step offset 值小于height。
⑪材质球中有一个emission属性,讲该属性的值添加超过1,显示颜色位置就会多出三个字母HDR,该物体的颜色会发出简单的类似荧光效果。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 22:49 , Processed in 0.099456 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表