【发布时间】:2019-07-19 14:51:52
【问题描述】:
我有一个僵尸游戏对象和一个塔游戏对象。 我尝试了很多方法来让敌人面对塔内嵌套对象的位置,但没有任何效果。
我已经尝试过使用 Mathf.Acos 没有效果。 我得到的最接近的是使用此代码; 但它仍然稍微模糊了预期的方向,我还没有找到模式。
Vector2 direction = centralTower.transform.position + centralTower.transform.parent.transform.position - gameObject.transform.position;
transform.up = direction;
gameObject.transform.position += transform.up;
我知道第一行看起来像一口但基本上可以简化成这样
方向 = (TowerPosition + TowerChild(attakcingPoint)Position) - 敌人位置
顺便说一句:中心塔变量指的是攻击点
我真的不知道发生了什么,而且我已经研究了好几天的角度,但没有任何效果。
【问题讨论】:
-
你试过LookAt方法了吗?
gameObject.LookAt(centralTower, Vector3.up);之类的东西? -
是否可以在 2d 环境中使用 lookat 方法,因为当我使用它时,我的变换值只是在整个地方翻转
-
我想,但我还没有尝试。为第二个参数尝试不同的值
-
@Procode238 为什么要将两个绝对位置加在一起?当您说
TowerPosition + TowerChild(attakcingPoint)Position时,您能否提供有关您要计算的内容的更多信息?你确定你的意思不是direction = centralTower.transform.position - transform.position让敌人指向centralTower 的变换吗? -
抱歉给您带来了困惑。我有一个嵌套在塔位置内的对象,称为attackingPoint。我会使用attackingPoint Position,除了它的位置是相对于它的父级的。所以我添加了塔的位置和攻击点的位置来得到攻击点相对于层次结构的位置