位置: 编程技术 - 正文

Unity5中的高性能物理组件(unity urp 性能)

编辑:rootadmin
长久以来,我们一直使用PhysX 2.8.3。除了单独使用PhysX之外,我们还在过去的数年中,将Unity工程师开发出的多种补丁与其搭配使用。在我们即将发布的Unity 5.0,则会以PhysX 3.3作为我们新的物理引擎。下面,就让我们来进一步了解该物理组件。PhysX SDK 3对经典PhysX SDK 2.x大胆地进行了重新设计。PhysX的开发团队保留了2.x最好的创意及功能,并重新编写了SDK。这意味着SDK的代码构架是全新的,接口也是全新的,同时绝大多数功能也是全新的。现在,我们来试用一下Unity 5.0物理组件。首先,我们从简单的功能开始。我们将自适应力设置为可切换的,而且在默认状态下是关闭状态。自适应力是PhysX所使用的一项特殊技术,它修正了PhysX在模拟动态状况时的数&#;偏差。移动静态碰撞体移动静态碰撞体的开销将会大大降低。普通的静态碰撞体只是附有碰撞体组件的游戏对象,但并不附有刚性组件。以前的版本因为假设静态碰撞体均是静止的,所以移动一个静态碰撞体会引发昂贵的AABB 包围盒重建,进而让整体效率也因此大打折扣。在Unity 5中,我们将使用相同的数据结构来同时处理动态与静态碰撞体的运动。一般来说,静态碰撞体较之动态碰撞体会占用较少的内存空间,但是,由于我们需要动态移动静态碰撞体,所以我们不得不牺牲静态碰撞体的这一特点。移动静态碰撞体是目前引起性能问题的三大原因之一。因此,我们必须对其进行修改和优化。碰撞检测连续碰撞检测效率在新版本中有了大幅度的提升。连续碰撞检测主要用于防止移动速度过快的物体没有经过碰撞检测而直接穿过其他物体的情况。比如,一枚高速运行的子弹穿过一张纸,或者在台球游戏中,一些运动速度很快的球等等。在Unity 5.0当中,SDK会生成所有用于处理快速运动的数据,你只需在编辑器中直接打开连续碰撞检测功能即可。PhysX3主推的算法可以检测对象在目前速度之下是需要进行昂贵的CCD模拟,还是进行默认的连续碰撞检测就足够了。该功能在你开启CCD功能时就会自动激活。Broadphase上的刚体PhysX3在broadphase上支持更多刚体。事实上,在桌面或类&#;桌面的平台上,每一帧均可支持数十万个刚体。在此之前,PhysX最多只支持6万4千个刚体,而这并不是一个能够轻易提高的常量–想要提高这个常量,必须得在SDK上节省更多空间。而对于一些像PS3这样的游戏机而言,他们仍然有这样的限制。同时,物理材质也有限制:就在这篇文章公布之际,你仍然无法在任何平台上使用超过6万4千的材质。缩放网&#;碰撞体几乎无性能开销在Unity 5.0之中,我们降低了缩放网&#;碰撞体的花费。在此之前,当你在缩放一个网&#;碰撞体的时候,你必须得重新构架一个嵌入顶点的可缩放的网&#;。而这一过程需要宝贵的时间开销与内存占用。而PhysX3支持非嵌入式的正倍数缩放,而这种缩放基本上是无性能开销的。接下来,我们再看看与Unity 4.x版本完全不同的两个子系统:布料与载体模块。布料组件我们先看布料组件。在Unity 4之中,布料模拟是通过InteractiveCloth与SkinnedCloth两个组件来支持的。InteractiveCloth组件拥有像布料一样的网&#;表现。例如:能与其他物理对象交互的“物理布料”,可对其施力等特点。但是,InteractiveCloth组件的计算过程非常耗时,所以Unity 4针对人物的衣物模拟,设计了SkinnedCloth这一组件。因为SkinnedCloth并不占用主要的模拟管线,所以该组件的性能要优于InteractiveCloth组件。而布料模拟的主要问题是两个组件的模拟效果都非常不稳定,且运行成本也很高。而PhysX3推出的整合布料组件将不再支持InteractiveCloth组件,取而代之的是一个整体的以设计人物衣物为主体的布料组件,Cloth。在Unity 5.0中,场景中的布料不再对所有碰撞体进行交互,也不再向外界施加反作用力。取而代之的是,我们将创造一个更快的、多线程的、更稳定的人物角色布料模拟方案。当你使用全新的布料组件时,它不再对任何对象进行交互。这样,布料与外部世界不再互相作用,除非你手动将来自外界的碰撞体添加到布料组件上。需要注意的是,就算你手动加入来自外界的碰撞体,布料模拟过程仍然是单向的:布料会对外界碰撞体做出反应,但并不向其施加反作用力。同时,你只能向布料组件加入三种碰撞体:球形碰撞体、胶囊碰撞体,和由两个球体组成的经典胶囊碰撞体。开发者对其进行了以上改动以提升性能及表现。Unity 5.0中的布料模拟界面与目前的SkinnedCloth界面类&#;,而我们将在即将推出的5.x版本中着力改进这一方面。敬请期待在接下来的5.x版本中添加了Mecanim Avatars的整合界面。全新的布料组件可以通过CUDA在内部支持GPU。但因为种种原因我们决定在之后发布的5.x版本中再加入这一性能。原因在于,首先CUDA只能在Windows系统下的NVIDIA硬件上运行,而我们的用户中有很大一部分都在使用Mac和Linux。其次,我们希望能先集中力量解决核心问题,之后再加入炫酷的组件。全新的Vehicle SDK现在,我们来简单介绍一下新版本的车辆模拟功能。PhysX3引用了全新的Vehicle SDK取代我们之前一直在使用的WheelCollider组件。该组件可以实现更具真实感的悬架距离和车胎摩擦力效果。另外,该组件还解决了一系列存在已久的问题。如果开发者们希望获取一些已经经过精细调试、效果更真实,或更高阶的插件,那么我们建议可以直接去Asset Store上查找相关插件,比如Edy’s Vehicle Package请看,这是我们用网上下载的免费网&#;在几小时之内搭建出的场景.这是一个Edy’s Vehicle Package中专门针对SUV的效果。Edy目前正在开发新的包含更多炫目效果的效果包。尽管我们想向大家分享所有有关车辆模拟的技术细节,但今天还是先让我们来看一下全新的WheelCollider示意图,进而向你们展示如何设置更具真实感的悬架距离。在上图中轮圈和车轮直径用绿色标出,而悬架的轨迹部分则用橙色标出,与此同时应力点范围也用绿色标出。在悬架的轨迹部分上,标出了最大压缩位置、最大下垂位置,与目标位置。正如你所期待的,轮胎只能在最大压缩位置与最大下垂位置之间移动。而目标位置(也被技术人员称作平衡位置)就位于通过弹簧弹力得到平衡的簧上重量之上在受弹力时保持平衡的位置;比如,当车辆静止在水平平面上时的轮胎位置。虽然校准过程看起来很困难,但是实际上最大压缩位置就是你轮胎一开始在网&#;中所处的位置。接下来,你可以指定悬架距离和目标位置作为悬挂距离的一小部分。它们仅是两个浮点数,不是大问题!我有没有告诉你全新的车轮碰撞体组件将模拟数据中得到的旋转与位置与箱体碰撞体分开了呢?你甚至不用添加实际的轮胎图形也不用编写轮胎定位代码来复查你的设定。因为这一切都已经内置于引擎中。性能目前,我们准备通过多核来运行PhysX3,这是因为其内部计算模型是以多任务的形式而存在,这样我们可以自然地使用多核来执行它们。SDK是通过多线程来执行的,自行处理各项依赖关系并对任务进行最优化分解和安排。我们期待通过更优的代码构架和经过完善的多线程方式,来让物理的模拟性能翻倍。在某些案例中,其改进令人惊讶,其性能提升甚至达到了十倍以上。对性能这块感兴趣的开发人员,您可以访问Pierre Terdiman的博客。他是PhysX SDK的主要研发人员。兼容性新功能的外观与使用体验都延续了Unity一贯的风&#;,但在特定情况下,或许有些旧的使用方法将不再被Unity 5所支持,即Unity 5.0的物理组件并不一定%与Unity 4.x兼容。在你将以前的项目从之前的Unity版本移至最新版本时,稍微改动下项目和重写某些物理组件代码。除了本文中提到的一些特性之外,Unity 5的物理组件还有更多全新性能。如有疑问,请在留言中提出你的疑问。如果你即将参加再西雅图举行的年的Unite开发者大会,我将在大会有关Unity 5.0物理组件深度访谈部分发言,我们可以进行更直接的交流!关于Unity5的更多信息。请访问: physics in Unity 5原文链接:

