【初心者Unity】コンポーネントとは
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
コンポーネントとは
今回はコンポーネントの基本操作について、インスペクタービューからコンポーネントを追加・編集・削除する方法を解説していきたいと思います。
前回の記事で説明したゲームオブジェクトが「物」「入れ物」であるのに対して、コンポーネントは見た目や振る舞い等の機能を提供する「部品」ということになります。
Unityではゲームオブジェクトに追加するコンポーネントの組み合わせによって、あらゆるオブジェクトを作成することができます。
例えば、Cubeオブジェクトは、
・Mesh Filter
・Mesh Renderer
・Box Collider
というコンポーネントの組み合わせによって表現されています。
ゲームオブジェクトにアタッチされているコンポーネントの一覧は、インスペクタービューで確認することができます。
また、インスペクタービュー内の「Add Component」メニューを開くと、ゲームオブジェクトに追加可能なコンポーネントが確認できます。
コンポーネントはインスペクタービュー、またはスクリプトから操作することが可能です。
スクリプトからコンポーネントを操作する方法についてはまた別の記事で紹介します。
コンポーネントの追加
ここでは例として、EmptyオブジェクトからSphereオブジェクトを作成していきます。
ちなみにプリミティブのSphereオブジェクトがこちら。ゼロからこれを目指します。
ヒエラルキービューでCreate Emptyを実行して、空のオブジェクトを作成します。
インスペクタービューを見ると、Transformコンポーネントのみアタッチされています。
Transformコンポーネントはオブジェクトの座標を定めるパラメータです。
座標の情報を持つコンポーネントは、全てのオブジェクトに必須となっており、削除もできません。
ここにコンポーネントを追加していきます。
「Add Component」から、
・Mesh -> Mesh Filter
・Mesh -> Mesh Renderer
・Physics -> SphereCollider
緑色の線はSphereColliderによる当たり判定のラインです。
見えないけどぶつかる球体となりました。
コンポーネントの編集
このままではまだSphereオブジェクトに見えないので、追加したコンポーネントを編集していきましょう。
・Mesh Filter
メッシュフィルターでオブジェクトの形状を設定します。
ピンク色に見えるのはマテリアルが適用されていないためです。
マテリアルとは、色や質感などオブジェクトの表面をどのように描画するかの情報です。
Unityでは、マテリアルの情報が欠落したオブジェクトを便宜的にピンク色で表示する仕様となっています。
(参考)
マテリアルとは
ではマテリアルを追加してみましょう。
・Mesh Renderer
「Element 0」項目右側の⦿をクリックし、
プリミティブのSphereオブジェクトと全く同じコンポーネントとなったため、見た目も完全に同じになりました。
※見た目だけではなく当たり判定などの機能も同じになっています。
コンポーネントの削除
コンポーネント名右側の「 ⋮ 」アイコンメニューから、Remove Componentを選択することで、コンポーネントの削除を行えます。
ちなみに、コンポーネント名の上で右クリックをしても同じメニューが表示されます。
「 ⋮ 」アイコンはなかなか押しづらい位置にあるので、こちらの方が便利かもしれません。
以上、インスペクタービューにて行うコンポーネントの基本操作について紹介しました。
コンポーネントを自在に使いこなせることこそ、Unityゲーム制作の神髄といっても過言ではありません!
他の記事でも様々なコンポーネントを紹介していますので、ぜひ参考にしてみてください。