unity3d 5下较好的unity 布料系统模拟方案有哪些

君,已阅读到文档的结尾了呢~~
基于unity平台的三维模拟技术在服装设计方面的应用
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于unity平台的三维模拟技术在服装设计方面的应用
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口游戏技术汇:Unity 5.0 Pre-order Beta版本开放下载学新特性教程-游戏技术媒体-Dogame游戏兵工厂
DOGAME游戏兵工厂-中国游戏行业第一游戏技术媒体门户|游戏美术|游戏模型|游戏资讯|游戏招聘
找工作?--个人用户
缺人才?--企业用户
要高薪?--高级人才
论坛会员登录--个人求职
论坛会员登录--企业招聘
论坛会员登录--高级人才
游戏技术汇:Unity 5.0 Pre-order Beta版本开放下载学新特性教程
【编辑:游戏兵工厂】&&发布日期:日   点击率:5607
游戏兵工厂新闻报道:
Unity 5.0 Pre-order Beta版本现已发布,Unity 5的预购用户和Unity Pro的正版月租用户可以登录Unity全球官网或者官方中文论坛进行下载。游戏兵工厂技术汇:分享分享教程。
Unity 5.0 Pre-order Beta下载地址:
Unity 5拥有一系列非凡的新功能,不论是个人还是企业级的团队,在使用Unity 5的过程中都能体会到旧版本中前所未有的视听享受。Unity 5在性能和脚本方面都有了很大的改进,并且添加了对一些新平台的支持。
今天发布的试用版是最接近完整版,这是一个非常宝贵的学习机会。Unity 5在质量和效率的飞跃性进步的同时包含了一些新的UI界面和脚本的改变。在高性能与尽可能直观和简单的工作流程之间保持平衡,是我们一贯的宗旨。该试用版也为我们忠实的用户打开了学习Unity 5中的新工具和API的大门。
Unity 5.0 Pre-order Beta的部分新特性介绍:& ?图形仿真和光照特效?Unity 5.0中的帧调试器?值得期待的高性能物理组件?在WebGL平台上的Unity 性能基准?酷炫的新动画功能?用Unity 5.0混合出美妙节拍?基于物理的标准着色器?脚本的未来(IL2CPP)?自动脚本升级以应对API的改变
1.详解Unity 5中的全局光照
Unity5在图形仿真和光照特效方面做了重大改变。自从3.0版本开始,Unity的光照效果一直局限于烘焙好的光照贴图。但后续的时间里,我们在全局光照领域有了很大的提升与改进,现在,是时候将其中部分美好的特性从Unity的沙盒中开放出来了。其中之一的新图形特性就是基于新的和极大改善的光照流程基础上的全局实时光照。
Enlighten对于全局光照提供了一套稳定可靠的解决方案。通过对问题的约束优化,已经适用于各种尺度的终端机,从手机到街机,一直到高端的台式机。并已经被运用于Battlefield4,MoH Warfighter等AAA游戏。
2.& 介绍Unity 5中的帧调试器
您是否曾经看Unity中的一些图像效果,然后在想:“我怎样才能够看到这一帧是如何一步步的渲染出来?”
您可以通过一些扩展工具来实现这个目的,特别如果你使用的系统是Windows。发布一个Winows版本的游戏,通过Visual Studio 图像调试器, Intel GPA, RenderDoc, NVIDIA NSight或者 AMD GPU PerfStudio运行 ,然后捕获其中一帧的渲染,然后逐步调试到绘制调用和其它渲染事件中看看到底发生了什么。
3.& Unity5中的高性能物理组件
PhysX SDK 3在经典PhysX SDK 2.x的基础上进行了重新设计。我们将PhysX的自适应力设置(Adaptive Force)为可切换的,而且在默认状态下是关闭状态。Adaptive Force是PhysX所使用的一项特殊技术,它主要用于修正PhysX在模拟动态状况时不可避免的数值偏差。
在Unity 5.0当中,SDK会生成所有用于处理快速运动的数据,你只需在编辑器中直接打开连续式碰撞检测功能即可。PhysX3在broadphase上支持更多刚体。我们降低了网格碰撞体(Mesh Collider)的缩放开销。Unity 5.0中的布料模拟界面与目前的SkinnedCloth界面类似,而我们将在即将推出的5.x版本中着力改进这一方面。敬请期待在接下来的5.x版本中添加了Mecanim Avatars的整合界面。
4.& 在WebGL 平台上的Unity 性能基准
Unity 将要努力支持的一个振奋人心的新平台就是WebGL。WebGL是非常特别的,原因如下:所有的代码都需要被交叉编译为JavaScript;一些常见的增强性能的技术,例如多线程和SIMD(单指令流多数据流),暂时还不支持;我们依靠一个全新的脚本库IL2Cpp,来运行用户的脚本。
我们都希望得到精准可靠的数据。哪些模块在WebGL中特别慢?那些比较快?不同的实现方式之间又有什么确切的区别呢?为此,我们创建了Unity Benchmarks,它是一套在Unity中编写的基准测试用例。这些测试用例侧重于引擎的不同功能,并生成易于比较的性能数据。 赶紧登录Unity 官方论坛进行下载,试试在你的浏览器中运行WebGL 中的Unity Benchmarks吧!
5.& 新的动画功能(New animation features)
Unity 动画团队一直在努力工作、同心协力,使Unity 5.0 具有令人印象深刻的功能集。有关新的动画功能有:1)&在StateMachine 中添加了“进入”和“退出”节点;2)&可使用编辑器中的脚本创建动画资源(StateMachine、状态、控制器、图层、Blentree 等);3)&添加了一种新型BlendTree,您可将动画器参数直接映射到 BlendTree 子级的权重上;4)&可为动画制作动画效果并将它们的动画器转化成根动作(即 Delta Animation)等。
我们的开发团队正致力于准备Unity 5.0的一系列发布工作,热切期待你们的反馈信息。如果您遇见Bug,或者有任何意见和建议,请在社区论坛给予反馈,这将有利于我们将Unity5.0 做得更好。
DOGAME游戏兵工厂()致力于打造游戏动漫行业技术交流平台。游戏爱好者的游戏专业网站,集合了更新、游戏开发与商务合作、Dogame、下载、游戏论坛等各个板块。每天海量游戏资讯,实时更新,全力满足您的需求。
&关注DOGAME游戏兵工厂微信获赠150元VIP会员
最新游戏行业信息、活动请关注
DOGAME游戏人才招聘HNYU GAME【布料系统】Unity的布料 固定在个地方 飘扬 - CSDN博客
【布料系统】Unity的布料 固定在个地方 飘扬
#搞了两天,差点跪死在这
-------------------------------------------------
建个空的,Component加cloth。Mesh选Plane。Materials随便建了个扔了上去。//前期工作,建个布料
点击Cloth的Edit Constraints。
选四个角,然后把Max Distance勾上。//这样的话就不会掉落啦,按需求点吧。
Cloth的Random Acceleration的三个值看着填吧,填了就飘了。//填个大点的数多调试调试就知道什么回事了。
本文已收录于以下专栏:
相关文章推荐
在Unity4中, 需要对SkinnedMeshRenderer使用SkinnedCloth,
或者对Cloth Renderer使用Interactive Cloth, 很麻烦。
在Unity5中...
布料这一块的内容不是很好找,就找到《Unity Shaders and Effects Codebook》里有介绍。
然后,这篇博客再把这里的内容丰富了一下,作者不允许转载,就只能贴个链接地址,方便...
首先我们先创建一个底面Ground(绿色的Plane),底面上有一个玩家Player(白色的Cube),磁铁Magnet(红色的Cube),还有一堆金币Coin(白色的Sphere)。设置Player...
unity自带的UGui普遍都有rect transform属性
orthographic摄像机下 如果size是1 那么半个高度的ugui canvas就是1单位长度, 一个cube是1米 1...
数字布料模拟技术简介
 /zhuantilanmu/shuzibuliaomonijishu/57.html