推荐整理分享Unity5中的高性能物理组件(unity urp 性能),希望有所帮助,仅作参考,欢迎阅读内容。

Unity5中的高性能物理组件(unity urp 性能)

文章相关热门搜索词:unity getcomponent性能,unity ui动画高性能,unity性能和内存优化,unity ui动画高性能,unity urp 性能,unity urp 性能,unity性能优化全攻略,unity3d 性能,内容如对您有帮助,希望把文章链接给更多的朋友!

unity3d数学公式之OBB vs AABB 上一篇写了OBBvsOBB,这一篇就把OBBvsAABB放出来吧废话不多说直接上代码需要的朋友直接拿走//OBBvsAABBpublicstaticboolIsOBBIntersectionWithAABB(refVector2blOBB,refVector2tlOB

Unity3d数学公式之 OBB vs OBB 数学公式相信是一些开发者头疼的一个问题尤其是数学基础不太好的同学开发的时候能找到一个正确的又好用的现成的代码断是一件很happy的事情这里我

用脚本编译 unity3d 项目的 ipa 安装包 把以下字段保存到记事本中,不要后缀,然后放在unity3d生成的xcode工程中,和.同一目录然后双击则可生成ipa,前提是必须安装了xcode并且工程可以顺利编译,如

标签: unity urp 性能

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

