unity3D常见问题

总结自己在学习中遇到的问题。

记录问题,帮助他人,有什么不正确的地方欢迎指正微笑


没有发生碰撞

两个物体(Plane和Cube)都加入了collider,当中一个加入了rigidbody,应该会产生碰撞,但是当执行时,cube总是掉下去.非常纳闷,
经过细致研究。发现 Plane和Cube的Transform.position Y 同样,也就是两个物体的Y坐标一样,两个物体是相接触的,所以没有发生碰撞


==================================================================================================================

Plane与rigidbody

Compute mesh inertia tensor failed for one of the actor's mesh shapes! Please change mesh geometry or supply a tensor manually!

在Plane上加入了rigidbody,于是弹出这个错误。
解决的方法。给mesh collider 的Convex 參数打上勾.或者改变collider,用薄的box来取代plane




==================================================================================================================

Screen.showCursor = false没用

在Game视图下不起作用了,刚開始还起作用的。
解决方法:公布游戏。在游戏里就看不到鼠标了(可能是视图的原因。也可能unity存在bug)
==================================================================================================================

在摄像机里找不到物体

观察相机的XYZ坐标,与物体的XYZ坐标。

是不是重合.看Y看是不是在同一个高度。看Z。看是不是距离太远,或者物体在相机的背面,看X,看物体是不是在相机左側或右側太偏了

一般相机的默认position(0,1,-10)
==================================================================================================================

Object reference not set to an instance of an object

报错显示在这行: Ray ray1 = Camera.main.ScreenPointToRay(Input.mousePosition);
经检查 Input.mousePosition 不为null ,我并没有引用null 对象啊。非常奇怪。
原因(引用了NULL对象): 我之前把默认的MainCamera删掉了,自己加入了Camera,而这行代码是找主相机,所以没有找到
解决的方法: 把camera属性右側Tag改为MainCamera
==================================================================================================================

"SetDestination" can only be called on an active agent that has been placed on a NavMesh.


原因:没有bake,或者bake的不正确
解决方法:让对象自己主动寻找路径,使用Navigation烘焙地图中不可移动的对象
1.打开主菜单Windows->Navigation.  在Hierarchy中选上全部障碍物,在Navigation窗体,将Navigation Static打上勾
Navigation Layer设置为not walkable
注意:烘培时不要选择地形Terrain
2.Component->Navigation->NavMeshAgent给角色加入NavMeshAgent组件
3.在Navigation窗体中点击 Bake 烘培
4.改动Update.
NavMeshAgent nAgent=gameObject.GetComponent<NavMeshAgent>();

Debug.Log(nAgent);//观察是否获取到了对象

nAgent.SetDestination(hit.point);

 注意:bake地图会非常慢。假设不是必须,不要使用这样的方式

转载于:https://www.cnblogs.com/zhchoutai/p/7001938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值