UnityのRenderer、Mesh、Material、Shaderの関係

描画周りの基礎知識。

 

本格的に勉強するとなるとマニュアルを見ないといけないけど、使う分にはこの程度知っておけばいいかな。

 

それぞれの簡単な説明

Renderer(レンダラー)

MeshRenderer、SkinnedMeshRendererなどがある

ボーンで形状変更するかどうかくらいを覚えておけば最初は大丈夫

コンポーネント

オブジェクトを描画するためのメイン処理&データ管理

 

Mesh(メッシュ)

オブジェクトの形状データ

ポリゴンと呼ばれてるものとの認識で十分

Unity上で手動で修正を加えることは殆どない

 

Material(マテリアル)

メッシュが形状なのに対して、マテリアルは質感のデータ

リアル系では最近はPBR(Physically-Based Rendering)が増えている

テクスチャを保持するのはここ

 

Shader(シェーダー)

Unity5.0で大きく変わった

StandardShader使っておけばとりあえずok

メッシュやマテリアルを元に、最終的にどう表現するかを決定する

 

関係

Renderer

MeshとMaterialのコピーインスタンスを保持

通常はこちらを使用するが、sharedMesh、sharedMaterialはコピー元のデータなので使用する場合は注意が必要

MeshもMaterialも差し替え可能(差し替えた後は破棄も忘れずに)

 

Mesh

Rendererから参照される

 

Material

Rendererから参照される

Shaderを1個参照する

 

Shader

Materialのデータを参照するので、同じShaderでもMaterialによって描画変更可能