public class Test : MonoBehaviour
{
public float Power;
public float Angle;
public float TIme;
public Rigidbody2D TestBall;
private void Update()
{
if(Input.GetKeyDown(KeyCode.X))
{
TestBall.transform.position = new Vector2(0, 0);
TestBall.velocity = new Vector2(0, 0);
Vector2 Dir = new Vector2(Mathf.Cos(Angle * Mathf.PI / 180), Mathf.Sin(Angle * Mathf.PI / 180));
TestBall.AddForce(Dir * Power, ForceMode2D.Impulse);
}
}
private void OnDrawGizmos()
{
float Mass = TestBall.mass;
float Gravity = TestBall.gravityScale * 9.8f *Mass;
List<Vector2> vector = new List<Vector2>();
for(int i = 0; i < TIme; i += 1)
{
float time = (float)i / 10;
Vector2 vectorTest = new Vector2();
vectorTest.x = Power * Mathf.Cos(Angle * Mathf.PI / 180) * time;
vectorTest.y = Power * Mathf.Sin(Angle * Mathf.PI / 180) * time - (Gravity * time * time / 2);
vector.Add(vectorTest);
Debug.Log(Power * Mathf.Cos(Angle * Mathf.PI / 180));
if (i > 0)
Gizmos.DrawLine(vector[i - 1], vector[i]);
}
}
}
감사
깔끔추