C# Unity 不显示 Debug.Log() 控制台
C# Unity not displaying Debug.Log() console
我正在编写一个脚本来显示一个物体与障碍物之间的碰撞。代码运行但不在控制台内输出。我做错了什么吗?
using UnityEngine;
public class collision : MonoBehaviour{
void OnConllisionEnter (Collision collisionInfo)
{
if(collisionInfo.collider.tag == "Obstacle")
{
Debug.Log("We Hit an obstacle!");
}
}
}
我为对象添加了一个标签,因为我将添加更多障碍来简化流程。我检查了分号和任何其他对我来说很明显的错误。我不确定我应该更改什么,或者我是否遗漏了什么。
你实际上在方法名称中有错字
// Here
// |
// v
void OnConllisionEnter (Collision collisionInfo)
代码应该是
using UnityEngine;
public class collision : MonoBehaviour{
void OnCollisionEnter (Collision collisionInfo)
{
if(collisionInfo.collider.tag == "Obstacle")
{
Debug.Log("We Hit an obstacle!");
}
}
}
使用 OnConllisionEnter 时,请检查您的碰撞器组件以确保未选中 [Is Trigger] 标志
Collider Component, Is Trigger Flag
此外,请记住,两个对象都必须附加一个碰撞器组件,并且只有其中一个需要附加一个刚体组件(两者都必须匹配正确的世界 space,即 2D/3D 刚体和对撞机。
关于碰撞的更多信息:
https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html
我正在编写一个脚本来显示一个物体与障碍物之间的碰撞。代码运行但不在控制台内输出。我做错了什么吗?
using UnityEngine;
public class collision : MonoBehaviour{
void OnConllisionEnter (Collision collisionInfo)
{
if(collisionInfo.collider.tag == "Obstacle")
{
Debug.Log("We Hit an obstacle!");
}
}
}
我为对象添加了一个标签,因为我将添加更多障碍来简化流程。我检查了分号和任何其他对我来说很明显的错误。我不确定我应该更改什么,或者我是否遗漏了什么。
你实际上在方法名称中有错字
// Here
// |
// v
void OnConllisionEnter (Collision collisionInfo)
代码应该是
using UnityEngine;
public class collision : MonoBehaviour{
void OnCollisionEnter (Collision collisionInfo)
{
if(collisionInfo.collider.tag == "Obstacle")
{
Debug.Log("We Hit an obstacle!");
}
}
}
使用 OnConllisionEnter 时,请检查您的碰撞器组件以确保未选中 [Is Trigger] 标志 Collider Component, Is Trigger Flag
此外,请记住,两个对象都必须附加一个碰撞器组件,并且只有其中一个需要附加一个刚体组件(两者都必须匹配正确的世界 space,即 2D/3D 刚体和对撞机。
关于碰撞的更多信息: https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html