メインコンテンツまでスキップ

Component

GameObjectの役割を決定させるためのもの

なに?

コンポーネント(Component: 成分)はInspectorウィンドウから一覧を確認できるもので、ある1つのGameObjectに対してどのような機能や役割をもたせるかを決めるためのものです。

全てのGameObjectは必ずTransformコンポーネントを持ちますが、これは3D空間上における位置・回転・スケール(大きさ)の情報を持たせるための機能です。

Unity標準のコンポーネントとしては、物理演算をさせるためのRigidbody、当たり判定をさせるためのCollider、

アバター改変においては、基本的にはアバターのとなるGameObjectにはArmatureを除けばSkinnedMeshRendererもしくはMeshRendererという、メッシュデータを描画するための機能を持たせていることがほとんどです。

Componentの例

たとえば上図の場合、Hierarchyウィンドウで選択中のhairというGameObjectに対しては「Transform」コンポーネントおよび「SkinnedMeshRenderer」コンポーネントの2つが付与されています。

ちなみに「HAOLAN_Hair (Material)」というのはあくまでもMaterialのプロパティの一覧であってこれ自体はコンポーネントではなく、便宜上つけられているものです。マテリアルは本来Projectウィンドウから直接マテリアルファイルを選択して編集する必要がありますが、Rendererコンポーネントで参照中のマテリアルを直接編集できると便利だよね、という意図で付けられているものです。