关节(Joint)是Unity中的一种物理组件,用来模拟游戏对象之间相互连接的效果。
通过关节,我们在游戏中可以用于模拟刚体之间的连接、门的开关、角色布娃娃系统等效果。
笔者在之前的端游项目中有较多使用布料系统制作布料效果的经验,这次也尝试了在Unity引擎中进行布料效果制作的几种方法。本文整体框架基于之前整理的一篇关于布料系统基本原理的文章,结合Unity引擎中的制...
关节可以产生类似铰链的效果:
在Component菜单中Physics中选择Hinge joint功能添加到物体上,就可以产生如下图中的效果。
先生成一个plane(效果明显),Comp...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Unity3D优化方案_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Unity3D优化方案
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩29页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢后使用快捷导航没有帐号?
 论坛入口:
  |   |    |   | 
Havok物理引擎与Unity3D的结合
Unity3D/2D&
  在重度手游的研发过程当中,游戏中的车辆模拟,场景互动,特效展示等功能很多时候需要物理引擎的介入,以提供丰富的交互体验。目前3D手游的开发主要工具是使用Unity3D引擎,于是,如何在Unity3D的开发过程中结合入物理功能变一个需要仔细考虑的问题。
  我们考察的2种物理效果实现方案:Unity3D物理引擎和Havok物理引擎。
  Unity3d物理引擎介绍
  Unity3d在内部集成了PhysX物理引擎,为其提供了物理模拟能力。
  Physx是目前使用最为广泛的物理引擎,PhysX目前由Nvidia公司开发并维护,特点是免费且带N卡的GPU物理计算加速功能(1)。
  PhysX被很多游戏大作所采用,使用PhysX制作的游戏:
