在高级中我想说如果这是一个非常简单的问题和一个简单的答案,我道歉,因为我刚刚进入编程。基本上,我正在尝试创建一个名为蓝色的块的脚本(图片下面)与FPSController碰撞,会被破坏,这是我的脚本:
using UnityEngine;
using System.Collections;
public class Cube : MonoBehaviour {
void OnCollisionEnter (Collision col) {
if(col.gameObject.name == "Blue") {
Destroy(col.gameObject);
print ("collison detected");
}
}
}
由于某种原因,只要fps控制器与被称为“Blue”的对象发生碰撞就没有任何反应,print()函数不会被触发,也不会是destroy()函数
谢谢你提出;)
答案 0 :(得分:0)
Rigidbody`。
1 。将Rigidbody
组件附加到两个多维数据集。
2 。另外,将两个立方体Rigidbody
设置为Is-kinematic。您必须将两个立方体Rigidbody
设置为Is-kinematic,以便角色控制器无法移动它。请注意,如果您的多维数据集在添加Rigidbody
后崩溃,只需在Use Graivty
上停用Rigidbody
。
重要的:
3 。删除FPSController
。由于您将与其他Rigidbody
游戏对象进行交互,因此请使用RigidBodyFPSController
。它可以在Assets\Standard Assets\Characters\FirstPersonCharacter\Prefabs
中找到。将RigidBodyFPSController
拖到场景中,然后将Cube脚本附加到它。
您会注意到Rigidbody
附加了RigidBodyFPSController
。 不要修改它的设置。
就是这样。一切都应该按预期工作。
Cube
设置:
RigidBodyFPSController
设置: