使Unity 3D身体从其启动点绕圆周运动?

时间:2019-09-12 22:26:19

标签: c# unity3d transform

我正在玩一些Unity代码以扩大视野。

我有以下代码,该代码从角色发射的子弹以“ this.angle”设置的方向飞行,“ this.angle”是枪指向目标的角度。

我要完成的工作是使子弹离开枪支并向右旋转360度,并从后面射击玩家(实际上是枪支)。

我还没有完全理解四分之一,但是我认为我不需要解决这个问题。

有人可以给我指点吗?

base.transform.rotation = Quaternion.Euler(0f, Mathf.MoveTowardsAngle(base.transform.rotation.eulerAngles.y, this.angle, 9.3f * Time.deltaTime), 0f);
Vector3 cposition = base.transform.position;
base.transform.position = Vector3.MoveTowards(base.transform.position, cposition, Time.deltaTime * 2f);
this.pos.set(base.transform.position);
this.rot.set(base.transform.rotation);

2 个答案:

答案 0 :(得分:1)

好的,如果您想坚持自己的原始想法,可以这样做:

项目符号代码

void Update(){

transform.Rotate(degTurnRate, 0, 0);
transform.position += transform.forward * Time.deltaTime * bulletSpeed

}

答案 1 :(得分:0)

如果您仅使用Transform.RotateAround,则可以使代码简单得多 这样一来,您就可以将对象绕指定目标旋转任意轴上的x量。