1.jpg (218.68 KB, 下载次数: 5)
15:02 上传
  4.X版本的Unity3D集成的是2.8.3的PhysX,该版本较为老旧。在Unity5中将集成PhysX3.3,较2.8.3版本在功能和性能上有较大幅的提升,但是目前unity5并不是非常稳定。
  Havok物理引擎介绍
  Havok物理引擎是由Havok公司开发的老牌物理引擎,与PhysX不同,Havok专注于CPU端+多线程模拟方案,并且与PhysX的强大市场推广以及免费策略不同,Havok授权很严格,而且基本不提供试用版本下载(2)。
  使用Havok引擎的游戏大作在数量上与使用PhysX的不相上下,而且很多令人印象深刻:
2.jpg (273.93 KB, 下载次数: 4)
15:02 上传
  Unity3D物理与Havok物理的功能对比
  Unity3D集成的PhysX物理功能:
  Unity3D通过其提供的各种Component访问PhysX的物理功能,打开菜单栏中的Component-&Physics便可以看到各种组件:
3.jpg (169.75 KB, 下载次数: 4)
15:02 上传
  其中,
  Rigidbody提供了刚体的访问接口。
  各种XXXCollider提供了3种碰撞包围体方案(Primitive,Mesh,Terrain)。
  WheelCollider组件提供了车轮模拟方案。
  XXXCloth组件提供了布料模拟方案。
  XXXJoint组件提供了关节与连接点模拟方案。
  PhysicsMaterial资源类型提供了表面物理材质描述功能。
  在Unity3D中每一种物理组件都有对应的编辑界面,且即拖即用,非常方便。
4.jpg (33.21 KB, 下载次数: 5)
15:02 上传
  PhysX引擎目前已经涵盖各个平台,且跨平台特性已经融入Unity3D的跨平台机制中,用户无需再关注跨平台开发。
  由于PhysX与Unity3D的深度结合以及Unity3D的闭源特性,修改PhysX的底层模拟机制基本不可能。
  Havok物理引擎功能介绍:
  Havok物理引擎以C++库的形式,通过组件式的方式,提供了丰富的物理功能。包括了:
