Prefabでオブジェクトを複数生成(コピー)するツイートシェアはてブLINEPocketどうも、tatsuです!今回はPrefabを使ったオブジェクトの複数生成(コピー)について説明しようと思います。目次Prefab(プレハブ)とは?Prefab(プレハブ)の作り方スクリプトでPrefabを使って複数インスタンスを生成するPrefabをballCreateScriptにアタッチするballCreateScriptを空GameObjectにアタッチする動作確認まとめPrefab(プレハブ)とは?Prefabとは、オブジェクトの雛形のようなものです。Prefabにはオブジェクトを作るのに必要な情報が書かれており、その情報をもとにオブジェクトを作り出します。Unityではヒエラルキーからオブジェクトを1つずつ追加することができます。同じオブジェクトをランダムに複数生成したいといった場合はどうしましょう?例えば、敵だったり弾だったり・・・そのような同じものをたくさん作りたい場合にPrefabを使うと、スクリプトでオブジェクトの生成を簡単に行うことができます。解釈してもらってかまいません。以下のようなballオブジェクトのPrefabを作成したいと思います。作り方は簡単で、図のようにオブジェクトをAssetsにドラッグ&ドロップするだけです。クリックすると下に「ball.prefab」となっていればPrefabが生成されています。わかりやすいように「ballPrefab」などと名前を変えておくと良いでしょう。シーンに配置されている方のballPrefabは使わないので削除しておいてください。スクリプトでPrefabを使って複数インスタンスを生成するそれではスクリプトでPrefabを使ってみましょう!新しく「ballCreateScript」を作ってください。※この記事ではC#Scriptを説明しています。中身を以下のようにします。Random.Range(-4,4));}}}このスクリプトでは、ゲーム開始時に10個のボールをランダムに表示するように書きました。PrefabをballCreateScriptにアタッチするスクリプトができたら、Prefabをスクリプトにアタッチします。これによってスクリプトの変数にPrefabが格納され、使用することができます。ballCreateScriptをクリックし、インスペクタでballPrefabを指定します。ballCreateScriptを空GameObjectにアタッチするスクリプトはなんらかのゲームオブジェクトにアタッチしないと使用できないため、空のゲームオブジェクトを作成します。Empty]を選択して空のゲームオブジェクトを作成してください。作成できたら、ballCreateScriptをアタッチします。動作確認ここまでできたら保存して、ゲームをスタートしてください。以下のようにランダムに10個表示されていたら成功です!補足Prefabによって生成されたオブジェクトに動きを付ける場合は、ballPrefabにオブジェクト用のスクリプトをアタッチしてください。まとめお疲れ様でした、いかがでしたか?Prefabの概念と作り方、わかっていただけましたでしょうか。コメントをキャンセルメールアドレスが公開されることはありません。正規化しないことによる更新異常まとめRECOMMENDこちらの記事も人気です。