【发布时间】:2018-07-19 20:11:28
【问题描述】:
我试图让第一人称控制器与立方体发生碰撞。立方体和控制器都应用了刚体,Is Kinematic 设置为 false,它们在物理上发生碰撞,但没有调用我的函数。 (我已经包含了我们尝试使用的所有功能。)
我将第二个多维数据集配置为触发器,它可以工作。我的讲师和我自己都不知道为什么它不起作用。
应用于多维数据集的代码如下:
var green : Material;
function OnControllerColliderHit () {
print("OnControllerColliderHit");
this.gameObject.renderer.material = green;
}
function OnCollisionEnter(){
print("OnCollsion");
this.gameObject.renderer.material = green;
}
function OnCollisionStay(){
print("OnCollsionStay");
this.gameObject.renderer.material = green;
}
function OnTriggerEnter(){
print("OnTriggerEnter");
this.gameObject.renderer.material = green;
}
这是我的项目设置的屏幕截图:http://i.stack.imgur.com/Y4HED.png
另外,我在 Windows 版本的 unity 中遇到了这个问题,我已经创建了一个新项目来解决这两个问题。
** 编辑: ** 我忘了提到如果立方体撞到其他任何东西(例如打开立方体重力时的平面),就会调用函数,这让我相信那里是我从第一人称控制器中缺少的东西。
【问题讨论】:
标签: collision-detection unity3d