【问题标题】:Detect object direction检测物体方向
【发布时间】:2020-08-30 17:05:34
【问题描述】:

我需要帮助来检测我的游戏对象所面向的方向。我的游戏对象是一个立方体,它从 Y 轴 0 开始向前看(蓝色箭​​头指向前方)。玩游戏时,立方体的 Y 轴有时会旋转 90 度。然后我需要知道立方体是使用 if 语句向前、向右、向左还是向后看。示例:if (cube looks right, left, back or forward){ //Do something ... }

顺便说一句,立方体可以旋转,使得 Y 轴为 +something 和 -something。

我希望我清楚,请问我是否清楚,谢谢! :)

【问题讨论】:

  • 欢迎来到堆栈溢出,也请分享您的代码,以帮助我们了解您到目前为止所做的事情。否则很难回答你的问题。如果您想编辑您的帖子并使其变得更好,请参考this link
  • 你的对象没有速度属性吗?

标签: c# unity3d


【解决方案1】:

您可以使用他的旋转来检测 3d 对象指向,这是我制作的代码

 if(gameObject.transform.rotation.y <= 45 && gameObject.transform.rotation.y >= -45)
{
//whatever code when this 3d cuberube pointed forward
}

 if(gameObject.transform.rotation.y <= 145 && gameObject.transform.rotation.y >= 45)
{
//whatever code when this 3d cuberube pointed left
}


 if(gameObject.transform.rotation.y >= -145 && gameObject.transform.rotation.y <= -45)
{
//whatever code when this 3d cuberube pointed right
}



 if(gameObject.transform.rotation.y > 145 && gameObject.transform.rotation.y < -145)
{
//whatever code when this 3d cuberube pointed back
}

请记住,此代码仅在您指的是 3d 对象主体指向时才可用, 如果您需要一个依赖于您的相机(而不是对象主体)的对象的指向,那么该代码将无济于事。

静下心来,Artyom!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2021-04-10
    相关资源
    最近更新 更多