Unity3D--对撞机碰撞器介绍.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unity3D--对撞机碰撞器介绍 碰撞器⼀般都⽤作触发器⽽⽤,刚体⼀般⽤作真实碰撞。 静态对撞机:⼀个对象有对撞机组件,没有刚体组件。 这种情况在场景中的静态物体应⽤较多,⽐如墙体,房屋等静⽌不动的物体。 物理引擎假设静态对撞机是不会被移动的,所以不要尝试移动他们。 否则会产⽣性能开销,或者引发⼀个错误。 静态对撞机是不能“唤醒”刚体的。 如果真的想移动对象的话,就给他添加⼀个刚体组件。 刚体对撞机:⼀个对象有对撞机组件,⽽且有刚体组件。(no-kinematic) 这个对象既可以参与碰撞检测,也可以受到物理⼒的影响。 运动学刚体对撞机:⼀个对象有对撞机组件,有刚体组件,⽽且勾选了is kinematic。 什么是对撞机? 1. 对撞机组件定义对象形态上的物理碰撞. 2. 不可见的对撞机不需要与对象的⽹格, 具有完全相同的形状 3. 事实上,粗略的近似通常在游戏中更有效率和不可区分。 1. 最简单(最少的处理器密集型)碰撞器是所谓的原始对撞机类型 2. 在3D中,这些是箱⼦对撞机,球体对撞机和胶囊对撞机 3. 在2D中,您可以使⽤Box Collider 2D和Circle Collider 2D 4. 单个对象可以添加任意数量的这些对撞机 , 以创建复合碰撞器。 5. 通过仔细的定位和调整⼤⼩,复合碰撞器通常可以很好地逼近对象的形状,同时保持较低的处理器开 销。 6. 通过在⼦对象上增加碰撞器可以获得更多的灵活性(例如,盒⼦可以相对于⽗对象的局部轴线旋转) 7. 当创建这样的复合对撞机时,应该只有⼀个Rigidbody刚体组件放置在层次结构中的根对象上。 请注意,原始碰撞器在transform变换中⽆法正常⼯作 - 这意味着如果在transform转换层次结构中使⽤旋转和⾮均匀尺度的组合, 以使⽣成的形状不再匹配原始形状,则原始对撞机不会能够正确地表⽰它。 然⽽,在某些情况下,甚⾄复合对撞机也不够准确。 在3D中,您可以使⽤Mesh Colliders ⽹格碰撞器来精确匹配对象⽹格的形状。 在2D中,多边形对撞机2D通常不会完美匹配sprite图形的形状, 但您可以将形状细化到任何您喜欢的细节⽔平。 然⽽,这些对撞机的处理器密度要⽐原始类型多得多,所以请谨慎使⽤它们来保持良好的性能 此外,⽹格碰撞机通常不能与另⼀个⽹格碰撞机碰撞(即,当它们接触时不会发⽣任何事情)。 在某些情况下,您可以通过在检查器中将⽹格对撞机标记为凸⾯来解决此问题. 这将产⽣⼀个像“原始⽹格”⼀样的“凸包”的对撞形状,其中填充有任何底切. 这样做的好处是,⼀个凸起的⽹格对撞机可以与其他⽹格对撞机相撞, 这样您就可以使⽤这个特征当您具有适合形状的移动⾓⾊时。 然⽽,⼀个很好的⼀般规则是使⽤⽹格碰撞器进⾏场景⼏何,并使⽤复合原语对撞机近似移动对象的形 状。 1. 可以将对⾓线添加到没有Rigidbody组件的对象上,以创建场景的楼层,墙壁和其他不动的元素。 这些被称为静态对照。 ⼀般来说,您不应该通过更改“变换”位置重新定位静态对齐框架,因为这将严重影响物理引擎的性能。 ⼀个对象上对撞机确实具有刚体被称为动态撞机。 静态对撞机可以与动态碰撞器进⾏交互,但是由于它们没有刚体,所以它们不会响应碰撞⽽移动。 没有刚体的对撞机碰撞时不会发⽣移动 物理材料 Physics materials 1. 当碰撞者相互作⽤时,他们的表⾯需要模拟他们应该表⽰的材料的属性 2. 例如,⼀⽚冰将会滑动,⽽橡胶球会提供⼤量的摩擦⼒并且⾮常有弹性。 获得正确的参数可能涉及到⼀些尝试和错误,但冰材料, 例如将具有零(或⾮常低)的摩擦⼒和具有⾼摩擦⼒和接近完美的波峰的橡胶材料。 触发器 Triggers 触发器: 检测对象何时发⽣碰撞. 触发器只是碰撞器⾝上的⼀个属性,碰撞器是触发器的载体。 1. 脚本系统可以检测何时发⽣碰撞冲突,并使⽤该OnCollisionEnter功能启动操作 2. 也可以简单地使⽤物理引擎来检测何时⼀个对撞机进⼊另⼀个的空间⽽不产⽣碰撞冲突 3. 配置为触发器的对撞机(使⽤Is Trigger属性)不表现为固体对象,只允许其他碰撞器通过。 4. 当碰撞器进⼊其空间时,触发器将调⽤OnTriggerEnter触发器对象的脚本上的函数。 碰撞时采取的脚本动作 Script actions taken on collision 1. 当发⽣碰撞时,物理引擎会在附加到所涉及对象的任何脚本上调⽤具有特定名称的功能。 2. 可以在这些功能中放置任何您喜欢的代码来应对碰撞事件。 3. 例如,当汽车碰到障碍物时,您可能会发⽣碰撞⾳效。 1. 在检测到碰撞的第

文档评论(0)

139****1921 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档