问题
我正在制造一把剑,它可以“摆动”90度。这是使用统一动画完成的:

当玩家攻击时,这样的剑就会被创造出来。取决于玩家的方向,剑会在X轴或Y轴上被镜像。但是当球员向左进攻时,他会从底部和上方进攻,而不是相反。
代码
下面是我用来确定我们应该用哪种方式映射剑的代码:
void changeDirection()
{
print(Direction);
if(Direction == Entity.direction.RIGHT)
gameObject.transform.localScale = new Vector3(-1, 1, 1);
if (Direction == Entity.direction.LEFT)
{
gameObject.transform.localScale = new Vector3(1, -1, 1);
}
if (Direction == Entity.direction.DOWN)
gameObject.transform.localScale = new Vector3(-1, -1, 1);
}上面没有,因为那是默认的。
你为什么不直接旋转一下呢?
因为动画已经旋转了剑,所以不管我做什么它都会“覆盖”。至少这是我的理论。
视频问题示例
http://a.pomf.se/vgxumj.webm
发布于 2015-02-11 17:44:15
向Weapon_Swing转换中添加一个子对象,并在子对象中生成剑。这应该确保您可以将剑的localRotation设置为独立于动画。
发布于 2015-02-10 13:53:57
我会创建一个动画文件,非常肯定这就是你已经拥有的。然后将其父传递给其他GameObject。在代码中更改父游戏对象的方向。
发布于 2015-02-10 14:08:21
航向== Entity.direction.RIGHT
gameObject.transform.localRotation = Quaternion.Euler(new Vector3(90, 0, 1));
if (Direction == Entity.direction.LEFT)
{
gameObject.transform.localRotation = Quaternion.Euler(new Vector3(0, 90, 1));
}
if (Direction == Entity.direction.DOWN)
gameObject.transform.localRotation = Quaternion.Euler(new Vector3(90, 0, 1));https://stackoverflow.com/questions/28433232
复制相似问题