c# - Unity 3d 碰撞检测
问题描述
几个星期以来,我一直在扯头发,只是试图检测 RigidBody 和 BoxCollider 之间的碰撞,该碰撞与绑定到相机的聚光灯上,我想检测玩家何时在某物上闪烁手电筒,但是对于某些原因这不起作用。
我认为它根本没有检测到碰撞,变量“test”没有改变,控制台中什么也没有出现,我确信手电筒碰撞箱足够大,但控制台仍然没有任何迹象表明发生了任何事情,我是遵循本教程:https ://www.youtube.com/watch?v=QRp4V1JTZnM
这是我制作的简单代码:
void OnCollisionEnter(Collision col) {
if (col.gameObject.name == "Spot_Light") {
Debug.Log("detected");
test = 375;
}
}
解决方案
如果您在对撞机中标记了触发器,则不能使用OnCollisonEnter
来检测碰撞,而应使用OnTriggerEnter
。
推荐阅读
- asp.net-core-mvc - 将旧的 .NET MVC 项目包装到 .NET 核心
- javascript - DataTable Cell Update 命令仅更新第一页
- python - 在一次 python 正则表达式搜索中匹配两个互斥组
- python - HBase 插入错误:没有协议版本标头
- c# - 数据上下文和标记未正确绑定到所有 Listview 项
- python - 如何在同一行打印 tqdm 进度条?
- ionic-framework - Chartjs 和 ionic
- r - 使用 lapply 绘制标题
- quickblox-android - 在 android-Quickblox 中检查两个用户之间是否存在对话框
- .net - 为什么应用程序会使用 CSC.EXE?