上一篇:Asset Store 下载的package存放位置(assetstore怎么下载资源包)

下一篇:unity3d数学公式之OBB vs AABB(unity中mathf)

  • 兴业银行汇款手续费
  • 机票和发票是一样的吗
  • 装修费用应该计入什么科目
  • 代垫水电费增值税
  • 预算收入包括增值税吗
  • 非限定性净资产借贷方向
  • 发票旁边的孔能撕吗
  • 自己打印raz
  • 车间管理人工资计入什么科目
  • 旧房转让土地增值税计算案例
  • 工会经费为员工计税依据是什么
  • 企业管理咨询有限公司简介
  • 实收资本收到后用途
  • 留样检测的产品计入什么科目?
  • 当年应收账款无明细科目
  • 收到货款确认收入但是后期开票了怎么做分录
  • 小规模公司退税
  • 企业购买扶贫物资怎么入账
  • 服务费专票普票
  • 商品按照售价金额核算法进行日常核算
  • 行政事业单位如何加强财务管理
  • 归还银行贷款怎么做分录
  • 销售已作进项税转出的固定资产怎样缴税?
  • 税务年报网上怎么申报小微企业
  • 活动策划费开票在哪个项目下面
  • win11怎么看电脑配置
  • 文件夹不能打开没有反应
  • 收益相关的政府补助分录
  • bearshare.exe进程安全吗 bearshare是什么进程
  • 顺流交易逆流交易未实现内部交易损益
  • 工程复工程序是什么
  • 公司想减少注册资本
  • 通过session实现用户的登录与登出功能
  • 最大规模的科技公司
  • HTML常用标记
  • 长期股权投资的核算方法
  • js位运算有什么用
  • 增值税税点怎么算3个点
  • 所得税申报资产总额
  • 暂未取得发票的费用怎么入账
  • 帝国cms模型
  • 使用二氧化碳灭火器时人应该站在什么位置
  • 企业年报股东出资信息
  • 建筑公司可以开3个点的专票吗
  • 应付账款的入账价值应当包括增值税的进项税额
  • 未分配利润是否可以全部分红
  • 托收承付和委托收款纳税义务发生时间
  • 给客户的客户开普票算不算虚开
  • 调研费用包括哪些项目
  • 营业外收入可以冲减管理费用吗
  • 递延收益按多少折算
  • 公司做账开票是什么意思
  • 公司基本账户提现规定
  • ppp项目政府可以不出资
  • 公司购买的商品质量问题能用12315投诉吗
  • 没有报关单可以出口吗
  • 实际到货跟采购不一致
  • 注册资本可以是欧元吗
  • 企业大额融资需要什么资料
  • mysql5.7.17下载
  • mysql5717安装过程
  • Ubuntu系统安装软件
  • win7显示
  • xp取消开机启动项
  • 通知栏图标怎么变小
  • 微软强制升级
  • win7系统通知在哪
  • unity对象池优缺点
  • css行与行之间的间距怎么调
  • webview实现有什么用
  • activity启动流程图解
  • regedit.exe
  • python错误代码
  • jquery右击事件
  • jquery的实现原理
  • Unity destructor Or OnDestory
  • 上海地铁直接刷银联卡
  • 划拨土地转让需要交什么税
  • 嘉定办证中心营业时间
  • 国税局和地税局分别征收什么税种
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设