【问题标题】:Animating Object not moving towards player - Unity动画对象不向玩家移动 - Unity
【发布时间】:2016-08-13 08:22:33
【问题描述】:

我有一个敌人,它附加了一个动画组件,在这个组件中我附加了“动画剪辑”,它是行走动画,在这个行走动画中,模型(敌人)没有移动(平移)。所以我决定创建一个脚本,让敌人可以向玩家走来。

我创建了一个脚本。

void Update () {

        transform.LookAt(player);
        transform.position -= Vector3.forward * Time.deltaTime; 
    }

如果玩家只在'z'方向,那么现在敌人正在向玩家移动,

但是当我改变玩家的位置时,敌人并没有向玩家移动。你能帮我把敌人移到玩家身边吗?

这里是便于理解的视频地址-http://tinypic.com/r/307ulu0/9

谢谢

【问题讨论】:

    标签: c# unity3d unityscript


    【解决方案1】:

    尝试改变 transform.position -= Vector3.forward * Time.deltaTime;

    transform.position = Vector3.forward * Time.deltaTime;

    如果这不起作用,请尝试使用 MoveTowards 方法。

    transform.position = Vector3.MoveTowards(transform.position, player.position, speed*Time.deltaTime);
    

    【讨论】:

    • 太好了,它给了我灵感,谢谢,您的代码几乎没有变化 - 作为公共转换目标;公共浮动速度; void Update() { float step = speed * Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position, target.position, step); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多