U3D physics总结
物理系统基于collider, 没有collider的物体不会发生任何主动和被动的物理交互,也不会产生trigger相关消息。
当且仅当A和B都有碰撞体时,两者才有可能发生交互,才有可能产生trigger消息。
碰撞体collider分为两大类:trigger collider, 非trigger collider
trigger collider就是触发器,一个勾选了Is trigger的 collider不产生任何物理交互,只在其它collider进入其范围时触发一个OnTriggerEnter消息,停留其间触发OnTriggerStaty消息,退出时触发OnTriggerExit消息。
Is trigger选项将会使RigidBoy组件的物理碰撞效果失效,但会受到重力的作用。
非trigger collider就是物理碰撞体。一个取消勾选Is trigger的collider就是一个物理碰撞体(这是默认选项)。
又分为两类:障碍物(或称静态碰撞体static collider,只有collider组件)和刚体(或称动态碰撞体dynamic collider,同时有collider和rigidbody组件)
static collider一般为场景中不动的障碍物,会阻挡其它碰撞体的运动但不会被推动。如果非要移动静态碰撞体则会导致物理系统额外的计算开销及不可知的错误,对游性能造成很外的影响,不要这样使用。
dynamic collider就是动态碰撞体,刚体,具有collider和rigidbody两种组件。可以碰撞其它碰撞体,也可以被碰。
刚体如果勾选了rigidbody组件的 Is kinematic属性将变为运动学刚体,这种物体与障碍物的表现有些类似,可以称为半动态碰撞体,可移动的障碍物。运动学刚体可以推动其它物体却不可以被其它物体推动。且不受重力影响。
不存在一个物体既是触发器又是是碰撞体。只能二选一。要么是trigger, 要么非trigger
总结:物理系统中物体的分类:触发器(collider组件勾选了Is Trigger),障碍物(仅有collider组件),可移动障碍物(有collider和rigidbody组件且rigidbody组件勾选了Is Kinematic),刚体(同时具有collider和rigidbody组件)
触发器不产生任何物理交互。障碍物静止不动,会阻拦其它则体运动。
可移动障物可推动其它刚体或被刚体推动,不与障碍物互动。
刚体与则体可以互动。
U3D physics总结的更多相关文章
- U3D笔记11:47 2016/11/30-15:15 2016/12/19
11:47 2016/11/30Before you can load a level you have to add it to the list of levels used in the gam ...
- u3d 地形 U3d terrain
u3d 地形 U3d terrain 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com fbx ...
- U3D面试题四
1.配置Unity3D调试环境 在windows环境下,设置unity3d的编辑器调试环境方法: 点击“Edit‘---”Preferences“,弹出如下窗口 选择MonoDeveop即可. 在编辑 ...
- u3d中的INput
属性 属性: 功能: 轴 (Axes) 包含当前工程的所有定义的输入轴:数目 (Size) 该工程中不同输入轴的数量,元素 0.1.... 是要修改的特定的轴. 名称 (Name) 在游戏启动器中以及 ...
- U3D DrawCall优化手记
在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决 现在的游戏跑起来会有接近130-170个左右的Dra ...
- 欢迎来到Joyful Physics博客
本博客主要包括以下内容: 物理课程 预计会涵盖非物理专业普通物理.物理专业普通物理.理论物理(四大力学).凝聚态物理,会特别关注软物质物理,因为博主是做软物质物理的. 软硬科普 软科普写给非专业人士. ...
- U3D学习笔记1: HelloWorld
Unity 版本: 5.3.5.f1 Hello World工程 1.新建工程 HelloWorld U3D可选2D和3D游戏 2.新建C#脚本文件 在project栏的assets目录右键-&g ...
- Physics(物理系统)
物理: Physics Box2d Unity 内置NVDIA PhysX物理引擎 刚体:要使一个物体在物理控制下,简单添加一个刚体给它.这时,物体将受重力影响,并可以与其他 ...
- 跟我从零基础学习Unity3D开发--初识U3D
首先声明,我也是才开始学,把自己学的记录下来也供一些想要学习的朋友参考,一起努力.希望大家能给我指点一下.切莫喷我. 什么是Unity3d呢? 百度百科------Unity是由Unity Techn ...
随机推荐
- Linux环境变量
本文地址:http://www.cnblogs.com/archimedes/p/linux-envionment-variables.html,转载请注明源地址. 1.什么是环境变量 bash sh ...
- Android开发--Apache服务器安装,解决Apache服务无法启动的问题
昨天学习Android XML解析的时候,想在自己的电脑上搭建一个最简单的Web服务器来存放一段XML文本,然后在Android程序中解析,查找了一些资料后,看到Apache服务器比较容易上手,使用范 ...
- jQuery点击事件绑定onClick和on()
一.静态绑定 (1)onclick方法 jsp代码 <button href="javascript:;" class="weui_btn weui_btn_min ...
- IOS中文版资源库
Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的项目则会被标记为 ▲. [转自]https://github.com/jobbole/awesome-ios-cn#librari ...
- 去除UITableView中多余的分割线或者隐藏cell间的分割线
一:去除tableView多余的分割线 首先,自定义一个方法 -(void)setExtraCellLineHidden: (UITableView *)tableView{ UIView *v ...
- redis高可用之REDIS SENTINEL
1. Redis主从配置 1.1. 设置主从复制 Master <= Salve 10.24.6.5:6379 <= 10.24.6.7:6379 1.2. 取消主从复制 1.3. ...
- C++分类
VS的ncb.pdb文件分析 在C/C++函数中使用可变参数 #pragma VS查看DLL接口 线程本地存储TLS(Thread Local Storage)的原理和实现--分类和原理
- WIN7下VPN服务器的建立 我又在给自己挖坑了。。。
先说一下为什么会有这篇文章吧,和同学们玩局域网对战游戏一般都会用各种游戏对战平台,比如浩方之类的.但是用过这类东西的人都知道,抢房间.高延迟等等问题也是很麻烦的.于是我一个同学下了个VPN软件,但是与 ...
- C中不安全函数
C 中大多数缓冲区溢出问题可以直接追溯到标准 C 库.最有害的罪魁祸首是不进行自变量检查的.有问题的字符串操作(strcpy.strcat.sprintf 和 gets).一般来讲,象“避免使用 st ...
- ipc之消息队列
消息队列以链表的方式将消息存储于内核中,调用msgsnd,msgrcv函数往消息队列里面投送,取出指定的消息. 创建一个消息队列 生成一个消息队列或者获取已有消息队列id #include <s ...