1.Edit Colloder:手动编辑Collider
2.Is Trigger:是否为触发器
3.Material:材质
4.Center:碰撞器的中心点,相对于物体的自身坐标
5.Size:碰撞器的大小
1.Edit Colloder:手动编辑Collider
2.Is Trigger:是否为触发器
3.Material:材质
4.Center:碰撞器的中心点,相对于物体的自身坐标
5.Radius:碰撞器的半径大小
1.Edit Colloder:手动编辑Collider
2.Is Trigger:是否为触发器
3.Material:材质
4.Center:碰撞器的中心点,相对于物体的自身坐标
5.Radius:碰撞器的半径大小
6.Height:圆柱体高度
7.Direction:方向
1.Convex:凸面体,勾选后物体的碰撞体凹凸不平的地方都将被填平
2.Is Trigger:是否为触发器
3.Cooking Options:烘焙选项
4.Material:材质
5.Mesh:选择网格
首先,要想实现物体间的碰撞效果则需要一个必要条件:一刚二碰
两个要进行碰撞的物体必须都具备碰撞体,且至少有一个物体带有钢体才可进行碰撞检测,同样,触发器作为碰撞器的一个开关(只需要把Is Trigger选项勾选即可变为触发器),也需具备如上条件才可进行触发检测。
名称 | 作用 |
---|---|
attachedRigidbody | 碰撞器附加的刚体 |
bounds | 碰撞器在世界坐标空间的边界框 |
contactOffset | 当他们的collider相差为多少距离的时候开始检测碰撞(触发器修改这个值无效) |
enabled | bool型,启用碰撞器将会碰撞其他碰撞器,禁用碰撞器就不会碰撞其他碰撞器 |
isTrigger | 是否开启触发器 |
material | 材质 |
sharedMaterial | 共享材质 |
名称 | 方法 |
---|---|
OnCollisionEnter(Collision collision) | 碰撞开始⼀瞬间时调⽤⼀次 |
OnCollisionExit(Collision collision) | 碰撞分离⼀瞬间时调⽤ |
OnCollisionStay(Collision collision) | 碰撞过程中相对运动时持续调⽤,每帧⼀次 |
OnTriggerEnter(Collider other) | 进⼊触发器的时候调⽤⼀次 |
OnTriggerExit(Collider other) | 退出触发器的时候调⽤⼀次 |
OnTriggerStay(Collider other) | 处于某个触发器之中的时候持续调⽤,每帧⼀次 |
ClosestPoint(Vector3 position) | 返回对撞机上最接近给定位置的点 |
ClosestPointOnBounds(Vector3 position) | 到附加碰撞器的边界框最近的点 |
Collider.Raycast(Ray ray, out RaycastHit hitInfo, float maxDistance)
ray 射线的起点和方向。
hitInfo 如果返回true,hitInfo则将包含有关撞到碰撞器的位置的更多信息
maxDistance 射线的最大长度。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public Collider coll;
void Start() {
coll = GetComponent<Collider>();
}
void Update() {
if (Input.GetMouseButtonDown(0)) {
//ScreenPointToRay将屏幕上的⼀个点转换成射线
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (coll.Raycast(ray, out hit, 100.0F))
transform.position = ray.GetPoint(100.0F);
}
}
}
名称 | 作用 |
---|---|
direction | 射线的方向 |
origin | 射线的起点 |
Ray.GetPoint(float distance); 返回distance沿射线单位的点
名称 | 作用 |
---|---|
barycentricCoordinate | 所碰到的三角形的重心坐标 |
collider | 碰到的碰撞器,如果什么也没有碰到,此属性为null |
distance | 从射线的原点到撞击点的距离 |
lightmapCoord | 光照图坐标 |
normal | 射线所碰到的表面的法线 |
point | 在世界空间中,射线碰到碰撞器的碰撞点 |
rigidbody | 射线碰到碰撞器的刚体,如果什么也没有碰到,此属性为null |
textureCoord | 在碰撞点的UV纹理坐标 |
textureCoord2 | 碰撞点的第二个UV纹理坐标 |
transform | 碰到的刚体或碰撞器的变换 |
triangleIndex | 三角形索引 |
Physics.Raycast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
origin 射线在世界坐标中的起点。
direction 射线的方向。
maxDistance 射线应检查碰撞的最大距离。
layerMask 一种图层蒙版,用于在投射射线时有选择地忽略“碰撞器”。
queryTriggerInteraction 指定此查询是否应命中触发器。
Physics.Raycast 发射物理射线,返回⼀个碰撞检测对象RaycastHitbool值
——————————————————————————————————————
——————————————————————————————————————
Physics.RaycastAll(Ray ray, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
ray 射线的起点和方向
maxDistance 射线应检查碰撞的最大距离.
layerMask 一种图层蒙版,用于在投射射线时有选择地忽略“碰撞器”
queryTriggerInteraction 指定此查询是否应命中触发器.
RaycastHit [] HitAll = Physics.RaycastAll;发射物理射线,返回所有碰撞检测对象
——————————————————————————————————————
——————————————————————————————————————
Physics.Linecast(Vector3 start, Vector3 end, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
start 起点
end 终点
layerMask 一种图层蒙版,用于在投射射线时有选择地忽略“碰撞器”
queryTriggerInteraction 指定此查询是否应命中触发器
Physics.Linecast 从开始位置到结束位置做一个光线投射,如果与碰撞体交互,返回真
名称 | 作用 |
---|---|
UseGlobal | 查询使用全局Physics.queriesHitTriggers设置 |
Ignore | 查询从不报告触发器命中 |
Collide | 查询总是报告触发器命中 |
文章浏览阅读601次。为增进大家对内存的认识,本文将为大家介绍高频率内存的优势。此外,小编还将对虚拟内存加以探讨。我们每天都在同内存打交道,但大家对内存真的了解吗?上篇文章中,我们对服务器内存以及服务器内存技术有所介绍,为增进大家对内存的认识,本文将为大家介绍高频率内存的优势。此外,小编还将对虚拟内存加以探讨。如果你对内存及其相关知识具有兴趣,不妨继续往下阅读哦。一、高频率内存优势由于决定内存性能的核心因素有内存容量、..._服务器内存频率高有什么好处
文章浏览阅读3.6k次,点赞4次,收藏8次。报错内容:解决办法:给组件传入force-use-old-canvas="true"就可以在真机调试里展示了。重点:发布线上时,一定要将这句去掉,现在只是不支持真机调试,线上是可以使用的。重点:发布线上时,一定要将这句去掉,现在只是不支持真机调试,线上是可以使用的。重点:发布线上时,一定要将这句去掉,现在只是不支持真机调试,线上是可以使用的。<view style="width:..._html canvas is not defined
文章浏览阅读457次。计算机第一章计算机基础知识多项选择题(有两个或两个以上正确答案)1、下列说法中,正确的是________。A、一个汉字用1个字节表示 B、在微机中,使用最普遍的字符编码是ASCII码C、高级语言程序可以编译为目标程序 D、ASCII码的最高位用作奇偶校验位2、文件型(外壳型)计算机病毒主要感染扩展名为________。A、COM B、BAT C、EXE D、DOC3、..._达成某一任务的指令的会合称为语言
文章浏览阅读232次。说明SceneKit系列文章目录更多iOS相关知识查看github上WeekWeekUpProject本教程将包含以下内容:在SceneKit编辑器中建立基本的3D场景.编程加载并呈现3D场景.建立仿真物理,如何应用力.通过触摸与3D场景中的物体交互.设计并实现基本的碰撞检测.开始开始前,先下载初始项目starter project打开项目,简单查看一下里面都有些..._can knockdown1下载
文章浏览阅读1.3k次。材质和Unity Shader在unity中,需要配合使用材质Material和Unity Shader才能达到需要的效果流程创建一个材质→创建一个Unity Shader,并把它赋给上一步中创建的材质→把材质赋给要渲染的对象→在材质面板中调整Unity Shader的属性,以得到满意的效果Unity中的材质Unity中的材质需要配合一个GameObject的Mesh或者Particle Systen组件来工作,它决定了我们的游戏对象看起来是什么样子的Unity中的Shader为了和前面通用的_unity的扩展sprites的shader
文章浏览阅读3.6k次。最新的Hystrix 依赖都是隶属于netfix下,这样@HystrixCommand 和@EnableHystrixDashboard 才能使用<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netf..._hystrix最新依赖
文章浏览阅读844次。一、QTextCodecQTextCodec类提供了文本编码转换功能。指定字符集对文本进行转换。1.Qt程序中所有要显示到界面上的字符串最好都是用tr()函数;代码如下(示例):QTextCodec::setCoderForTr(QTextCodec::codecForName("UTF-8"));QLabel label;label.setText(QObject::tr("你好,世界!"));2.对于不是要显示到界面上的字符串中如果包含了中文,可以使用QString()进行编码转换。代_qt 将txt文件转换成字符串
文章浏览阅读2k次。error: failed to push some refs to 'https://gitee.com/liyue25/test.git'To https://gitee.com/liyue25/test.githint: Updates were rejected because the remote contains work that you dohint: not have locally. This is usually caused by another repository push_the breanch to pull from should be selected
文章浏览阅读94次。写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充。写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1。写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串。编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串。写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束。写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母。._写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右
文章浏览阅读1.3k次。spring自定义全局异常背景学习目标案列背景在springmvc的controller中程序员经常要封装错误对象返回错误,前端显示错误文案。通过spring的异常处理器,来进行自定义异常处理学习目标学习全局异常拦截器处理controller所有的异常的返回封装定义枚举异常码,设计自定义异常案列创建枚举异常码,定义系统异常情况/** * @author tianjz */..._18jzz大全
文章浏览阅读95次。越来越多的人搞爬虫,设计到多线程爬取, 还有一些机器学习的一些模块也需要这玩意, 感觉自己不会逼格不高. 抽时间赶紧玩一玩这东西, 希望提高对软件的认知和归属感,不要太傻.cpu内部架构参考你知道CPU是如何工作的?-视频CPU核心越多越好?你的CPU可能正在养老!你真的了解多核处理器吗?1.双核≠双性能多核不一定会使你的手机或电脑速度更快,但它将提高你的PC的整体性能,这是一个...
文章浏览阅读2k次,点赞5次,收藏18次。本篇博客介绍如何利用XBee模块实现QGC地面站与飞控的通信_xbee实现多机控制