二代目備忘録スマートフォン用の表示で見る二代目備忘録2018-07-16Unity備忘録10頁目「Prefabを作ってみる1」Unity江上宿六です。今回はPrefabというのを作ってゲーム内でオブジェクトを自動生成してみます。これは例えばシューティングだったら弾を出したり敵を出したり、そういう似たようなオブジェクトを大量に出したりするのに使えたりするものです。読みはプレハブでいいと思います、建築とかで見かけるあのプレハブです。今回は新たにプロジェクトとシーンを作ってやりたいと思いますが、というかシーンの保存についてやりましたっけ。メニューバーのFileからSaveScene等を選ぶとシーンが保存されますので、適当に名前を付けて保存してくださいね。新たなプロジェクト、新たなシーンが作られたら早速ヒエラルキーのCreateから3DObject→Sphereと選択し、Sphereを追加しましょう。インスペクターでPositionを(0,5,0)として実行してみましょう。球がちょっと高めの所に配置されただけのなんの変哲も無い結果ですね。変わった事をしてみましょう。ヒエラルキーでSphereを選択してインスペクターの中のAddComponentというのをクリックしてみましょう。これはオブジェクトに様々な効果を追加できるもので、凄い便利なものです。今回はPhysics→Rigidbodyと選択し、この球にRigidbodyを付加しましょう。こんな感じのが追加されるはずです。この中身については今は別に良いので再び実行してみましょう。球がなんか下の方に移動していって画面内から消えました。このRigidbodyというのはオブジェクトを物理挙動に従って動かせるもので、それゆえに重力を受けて下方向(-y軸)に加速しつつ動いていったわけなんです。スクリプト使わなくてもこんなの出来るって凄い。いう物理挙動を行う場合は大抵Colliderというのもセットで扱われます。これはいわば当たり判定的なもので、今回のSphereには最初からついています。因みに今まで使っていたCubeにもColliderがついていましたよ。この辺はさておき、このSphereは画面外に消えても存在し続けているのである一定の高さまで行ったら消えるようにしてみましょう。C#Scriptを追加しSphereControllerとでも名付けてスクリプトを記述しましょう。transformのposition.yが-5.0fを下回ったらgameObjectをDestroyするというもの。このgameObjectというのはこのSphereの事ですね。そもそもtransformもgameObjectのインスペクターのtransformの事を指していると思うんですがね。別にどうでも良いですのでスクリプトをアタッチして実行してみましょう。一定の位置までSphereが落ちたらヒエラルキーからSphereが消えているのが確認出来ます。やって消していかないとメモリを食ったりしますからね。やってSphereが落ちて消えるというものが出来上がりましたが、このSphereを沢山作りたいとなった場合はどうするべきでしょうか。SphereをCreateしてアタッチしまくるというのはなんか違うと思うし流石にこれは手間ですね。そこで使えるのがPrefabというものなのです。実際作っていくのは次回ですね。縦長になってしまっているので。20:23Unity備忘録10頁目「Prefabを作ってみる1」Tweet広告を非表示にする関連記事2018-07-14Unity備忘録8頁目「様々な入力1」マウスだけならず色んな入力を一纏めにしておきたい頁。»プロフィールid:y6yegami適当に勉強した事を忘れないように書き留めておくブログ。当面はBlender。便りが無いのは良い便り。月別アーカイブはてなブログをはじめよう!y6yegamiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。