前提・実現したいこと
Unityにて3Dの野球盤ゲームを作っているのですが、球を自動で前に飛ばせません。
最初は放物線を描きながらストライクゾーンまで飛んできたのですが、ボールのマウンドからの位置をズラしたところ球が勢いよく前に飛ばなくなってしまいました。
すぐに落下して転がってきます。何か原因がありますでしょうか。
cubeを発射台とし、下記記載のscriptをつけた球を発射としています。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
球を押し出すコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Rigidbody_move : MonoBehaviour 6{ 7 public float power; 8 public float rot; 9 private float reRot =1.5f; 10 Rigidbody rigidbody; 11 12 // Start is called before the first frame update 13 void Start() 14 { 15 rigidbody = GetComponent<Rigidbody>(); 16 rigidbody.AddForce(transform.rotation * Vector3.forward * -power, ForceMode.Impulse); 17 rigidbody.AddForce(transform.rotation * Vector3.right * -rot, ForceMode.Impulse); 18 19 20 } 21 22 void Update() 23 { 24 Debug.Log(rot); 25 if (rot >= 5) 26 { 27 rigidbody.AddForce(transform.rotation * Vector3.right * reRot, ForceMode.Force); 28 } 29 30 } 31}
試したこと
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
発射直後に何かに衝突している可能性があります。OnCollisionEnterとDebug.Logを使って調べてみてください。
あなたの回答
tips
プレビュー