Rigidbody刚体模拟。5种碰撞包围体模拟方案(Primitive,Convex,Mesh,Compount,Terrain)完整的VehicleKit车辆模拟方案。HavokCloth不了模拟方案。Constraint关节与连接点模拟方案。HKX物理资源数据描述格式以及对应序列化与反序列化接口。HavokDestruction破碎模拟方案。
  Havok并没有开发官方的Unity3D结合插件,市面上也没有第三方的结合插件可以使用,需要自行开发,有一定的开发成本。
  Havok具备称述的跨平台能力,但是由于没有结合入Unity3D的跨平台机制,在发布到多平台上需要一点额外的工作量。
  Havok在获得授权之后,用户可以修改与定制各个层级的物理功能。
  Unity和Havok主要物理功能对比
5.png (15.74 KB, 下载次数: 6)
15:02 上传
  结论:
  游戏中简单的物理效果展示可以使用生的PhysX引擎,但是如果需要扩展功能或者订制细腻的物理效果,可以考虑其它物理方案。
  Unity与Havok物理引擎的结合
  既然有结合其它物理方案的需求,那么接下来我们便讨论一下结合的方案。
  结合基本原理
  要实现Havok与Unity3D相结合,那么两个系统之间的交互通信机制便是实现的关键。Unity3D提供的二次开发平台是Mono,并没有提供NativeCode级别的接口,而Havok是完全以C++编写的Native实现。所幸,Mono为IL提供了跨平台的NativeCode交互机制。
  在Win和Linux(Android)平台上,Mono提供了以dll和so为基础的动态链接库交互C++代码形式,而在IOS平台上则是以AOT为基础的静态链接库交互形式,而这种混合编程的方法,便是让Unity3D与Havok交互的基础。
6.jpg (72.09 KB, 下载次数: 3)
15:02 上传
  如图:结合的主要思路就是,Havok作为一个子系统,以插件的形式和Unity3D结合,并通过Mono进行交互。
  结合的具体过程:两个系统的更新流程
  由于Unity3D依然负责整个游戏的主更新流程,那么便需要将Havok的更新整合入Unity3D的流程中。一个比较合理的更新流程应该是逻辑对象先更新,然后将物理参数传入物理引擎,逻辑对象更新完成之后,物理引擎开始进行物理模拟,物理引擎返回模拟结果,Unity3D使用模拟结果进行渲染。
7.jpg (28.46 KB, 下载次数: 4)
15:03 上传
  要实现正确的物理效果,必须保证Havok的正确更新时序,但是多个MonoBehaviour本身更新时序就是混乱的,给结合带来了一定的难度。解决方案是,建议将整个游戏所有的逻辑对象更新收归于一个MonoBehaviour中,场景中GameObject上挂接的其余MonoBehaviour仅用于配置参数,不做任何的逻辑更新。
  结合的具体过程:两个系统关键对象的对应关系
  更新流程的结合可以保证两个系统能运转起来,但是要实现具体功能,则必须明确这两个系统之间的功能对象以及他们的对应关系。
  Unity3D的游戏世界是以Scene为单位的,而在Havok中对应的概念是HavokWorld,同一个HavokWorld中的对象才会相互碰撞。Unity3D中的游戏对象是以GameObject附带各种组件来表现,而在Havok中,刚体以HavokRigidbody表示,车辆以HavokVehicle表示,布料以HavokCloth表示,并没有一个直接对应关系,因此,需要在概念上加以封装,然后再对应。
  如果我们以CGameScene封装了UnityScene,CGameEntity封装了游戏逻辑对象,CHavokWorld封装了物理世界,CHavokEntity封装了物理功能对象,那么,以一个刚体碰撞对象为例,他们之间的对应关系应该是:
8.jpg (46.31 KB, 下载次数: 4)
15:03 上传
  对象关系明确之后,对象之间的更新时序也可以相应明确:
