私は投げなければならないボールがあるゲームを開発しています。それは他のボールと衝突することができなければなりません(私はデモのために10を持っています)。今、衝突後、打撃を受けたボールは連続的に移動して停止していません。foreachループが一部のゲームオブジェクトで正しく動作しない
この問題の解決方法は、しばらくisKinematic
を有効にしてから無効にすることです。
GameObject[] marbles;
marbles = GameObject.FindGameObjectsWithTag ("Exit");
foreach (GameObject x in marbles) {
x.GetComponent<Rigidbody>().isKinematic = true;
}
私の問題は、これが部分的にオブジェクトのみを有効にすることです。いくつかのオブジェクトを有効にし、残りのGameObjectを無効にします。このコードの問題は何ですか?
私の上司は、すべてのボールにスクリプトを入れて、同じ方法でボールを止めるように言いましたが(isKinematic
は当分の間真です)、私はあまりにも多くを使用するとゲームのfpsを下げると思います各ゲームオブジェクト上の1つのスクリプトのインスタンス。どのアプローチが良いですか?その後、
連続的に移動すると停止しませhittedボールを衝突した後になるような問題のために私の解決策は、いつかisKinematicを有効にすることであり、
それを無効に私はいくつか持っている:あなたの文を1として
これらのボールはゲーム中にインスタンス化されているのですか、それともそれらをシーン内に設定しましたか? – CNuts