位置: 编程技术 - 正文

使用NGUI时遇到物理引擎错误

编辑:rootadmin

推荐整理分享使用NGUI时遇到物理引擎错误,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

  使用NGUI时偶尔会遇到以下两个报错:

Supplied NxActorDesc is not valid. createActor returns NULL.Actor::updateMassFromShapes: Can't compute mass from shapes: must have at least one non-trigger shape!

  通过在网上搜索,得知第一个错误其实是PhysX引擎的报错。显然Unity使用了PhysX作为物理引擎。第二个报错说的是无法通过形状计算质量,看来也是物理方面的错误。

使用NGUI时遇到物理引擎错误

  目前这两个错误的具体程序原因未知,但试验发现这和NGUI对象上挂载的BoxCollider形状有关。以下方法可以很容易地重现这两个错误(注意以下步骤都是在编辑状态下,不用播放):

在Unity编辑器中创建一个空场景。在菜单栏中点击NGUI -> Create -> 2D UI,创建出一个UI Root。选中刚创建的UI Root,在菜单栏中点击NGUI -> Create -> Panel,在UI Root之下创建出一个Panel孩子。选中刚创建的Panel,在菜单栏中点击NGUI -> Create -> Widget,在UI Root之下创建出一个Widget孩子。选中刚创建的Widget,在它身上挂载一个Box Collider。关键的地方来了:不要勾选Box Collider的Is Trigger属性;设置Box Collider的大小——x和y都设为正数,但z设为负数;另外将Widget的local scale设为(0, 0, 0)。选中Panel,将其隐藏(相当于SetActive(false)),这时就会报“Supplied NxActorDesc is not valid. createActor returns NULL.”。再把Panel打开(相当于SetActive(true)),就会报“Actor::updateMassFromShapes: Can't compute mass from shapes: must have at least one non-trigger shape!”。

  如果研究过NGUI内部原理,就会知道NGUI内部会强制给每个Panel挂载一个刚体(Rigidboy)。这是因为在Unity中,没有刚体的碰撞体(Collider)属于静态碰撞体,而静态碰撞体的移动会触发物理引擎中大量的性能开销。(见这篇Unity文档,里面提到“Colliders can be added to an object without a Rigidbody component to create floors, walls and other motionless elements of a scene. These are referred to as static colliders. In general, you should not reposition static colliders by changing the Transform position since this will impact heavily on the performance of the physics engine.”。)恐怕是刚体和碰撞体之间的交互出了问题。

  一种猜测是:刚体的质量中心是由刚体上各个碰撞体的形状计算出来的(见官方文档对Rigidbody.centerOfMass的说明)。如果碰撞体的形状不正常,那可能就无法计算出质量中心,物理引擎会报错;或者计算出的质量中心就可能是一个非法的数。后一种情况可能还会影响NGUI的触屏检测。有一次我们某个界面上挂载BoxCollider的按钮出bug,点击之后毫无反应,甚至连触摸反馈动画也没有。我本想在UICamera下断点,看看是谁截住了OnClick消息,却发现连UICamera都没感知到触屏。研究了很久才发现那个按钮的BoxCollider的z尺寸设成了负数,调试中我发现那个按钮所在Panel的刚体质量中心是(NaN, NaN, NaN)。将那个BoxCollider的尺寸改成正数后,bug就消失了。(不过后来我也研究过,并不是Box Collider的尺寸为负就一定会导致该bug,可能要正好在某些数&#;下导致刚体质量中心为(NaN, NaN, NaN)才行。)

  所以目前的结论就是:如果在NGUI中遇到了物理引擎的报错,或者UICamera没感知到触屏,则检查一下各个BoxCollder的尺寸是否正常。这个尺寸会受到多个因素的影响:包括Box Collider的size参数,还有GameObject(包括自己和祖宗)的scale。

Unity3D架构系列之-FSM有限状态机设计(一) 我们在游戏开发中经常面临架构设计问题,在蛮牛问答里面也有好多朋友问关于架构方面的问题,在这里我就将一些经常使用的游戏开发方面的知识跟

【Unity技巧】Unity中的优化技术(2) 可以看到DrawCalls一下子变成了5。这是因为新添加的箱子模型中,包含了个顶点,而它使用的顶点属性有位置、UV坐标、法线等信息,使用的总和超过

unity3d 性能优化之角色建模 使用一个单一的SkinnedMeshRendere您应该对于每个角色仅使用一个skinnedmeshrenderer。unity使用可见性裁剪和包围体更新的方法来优化角色的运动,并且这些优

标签: 使用NGUI时遇到物理引擎错误

本文链接地址:https://www.jiuchutong.com/biancheng/375831.html 转载请保留说明!

上一篇:Unity 数据Json格式的转换(unity jsonutility)

下一篇:vue.js语法及常用指令(vue.js作用)

  • 股票印花税怎么交
  • 一分钟了解货币
  • 税务局的信用等级是多少
  • 施工排水费是否属于措施费
  • 同业清算交易渠道
  • 异地项目预缴个人所得税
  • 未取得发票的费用
  • 分支机构需要填报企业所得税纳税申报表吗
  • 短期薪酬是会计科目么
  • 自建厂房销售
  • 奖金多发退回时间怎么算
  • 托收承付销售货物什么意思
  • 小规模纳税人专票开1%还是3%
  • 水利建设基金怎么计提
  • 延期付款利息的税率是多少
  • 月工资3000元,工伤7级能赔偿多少钱
  • 接手新公司涉税问题分析
  • 固定资产房屋折旧年限及残值
  • 股权转让怎么缴纳个人所得税
  • 商贸企业固定资产计提折旧吗
  • 劳务公司包工包料的法律法规
  • 税基式减免的内容有哪些?
  • 怎么让自己的电脑有网吧认证
  • 苹果系统怎么修改开机密码
  • 鼠标反应迟钝是什么原因
  • 企业纳税申报的流程
  • 国家税务开票流程
  • 收到稳岗补贴计入哪个科目
  • 报销货物运输费需要什么凭证
  • kb4580419更新
  • PHP:Memcached::resetServerList()的用法_Memcached类
  • 所有者权益变动表范本
  • 电脑avg是什么软件
  • 哪些费用需要计提,哪些不需要
  • vue带参数跳转到详情页面
  • php操作mysql数据库
  • AI工具大全
  • 前端基础入门
  • 生产型企业出口退税会计分录
  • 以旧换新方式销售金银首饰的消费税处理
  • 兼职劳务报酬如何入账
  • java变量初始化的两种方式
  • windows7基本使用教程
  • 房东减免后二房东不减房租
  • 公司购进设备会计分录
  • 小微企业短小频急
  • 受托加工的物资属于资产吗
  • 个税申报错误已经扣税款怎么处理
  • 编制记账凭证的步骤
  • 只有发票没有银行回单怎么做账
  • 诉讼费应计入什么会计科目
  • 坏账准备的计提分录
  • 公司给员工转公司
  • 外贸企业的汇率怎么算
  • 合同资产结转收入
  • 公司安装监控属于什么费用
  • 会计做账做错了
  • 可转债举例说明
  • 工会经费计提比例是2%还是0.8%
  • mac的safari浏览器无法打开
  • win8怎么设置自动开机
  • linux删除大量文件方法
  • centos6开机启动
  • GhostXP_SP3活力版V3.0_系统之家首发
  • win8.1怎么用
  • linux系统问题汇总
  • linux新手入门教程
  • cocos2dx3.4 Label
  • linux服务器硬件配置要求
  • jquery插件大全
  • shift妙用之解决shell编程中的入参问题
  • vue list清空
  • unity点击3d物体
  • js鼠标点击图片就消失
  • 建行信用卡怎么提额
  • 跨区域报验和预审的区别
  • 深圳税务忘记密码
  • 国家税务总局南京市秦淮区税务局纳税服务中心
  • 公司汽车用油计入什么科目
  • 广东省国家税务总局稽查局局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设