unity3D常见问题
生活随笔
收集整理的这篇文章主要介绍了
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地图会非常慢。假设不是必须,不要使用这样的方式
总结
以上是生活随笔为你收集整理的unity3D常见问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: gerrit Cannot Merge
- 下一篇: 《嵌入式C编程:PIC单片机和C编程技术