ジェネレータスクリプトでオブジェクトを3つランダムに出現させたい

前提

Unityで2dのルーレットゲームを作っています
使用言語はC♯です
以下の要望を実現するスクリプトの書き方を教えてもらいたいです

実現したいこと

ゲーム開始時に3つの的を①x=-2,3,8のいずれかの位置に、②それぞれの的の位置が被らないようにランダムに配置する、的ジェネレータスクリプトを作りたいです

後から的一つ一つに設定を付け加える予定なので、単にシーンビューで的をコピーして配置することはできないです

発生している問題・エラーメッセージ

エラーメッセージ自体は発生していないです

該当のソースコード

Csharp

using System.Collections;using System.Collections.Generic;using UnityEngine; public class TargetGenerator : MonoBehaviour{ public GameObject TargetPrefab; // Start is called before the first frame update void Start() { for (int i = 0; i < 3; i++) { GameObject go = Instantiate(TargetPrefab); int r = Random.Range(1, 3); int px = 5 * r - 7; go.transform.position = new Vector2(px, 0); } } // Update is called once per frame void Update() { }}

試したこと

上記のスクリプトでゲームを作動させてみましたが、3回行われるRangeメソッドでどれか一つの値が被ると、的が重なってしまいます

補足情報(FW/ツールのバージョンなど)

Unityのエディターバージョンは 2021.3.11f1 です

コメントを投稿

0 コメント