前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Unityでオブジェクトを複数個作成し、乱数(Random.Range)でそれぞれをバラバラに
表示させ、オブジェクトをRayを使用して全て消したいと思います。
しかし、複数個のオブジェクトが同一座標に重なりバラバラに表示しません。
どうしたら、重なり会わずにランダムに動かせるのでしょうか。
発生している問題・エラーメッセージ
複数個のオブジェクトをすべてランダムでバラバラに表示したいのですが、どうしても重なります。
エラーメッセージ エラ-メッセ-ジは特にありません。
該当のソースコード
省略して if(l==0)とif(l=1)の場合しかのせなかったので追加します。 void Start() { int l = 0; float i, j, k, m, n, o; do { if (l == 0) { if (gameObject.CompareTag("Ball1")) { i = Random.Range(-9.5f, 9.5f); j = Random.Range(-5.0f, 5.0f); k = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(i, j, k); } } if (l == 1) { if (gameObject.CompareTag("Ball2")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 2) { if (gameObject.CompareTag("Ball3")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 3) { if (gameObject.CompareTag("Ball4")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 4) { if (gameObject.CompareTag("Ball5")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 5) { if (gameObject.CompareTag("Ball6")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 6) { if (gameObject.CompareTag("Ball7")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 7) { if (gameObject.CompareTag("Ball8")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 8) { if (gameObject.CompareTag("Ball9")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } if (l == 9) { if (gameObject.CompareTag("Ball10")) { m = Random.Range(-9.5f, 9.5f); n = Random.Range(-5.0f, 5.0f); o = Random.Range(-10.0f, -10.0f); Camera.main.transform.position = new Vector3(m, n, o); } } ++l; } while (l < 9); }
試したこと
ここに問題に対して試したことを記載してください。
変数m n oの値を変更したりオブジェクトにタグを付けたりしたのですが、2回目以降は、Random.Rangeの
設定が出来ないみたいです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
Unityは、2020.1.0a21の最新バージョンを使用しています。
使用言語は、C#です。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。