Unityで卓球ゲームを作っています。
ラケットが、ボールに当たったら打ち返すような仕組みを作りたいのですが、以下のコードでは、物理的ではなく、必ずまっすぐにボールが飛ぶようになってしまいます。
Physic MatrialとRigid bodyを使うと、すり抜けてしまいます。
なので、スクリプトで制御したいと思いました。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Shot : MonoBehaviour 6{ 7 8 public GameObject Ball; //ボール 9 public float speedZ = 10f; //スピード 10 public float speedY = 3f; 11 // Start is called before the first frame update 12 void Start() 13 { 14 QualitySettings.SetQualityLevel(2); 15 } 16 17 // Update is called once per frame 18 void Update() 19 { 20 21 } 22 void OnTriggerEnter(Collider col) 23 { 24 if (col.tag == "Ball") 25 { 26 Vector3 Force; 27 Force = new Vector3(0, speedY, speedZ); 28 Ball.GetComponent<Rigidbody>().AddForce(Force, ForceMode.Impulse); 29 } 30 } 31} 32
上のコードはこちらのサイト様のコードと同じです。
ラケットの角度に応じて、ボールの飛ばされる角度を変えたいと思っています。
上と下で、ボールの飛ばす方向を変えたいと思います。
どういったコードを書けばよろしいのでしょうか。
ご教授願います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。