unity 碰撞和检测的区别

 我来答
野人无事不言L
2017-02-14 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:144.8亿
展开全部
上面这个老外用的是 OnControllerColliderHit(),这个是用于角色碰撞的,物体如果附加了Charactor Controller(Unity自带的用于角色控制的脚本)则使用这个函数检测碰撞,这是不需要加刚体的。一般的刚体之间碰撞使用OnCollisionEnter(),范围触发用OnTriggerEnter(),如果你是让两个CUBE碰撞,请确保其中一个附加了RigidBody,然后这样写(我用C#):
void OnCollisionEnter(Collision collision)
{
Debug.Log("You touch me");
}
collision是个变量,通过它可以获得你所碰撞的目标的属性以及碰撞点信息和相对速度,如:
collision.collider.某个组件或脚本。
void OnCollisionEnter(Collision collision)
{
if(collision.collider.tag=="enemy")//tag是物体的标签,相当于物体的类别名称。在每一个物体的组件栏(也就是加脚本的那个区域)的最上面可以找到,默认的是UnTagged,也就是没有标签,你找找,然后点击会出现一个下拉列表,默认的已有几个Tag,你也可以加自定义的,点击下拉列表最下方的Add Tag就可以加Tag,最后选择一个Tag作为物体的名称就可以了。
{
Destroy(collision.collider.gameObject);//如果检测到对方是敌人,则消灭对方。
}
}
VSH艾羽
2024-10-27 广告
ANSYS软件具有多种有限元分析的能力,包括从简单线性静态分析到复杂的非线性瞬态动力学分析。在进行任何分析之前,确保已经正确建立了有限元模型,并定义了单元类型、单元实常数、材料特性和几何模型等关键参数。详细模型以及参数可以咨询上海艾羽信息科... 点击进入详情页
本回答由VSH艾羽提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式