Unity3d Vector3.MoveToward同时跟随光标?

Unity3d Vector3.MoveToward同时跟随光标?,unity3d,Unity3d,我正在制作一个跟随鼠标位置的角色 我也有被实例化的敌人,希望这个角色向敌人的位置移动,但是比敌人高出几英尺 因为我的角色是一个飞行的敌人,我不确定如何在统一中使用移动。 当我的敌人被消灭时,我也希望角色继续跟随光标 公共类FollowCursor:MonoBehavior { //用于初始化 无效启动 { } //每帧调用一次更新 无效更新 { ifGameObject.findWithTagEnglish { transform.position=Vector3.movetowar

我正在制作一个跟随鼠标位置的角色

我也有被实例化的敌人,希望这个角色向敌人的位置移动,但是比敌人高出几英尺

因为我的角色是一个飞行的敌人,我不确定如何在统一中使用移动。 当我的敌人被消灭时,我也希望角色继续跟随光标

公共类FollowCursor:MonoBehavior { //用于初始化 无效启动 { } //每帧调用一次更新 无效更新 { ifGameObject.findWithTagEnglish { transform.position=Vector3.movetoward.GameObject.findWithTagForeign.transform.position; } 其他的 { transform.position=Camera.main.ScreenToWorldPoint新矢量3input.mousePosition.x,Input.mousePosition.y,8.75f; } } }
我理解您希望向飞行中的敌人移动和/或让飞行中的敌人向您的角色移动

我也理解您希望使用MoveTowards方法来完成此操作

您应该能够通过忽略Y位置或将其设置为固定值来实现这一点

像这样

//使用的方法:Vector3向Vector3电流、Vector3目标、浮点maxDistanceDelta移动; //设置移动速度/步数 浮动速度=5f; 浮动步长=速度*时间.deltaTime; //定义y位置 浮动固定值=8.75f; //找到目标 Vector3 enemyPosition=GameObject.FindWithTagEquire.transform.position; Vector3 target=new Vector3 enemyPosition.x,您的固定值,enemyPosition.z; //以步长增量从当前位置向目标移动。 transform.position=Vector3.MoveTowardstransform.position、target、step; 如果这没有回答你的问题,请详细说明你的意思

编辑:

要移动到鼠标,可以在更新方法中使用类似这样的光线投射

如果Input.GetMouseButtonDown0 {//如果鼠标左键单击 雷卡斯特击中; 光线=Camera.main.ScreenPointToRayInput.mousePosition;//从相机向单击鼠标的位置发射光线。 如果是物理,Raycastray,出击//如果击中某物 target=hit.point;//point是一个向量3//hit.point成为您的目标 } 有些东西可以是任何对撞机,也可以是敌人。所以一般来说可以用来四处移动和向敌人移动