【Unity2D】角度と距離からベクトルを作ってAddForceする【Vector2】
AddForceは引数にベクトルを渡し、そのベクトルにしたがってObjectに力を加えるメソッドですが
ベクトルってなんぞ...って人ももしかしたらいるのかなーと思うので角度と距離からベクトル(Vector2)を作ってAddForceする方法のご紹介です
float angle = 70; //角度70度 基準は↑ float distance = 1500 //距離1500 float rad = angle * Mathf.Deg2Rad; //角度をラジアン角に変換 //rad(ラジアン角)から発射用ベクトルを作成 double addforceX = Math.Sin((rad) * distance; double addforceY = Math.Cos((rad) * distance; Vector2 shotVector = new Vector2((float)addforceX, (float)addforceY); //Rigidbody2Dを取得してから Rigidbody2D rigidbody2d = transform.GetComponent<Rigidbody2D> (); //発射ァ!! rigidbody2d.AddForce(shotVector);
これにRigidbody2Dまわりの摩擦係数やら空気抵抗やらを調整してやると
なんとか〜ストライクみたいのができました
アァ!バックベアード様!