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

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


没有发生碰撞

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3VuMTQwNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

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.

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3VuMTQwNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

原因:没有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地图会非常慢。假设不是必须,不要使用这样的方式

最新文章

  1. javascript 笔记!
  2. Android SDK升级后报错error when loading the sdk 发现了元素 d:skin 开头无效内容
  3. [译]Asp.net MVC 之 Contorllers(一)
  4. Win32 OpenGL标准例子
  5. 【web端】百度地图api
  6. UVA 11827 Maximum GCD
  7. nn
  8. hdu 3333 Turing Tree 图灵树(线段树 + 二分离散)
  9. Redhat linux DNS配置指南(SCANIP配置手册)
  10. 一个失误导致微信下载图片接口Token失效
  11. poj 2408 Anagram Groups(hash)
  12. eclipse 在win7 64两个图标出现位操作系统无法锁定到任务栏或任务栏
  13. NOIP 2019 RP++
  14. 基于hashicorp/raft的分布式一致性实战教学
  15. mysql 无法退出sql命令行编辑
  16. python第三天,字符串续
  17. Golang语言下使用Protocol Buffer教程
  18. oracle 记录被另一个用户锁住
  19. BeautifulSoup 模块详解
  20. ReactiveX 学习笔记(7)聚合操作符

热门文章

  1. 利用 ST-LINK Utility软件下载程序
  2. 使用PoolingHttpClientConnectionManager解决httpclient的多线程请求问题
  3. POJ 1107
  4. HDU 3240
  5. android学习笔记(5)Activity生命周期学习
  6. 对苹果“五仁”编程语言Swift的简单分析
  7. simple_strtoul()分析
  8. 机器翻译引擎的基本原理 ——LSTM
  9. xmanager使用
  10. 133.throw机制 抛出类类型