Unity C#如何移动球体
我对团结是完全陌生的。我在制作FPS射击游戏时遇到困难。这是我在弹药预制中的代码:Unity C#如何移动球体,c#,unity3d,C#,Unity3d,我对团结是完全陌生的。我在制作FPS射击游戏时遇到困难。这是我在弹药预制中的代码: public class Ammo : MonoBehaviour { public GameObject obj ; // Use this for initialization void Start () { obj= GameObject.FindGameObjectWithTag ("Player"); } // Update is called
public class Ammo : MonoBehaviour {
public GameObject obj ;
// Use this for initialization
void Start () {
obj= GameObject.FindGameObjectWithTag ("Player");
}
// Update is called once per frame
void Update () {
transform.Translate (obj.transform.forward* Time.deltaTime);
}
void OnCollision(Collider coll)
{
if (coll.tag != "Player")
Destroy (gameObject);
}
}
在FPS中:
public class FPS : MonoBehaviour {
public GameObject Ammo;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetButtonDown("Fire1"))
{
Instantiate(Ammo, transform.position,transform.rotation);
}
}
}
但当我拍摄时,球体会朝随机方向移动。(当我向前看时,它会上升)。有人帮我吗。我对团结是绝对陌生的。子弹不会朝随机方向移动。这取决于你的球员位置。首先,你应该从玩家相机中获取前进矢量,而不是从玩家相机中获取前进矢量。因为你想拍摄你所看到的方向(因此相机)。子弹不会朝随机方向移动。这取决于你的球员位置。首先,你应该从玩家相机中获取前进矢量,而不是从玩家相机中获取前进矢量。因为你想朝着你所看到的方向拍摄(也就是相机)。你可能想沿着它自己的前轴移动子弹,而不是沿着玩家的前轴移动子弹,否则你会得到弯曲的子弹(开火,在它朝那个方向移动时等待,然后转向左边,现在子弹向左移动…),你可能想让子弹沿着它自己的前轴移动,而不是玩家的前轴,否则你会得到弯曲的子弹(开火,在它朝那个方向移动时等待,然后转向左,现在子弹向左移动…)