1.
With careful positioning and sizing, compound colliders can often approximate the shape of an object quite well
while keeping a low processor overhead. Further flexibility can be gained by having additional colliders on child objects
(eg, boxes can be rotated relative to the local axes of the parent object).When creating a compound collider like this,
there should only be one Rigidbody component, placed on the root object in the hierarchy.
如果通过子object达成组合式碰撞盒,刚体组件只能挂到根object上。
2.
In 3D, you can use Mesh Colliders to match the shape of the object’s mesh exactly.(当组合碰撞盒不好拼时用mesh colliders)
a good general rule is to use mesh colliders for scene geometry and approximate the shape of moving objects using compound primitive colliders.
mesh collider主要用来做场景碰撞盒,游戏中移动的实体应该用组合碰撞盒(其实一个胶囊体碰撞盒也差不多了)
3.
Colliders on an object that does have a Rigidbody are known as dynamic colliders.
Static colliders can interact with dynamic colliders but since they don’t have a Rigidbody, they will not move in response to collisions.
带刚体组件的碰撞体是动态碰撞体,不带是静态碰撞体,静态的可以被碰,但不会动,相当于一堵墙。动态的被碰会动。而如果一个刚体不带碰撞盒,则它不会与其他带碰撞体发生碰撞,简单讲,刚体是一个物体,加碰撞盒是给这个刚体能和其他碰撞盒进行交互,必须2组件都有的物体才能正常进入“物理世界”:没有碰撞盒则无法和其他物体交互,没有刚体的碰撞盒是静态的,算不上一个物理世界的物体,就像大地。
4.
Physics materials:一个physics object在碰撞时由于不同表面属性而不同表现,比如冰面很滑,橡皮很有弹性,这些都可以通过Physics materials设置。
一般每个Collider都有一个Material参数设置Physics materials。
5.
OnCollisionEnter 和 OnTriggerEnter 【需要测试一下rigidbody组件的影响】
Collider发生碰撞时,产生一个碰撞,并且挂在这个碰撞体的脚本的OnCollisionEnter将被调用:OnCollisionEnter (collisionInfo : Collision)
(在这个函数如果你不使用collisionInfo,删去collisionInfo参数以避免不必要的计算。注意,当其中至少一个碰撞盒附加非动力学刚体时碰撞事件才会发送)
如果这个Collider被设置为trigger:勾选Is Trigger,不产生碰撞,只调用OnTriggerEnter (other : Collider)
(注意,当其中至少一个碰撞盒附加刚体时trigger事件才会发送)

With normal, non-trigger collisions, there is an additional detail that at least one of the objects involved
must have a non-kinematic Rigidbody (ie, Is Kinematic must be switched off).
If both objects are kinematic Rigidbodies then OnCollisionEnter, etc, will not be called.
With trigger collisions, this restriction doesn’t apply.
(当其中至少一个碰撞盒附加非动力学刚体时碰撞事件才会发送)

测试发现,不带Rigidbody组件的碰撞盒可以算静态的,碰别人有问题,被碰一动不动;
带Kinematic rigidbody碰撞盒顾名思义必须来自自身的力量才能让它动,比如代码控制,碰别人正常,被碰一动不动(因为这是物理世界的力量)
带关闭Kinematic的rigidbody碰撞盒,物理世界的碰撞盒,也可以代码一起控制,碰别人正常,被碰就动。
官方文档说,不带rigidbody的碰撞体,千万不要让它动,会有问题的的。要动就用挂个Kinematic rigidbody

A Rigidbody component can be switched between normal and kinematic behavior at any time using the IsKinematic property.
(IsKinematic开关可以随时关闭开启,这里有一个重要应用就是“布娃娃系统”,正常行走开启,被抓起来扔出去或遇到剧烈碰撞就关闭
四肢都各自挂rigidbody组件,平时开IsKinematic,正常播动画,被踢飞出去等则关闭IsKinematic,让四肢表现得真实点)

