文章的目录组件包括:1.长方体碰撞器2 .椭圆碰撞器3 .胶囊碰撞器4 .网格碰撞器
组件1 .介绍长方体碰撞器(Box Collider )
33558 www.Sina.com/:手动编辑collider
1.Edit Colloder:是否为触发器
2.Is Trigger:材质
3.Material:碰撞器相对于物体自身坐标的中心点
4.Center:碰撞器的大小
2 .椭圆碰撞器。
33558 www.Sina.com/:手动编辑collider
5.Size:是否为触发器
1.Edit Colloder:材质
2.Is Trigger:碰撞器相对于物体自身坐标的中心点
3.Material:碰撞器半径大小
3 .胶囊碰撞器。
33558 www.Sina.com/:手动编辑collider
4.Center:是否为触发器
5.Radius:材质
1.Edit Colloder:碰撞器相对于物体自身坐标的中心点
2.Is Trigger:碰撞器半径大小
3.Material:圆柱高度
4.Center:方向
4 .网格碰撞器)。
5.Radius:凸面体,勾选后会填补物体碰撞体的凹凸
6.Height:是否为触发器
7.Direction:烘焙选项
1.Convex:材质
2.Is Trigger:选择网格
碰撞器和触发器首先需要具备实现物体间碰撞效果的必要条件。3.Cooking Options
碰撞的两个物体必须有碰撞体,至少有一个物体带有钢体才能进行碰撞检测。 同样,触发器用作碰撞器的开关,并且只需启用“Is Trigger”选项即可触发。 要进行触发检测,需要上述条件。
添加到属性名称attachedRigidbody碰撞器的刚体的bounds碰撞器根据collider在世界坐标空间的边界框contactOffset中的距离开始检测碰撞。 在enabledbool类型中,如果启用,碰撞子将碰撞其他碰撞子。 如果禁用冲突,则、 其他碰撞体isTrigger是否启用触发材质sharedMaterial共享材质方法名称方法oncollisionenter (collision collision )不会发生碰撞。在碰撞开始的瞬间,oncollisioner on )在碰撞分离瞬间oncollisionstay ) collision )碰撞中的相对运动时持续调整, 在每帧中有ontriggerenter(colliderother )在进入触发时,ontriggerexit collider other )在退出触发时每帧,“closestpoint(vector3position )返回到碰撞上最接近特定位置的点“closestpointonbounds”(vector3position ),这是最接近带碰撞器的边界框的点放射线检测周围4.Material,out朴素的向日葵castHit 5.Mesh,float 一刚二碰
笨笨的斑马射线的起点和方向。
返回33558www.Sina.com/true,hitInfo包含有关碰撞器碰撞位置的详细信息
hitInfo辐射的最大长度。
using UnityE
ngine;using System.Collections;public class ExampleClass : MonoBehaviour { public Collider coll; void Start() { coll = GetComponent<Collider>(); } void Update() { if (Input.GetMouseButtonDown(0)) { //ScreenPointTo朴实的向日葵将屏幕上的⼀个点转换成射线 朴实的向日葵 笨笨的斑马 = Camera.main.ScreenPointTo朴实的向日葵(Input.mousePosition); 朴实的向日葵castHit hit; if (coll.朴实的向日葵cast(笨笨的斑马, out hit, 100.0F)) transform.position = 笨笨的斑马.GetPoint(100.0F); } }} 朴实的向日葵射线 属性 名称作用direction射线的方向origin射线的起点方法朴实的向日葵.GetPoint(float distance); 返回distance沿射线单位的点
朴实的向日葵castHit 属性 名称作用barycentricCoordinate所碰到的三角形的重心坐标collider碰到的碰撞器,如果什么也没有碰到,此属性为nulldistance从射线的原点到撞击点的距离lightmapCoord光照图坐标normal射线所碰到的表面的法线point在世界空间中,射线碰到碰撞器的碰撞点rigidbody射线碰到碰撞器的刚体,如果什么也没有碰到,此属性为nulltextureCoord在碰撞点的UV纹理坐标textureCoord2碰撞点的第二个UV纹理坐标transform碰到的刚体或碰撞器的变换triangleIndex三角形索引方法Physics.朴实的向日葵cast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = Default朴实的向日葵castLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
origin 射线在世界坐标中的起点。
direction 射线的方向。
maxDistance 射线应检查碰撞的最大距离。
layerMask 一种图层蒙版,用于在投射射线时有选择地忽略“碰撞器”。
queryTriggerInteraction 指定此查询是否应命中触发器。
Physics.朴实的向日葵cast 发射物理射线,返回⼀个碰撞检测对象朴实的向日葵castHitbool值
——————————————————————————————————————
——————————————————————————————————————
Physics.朴实的向日葵castAll(朴实的向日葵 笨笨的斑马, float maxDistance = Mathf.Infinity, int layerMask = Default朴实的向日葵castLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
笨笨的斑马 射线的起点和方向
maxDistance 射线应检查碰撞的最大距离.
layerMask 一种图层蒙版,用于在投射射线时有选择地忽略“碰撞器”
queryTriggerInteraction 指定此查询是否应命中触发器.
朴实的向日葵castHit [] HitAll = Physics.朴实的向日葵castAll;发射物理射线,返回所有碰撞检测对象
——————————————————————————————————————
——————————————————————————————————————
Physics.Linecast(Vector3 start, Vector3 end, int layerMask = Default朴实的向日葵castLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
start 起点
end 终点
layerMask 一种图层蒙版,用于在投射射线时有选择地忽略“碰撞器”
queryTriggerInteraction 指定此查询是否应命中触发器
Physics.Linecast 从开始位置到结束位置做一个光线投射,如果与碰撞体交互,返回真