9.jpg (40.28 KB, 下载次数: 5)
15:03 上传
  简单描述上图中,一个刚体对象的整个功能流程是:CGameWorld中的CGameEntity在一系列逻辑更新之后,准备好了一系列的物理更新参数(可能是需要改变的额外力大小,或者是需要改变的质量大小);然后CGameEntity将这些参数设置给物理对象CHavokEntity,CHavokEntity将参数分解,交给具体的实现对象(hkpRigidbody刚体实现对象);当所有的CGameEntity都传递好参数之后,CGameWorld通知CHavokWorld,开始模拟;等模拟结束之后,所有的CGameEntity再纷纷从CHavokEntity中获取模拟的结果(由hkpRigidbody维护的位置,朝向等最终模拟结果),而这些模拟结果,最终会被设置给GameObject的Transform,拿去做下一步的逻辑处理或者直接渲染。
  结合的具体过程:物理资源制作流程的结合
  Havok拥有自己的资源描述格式:HKX。HKX可以存放从包围盒到刚体对象(hkpRigidbody实例)等很多信息,HKX拥有文本和二进制两种模式,但是任何一种模式都不被Unity3D直接支持。被结合入Unity3D的Havok物理引擎要想访问到HKX格式的资源有两种方法:
  一.将HKX文件直接放到Unity3D的StreammingAssets目录下,在Havok的C++代码层面通过不同平台的IO API去读文件。
  这样的不便之处在于需要自己维护StreammingAssets目录下的大量文件,也不能使用Unity3D的异步IO机制。
10.jpg (52.63 KB, 下载次数: 4)
15:03 上传
  二.利用Unity3D的ScripableObject机制,将HKX文件内容序列化到UnityAsset中,让Unity3D在IO之后以byteStream的形式传给Havok。
  好处在于,可是使用Unity3D编辑器强大的文件管理机制,以及异步IO系统。弊端在于byteStream传递过程中可能带来内存的额外开销(包括GC以及内存峰值)。
11.jpg (33.95 KB, 下载次数: 4)
15:03 上传
  结合的具体过程:物理场景的编辑流程结合
  Unity3D以灵活好用的编辑器著称,所以应该将场景中物理对象的编辑结合入Unity3D编辑器。提供一个可行的方案:
  以Unity3D原有的GameObject场景编辑模式为基础,在需要物理表现的GameObject上,绑定物理描述脚本,脚本中描述了物理对象的包围体资源和初始化物理信息。物理对象的初始位置可以使用GameObject的初始位置,这样当PlayScene的时候,Unity3D便可以通知Havok根据该物体的初始位置以及描述脚本中的信息去创建物理对象,进行模拟。
12.jpg (132.78 KB, 下载次数: 5)
15:03 上传
  如图,物理描述脚本EntityRoadBlockParam中包含了路障对象的包围体,质量,碰撞组等物理信息。这种形式的结合方案的不足之处在于,每一个Scene都必须包含Havok引擎完整的更新流程控制代码,无法做到像Unity3D原生物理引擎那样直接拖拽组件就能看到效果。
  小技巧与经验
  物理对象调试工具
  Havok提供了一个可视化的工具——Havok VisualDebugger,将物理世界的信息实时显示出来,方便调试。该工具使用Socket连接的方式与HavokRuntime实时通信,当HavokRuntime结合入Unity3D之后,依然能够正常工作,省去了我们写可视化Debugger的工作量。
13.jpg (48.07 KB, 下载次数: 6)
15:03 上传
  如果受限于网络环境不能使用VisualDebugger,那么手动绘制物理对象信息也是一个可选的方案,Havok提供了API可以将包围体几何信息输出(以VertexList和IndexList的形式),可以直接填入Unity3D的Mesh组件,在Gizmos或者Renderer中实时绘制,用于观察物理对象是否模拟正常。
  稳定物理模拟的帧率
  Havok物理引擎在模拟过程中需要一个稳定的更新间隔时间,如果这个间隔时而长时而短,会导致模拟不稳定,发生穿透,位置跳变等现象。解决的办法是,一旦发现间隔时间过长,则在过长的间隔时间之内,以固定的频率多模拟几次,我们称为稳定模拟模式。