unity physics相关的更多相关文章

  1. Unity UI相关总结

    UIGrid 加载面板时,如果面板中含有大容量的 UIGrid,可能会很卡.我们可以只加载 UIGrid 的前 n 个单元格对象,在显示面板之后,利用协程加载剩余的所有单元格,每帧加载 m 个. 同样 ...

  2. unity开发相关环境(vs、MonoDevelop)windows平台编码问题

    情景描述:最近在做Unity的网络底层,用VS编写源码,MonoDevelop用来Debug,在Flash Builder上搭建的Python做协议生成器,期间有无数次Unity莫名奇妙的的down掉 ...

  3. (转)unity开发相关环境(vs、MonoDevelop)windows平台编码问题

    转自: http://www.cnblogs.com/sevenyuan/archive/2012/12/06/2805114.html 1.unity会爆出错误: There are inconsi ...

  4. [Unity Physics]Physics - Rigidbody、Collider

    什么是Collider 碰撞器组件在Unity引擎中触发物理碰撞的最基本的条件. 可以这样说,假如一个游戏中没有物理碰撞系统是不可能的. 什么是Rigidbody 通过物理模拟的控制对象的位置. Ri ...

  5. [Unity Physics] Physics - Raycast

    Class Variables类变量 gravity The gravity applied to all rigid bodies in the scene.场景中应用到所有刚性物体的重力. min ...

  6. Unity引擎相关知识UnityKnowledgeHyperlink

    请简述Unity中的四种坐标系 http://liuqingwen.me/blog/2017/07/31/understanding-coordinate-system-in-unity3d/

  7. unity physics joint

    除了unity文档(有点儿过于简略)之外,可以参考一下PhysX文档: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/ ...

  8. Unity调试相关

    1.LOG处理 将所有LOG信息写入到文件,并设置部分LOG显示到屏幕上,总结成以下脚本,将其挂载在摄像机上即可. using UnityEngine; using System.Collection ...

  9. Unity中Mesh分解与边缘高亮加上深度检测

    一个比较简单的需求,不过遇到些坑,记录下. 房间有多个模型,每个模型可能多个SubMesh,点击后,需要能具体到是那个SubMesh,并且在这个SubMesh上显示边缘高光,以及能个性这单个SubMe ...

随机推荐

  1. Java自学-JDBC 数据库连接池

    数据库连接池 与线程池类似的,数据库也有一个数据库连接池. 不过他们的实现思路是不一样的. 本章节讲解了自定义数据库连接池类:ConnectionPool,虽然不是很完善和健壮,但是足以帮助大家理解C ...

  2. Android Studio--家庭记账本(二)

    家庭记账本APP目前实现了记账功能,也就是说增加功能,今天打算添加删除功能,参考着增加的代码研究,从网上查阅资料,打算实现左滑删除功能,目前学到了xml里面的HorizontalScrollView布 ...

  3. Python基础教程,流程控制语句详解

    1.程序结构 计算机在解决问题时,分别是顺序执行所有语句.选择执行部分语句.循环执行部分语句,分别是:顺序结构.选择结构.循环结构.如下图: 很多人学习python,不知道从何学起.很多人学习pyth ...

  4. Linux学习笔记之如何把ubuntu下的c文件共享到windows下文件夹

    1.首先可在桌面新建文件夹,或者自己任意路径文件夹都可以, 2.在Linux下点击虚拟机 点击设置 点击选项,选择共享文件夹,点击总是启用,然后添加文件夹,添加你windows下想保存的文件夹   可 ...

  5. Docker 快速搭建 MySQL8 开发环境

    使用 Docker 快速搭建一个 MySQL8 开发环境 步骤 获取镜像 docker pull mysql:8 启动容器,密码 123456,映射 3306 端口 docker run --name ...

  6. 通过java程序(JSch)运行远程linux主机上的shell脚本

    如果您看完文章之后,觉得对您有帮助,请帮我点个赞,您的支持是我不竭的创作动力! 如果您看完文章之后,觉得对您有帮助,请帮我点个赞,您的支持是我不竭的创作动力! 如果您看完文章之后,觉得对您有帮助,请帮 ...

  7. C#设计模式之17-中介者模式

    中介者模式(Mediator Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/419 访问. 中介者模式 ...

  8. 设计模式:桥接模式及代码示例、桥接模式在jdbc中的体现、注意事项

    0.背景 加入一个手机分为多种款式,不同款式分为不同品牌.这些详细分类下分别进行操作. 如果传统做法,需要将手机,分为不同的子类,再继续分,基本属于一个庞大的多叉树,然后每个叶子节点进行相同名称.但是 ...

  9. 阿里天池 NLP 入门赛 TextCNN 方案代码详细注释和流程讲解

    thumbnail: https://image.zhangxiann.com/jung-ho-park-HbnqEhMBpPM-unsplash.jpg toc: true date: 2020/8 ...

  10. 已废弃_CSDN慕零的黑夜-头条-第一期(必问)[导读:]1.CSDN必问赏金流向何方 2.CSDN必问偷偷做的手脚 3.CSDN必问靠谱吗 4.关于钱于回答的平衡问题:一美元拍卖骗局qq3461896724

    [本文有已知的链接差错,懒得改了] 本期是关于CSDN 必问 (biwen.csdn.net)的内容,欢迎评论文末,文中插入有 小姐姐 img(附py代码,1.49G) + coding资料 哟~~~ ...