- オブジェクトの編集・複製をしたい
- たくさんオブジェクトを生成したい
- ゲーム初期画面にキャラクターを出したくない
こんな悩みを解決するには?

プレハブが使えます。
プレハブとは簡単に言うと【複製】です。
コピペと置換といってもいいかもしれません。
なくてもできるけど、あるととっても便利な機能です。
この記事ではオリジナルゲームを動画たっぷりで解説します。
見ながら手を動かせばプレハブが実用的に使えるようになります。
ゲーム開発でできることが増えると嬉しいですよね。



ゲーム完成へのゴールを目指して頑張っていきましょう。
せっかく始めたゲーム開発・・・。
挫折してしまうのはもったいない!



朝起きたら、ゲーム開発に関する知識詰め込まれてないかな・・・なんて。
アンケートで分かった「稼ぐこと」ができた学習方法をまとめました。


\ゲーム開発ができる「引き出し」が無限に!/



ゲーム開発ができる世界へワープしませんか?
プレハブとは?


プレハブとは簡単にいうと【複製】です。
ただのコピーと思うことなかれ。
オブジェクトをプレハブ化すると、同じオブジェクトが複製されます。
複製されたオブジェクトを「インスタンス」と呼び、親子関係を持ちます。
親:プレハブ化したオブジェクト
子:プレハブをもとに複製されたオブジェクト(インスタンス)



プレハブ化したオブジェクト(親)に変更を加えると
プレハブをもとに複製されたオブジェクト(子)も同時に変更されます。
訳が分からない・・・という方のために実例を交えて解説します。
プレハブの作成方法と使い方


具体的にプレハブの作成方法と使い方を書いていきます。
スクリプトは必要ありません。
プレハブ作成方法
プレハブの作成方法は簡単です。
ヒエラルキーからプロジェクトにドラッグするだけ。



対象のオブジェクトが青色になったらプレハブ化成功です。(パチパチ)
プレハブの使い方
使い方はこちら。
プロジェクトからシーン画面へドラッグする。
どちらも簡単ですね。



同じオブジェクトが簡単にたくさん作れます。
キャラクターなどを何回も作成するのは大変ですよね。
まとめて変更をかけることができたすごいと思いませんか?
プレハブの変更
プレハブ設定を実施するとオブジェクトの変更がまとめてできるようになります。
プレハブとインスタンスをまとめて変更する
一つオブジェクトの大きさを変更しただけで子(インスタンス)も全て切り替わります。
手順はこちら。
白黒になって焦るけど大丈夫です。
選んだオブジェクトだけ強調せれていることを確認。
シーンをクリックすると全体が変更される。



エクセルの置換っぽいなと思いました。
ボタンなどまとめて変更したい時に時短になりますね。
プレハブ内のインスタンスだけを変更する
「プレハブ全体じゃなくてひとつだけ変更かけたい」
そんな時はインスタンスだけ変更することもできます。
プレハブモードに切り替えず、そのまま変更する。



シンプルですね。
変更箇所は青色のマークが付きます。
プレハブの解除
プレハブを解除する手順はこちら。



一度解除すると元のプレハブには戻せません。
プレハブをスクリプトから呼び出す


プレハブを使ってスクリプトから呼び出すことができます。
手順はこちら。
プレハブの削除
スクリプトから呼び出す場合はゲーム画面にあるプレハブは不要です。



スクリプトで呼び出したかわかりやすくするために
削除しましょう。
空のオブジェクト作成
スクリプトとプレハブを入れる(アタッチ)ために作成します。
ヒエラルキーを右クリックして「空のオブジェクトを作成」できます。



混乱しないよう分かりやすい名前をつけましょう。
スクリプト作成
public class catManeger : MonoBehaviour
{
public GameObject cat;
// Start is called before the first frame update
void Start()
{
StartCoroutine(catplayer());
}
IEnumerator catplayer()
{
yield return new WaitUntil(() => Input.GetMouseButtonDown(0));
while (true)
{
Instantiate(cat);
yield return new WaitForSeconds(1.5f);
}
}
}



Instantiate(cat);
この部分でプレハブを生成する指示をしています。
今回は秒数を開けてプレハブ生成するスクリプトを書きました。
スクリプト・プレハブをアタッチ
作成したスクリプトとプレハブをゲームオブジェクトへアタッチします。
- public GameObject cat;
public(パブリック)とスクリプトに書くことでゲームオブジェクトをアタッチできます。
今回はプレハブですが・・・同様です。
こちらが完成したゲーム画面です。



ゲーム初期画面にキャラクターを出さないことが
できるようになりました。
\ゲーム開発ができる「引き出し」が無限に!/



ゲーム開発ができる世界へワープしませんか?
【まとめ】プレハブで悩むのは終わりにしませんか?
プレハブについて生成手順や動画にて解説しました。
便利な機能なのでしっかり使いこなしていきましょう。
分からないところがあれば記事を振り返ってみてください。
ゲーム開発の知識が深まるほどできることが増えます。
今はチグハグでもパズルのピースが組み上がるように「使えるとき」がきます。



コツコツ勉強していきましょう。
あっ、プレハブと相性の良いランダム生成の記事もおいておきますね。
もっと自由に、思った通りにゲーム開発したい方はぜひ読んでみてください。





ではまた別の記事でお待ちしています〜
最後まで読んでいただきありがとうございます。
ゲームの作り方総集編!
11ステップであなたもゲームが作れる。喜んでもらえる。
未経験からでも、分かる!が積み上がりゲームを完成できる。
詳細はこちらから。


コメント