14.jpg (14.35 KB, 下载次数: 4)
15:03 上传
  该方法可以保证物理模拟的稳定性与精确性,但是弊端是可能会进一步降低游戏的帧率。在游戏更新过程中还是应该尽量保证帧率的稳定,避免物理引擎进入稳定模拟模式。
  异步物理模拟以提升效率
  Havok默认是多线程模拟的,因此,可以对于游戏过程中仅作为表现的物理对象做异步更新,异步更新流程如图:
15.jpg (26.39 KB, 下载次数: 4)
15:03 上传
  异步更新的好处是可以用逻辑更新和渲染更新的时间做多线程模拟(T1 + T2时间段),降低表现物理层的模拟时间,这个方案会导致渲染层晚一帧得到物理模拟结果。但是,如果物理对象的模拟数据需要拿去做逻辑更新,那么还是需要使用同步模拟机制,否则会增大系统的复杂性。
  性能分析
  Havok结合到Unity3D之后,性能是一个需要关注的问题。我们做了一个Profile,对比Havok和Unity3D原生的Physx物理性能,用例如下:
16.jpg (41.05 KB, 下载次数: 4)
15:03 上传
  在场景中堆置168个Block,以一定的间隔时间给每一个Block施加一个随机力,用来扰动这些Block,使他们相互碰撞,观察模拟耗时,在Sansung Note4(3) 手机上,分析结果如下:
  PhysX_Discrete离散模式
17.jpg (50.66 KB, 下载次数: 5)
15:03 上传
  Havok_Discrete离散模式
18.jpg (31.83 KB, 下载次数: 4)
15:03 上传
  Physx_Continue连续模式
19.jpg (39.53 KB, 下载次数: 5)
15:03 上传
  Havok_Continue连续模式
20.jpg (52.49 KB, 下载次数: 4)
15:03 上传
  从分析结果上可以看出,在离散模式下,Havok和PhysX的模拟消耗差不多;但是在连续模式(4)下,PhysX的数据有点离谱,PhysX的连续模拟模式在手机上完全无法使用,而Havok则有高出离散模式一倍的开销。
  (1)大多数使用PhysX的游戏并不会使用到GPU加速功能,原因有两点:1,大多数次世代3D游戏GPU负担都非常重,并没有余力做太重度的物理模拟;2.与显卡进行数据传输也是有开销的,轻度物理模拟若算上这一部分开销,在GPU端做并没有占到很大便宜。
  (2)Havok的授权很严格,试用需要联系其商务代表。
  (3)Samsung Note4 Spec :
  PLATFORMOSAndroid OS, v4.4.4 (KitKat), v5.0.1 (Lollipop), upgradable to v5.1.1 (Lollipop)
  ChipsetQualcomm Snapdragon 805 Exynos 5433
  CPUQuad-core 2.7 GHz Krait 450 (Snapdragon 805)
  GPUAdreno 420 (Snapdragon 805)
  Mali-T760 (Exynos 5433)
  MEMORYCard slotmicroSD, up to 128 GB
  Internal32 GB, 3 GB RAM
  (4)连续模拟模式(Continuous Simulation),用于解决子弹穿纸类的问题,需要在高速小物体位置更新过程中,使用迭代计算或者射线检测等手段求的高精度碰撞检测与处理结果。
  相关阅读:
关注我们官方微信公众号
下载我们官方APP-游戏行
关注手游动态微信公众号
从LOLS7赛季中国队淘汰浅谈对国内电竞职业这款运营了11年的游戏,现在每天仍有超过4010月30日—11月5日共有39款游戏开测|GameR网易发布对“大逃杀”类游戏指导意见的执行电子竞技不需要“死亡宣告”写给策划看的最简版UE入门
微信扫一扫关注我们→

我要回帖

更多关于 unity3d 布料插件 的文章

 

随机推荐