見た目を作る:RendererとMaterial【Unityスタートガイド3-3】

目次

この記事で学べること

  • Mesh Rendererで3Dモデルを表示する方法
  • Sprite Rendererで2D画像を表示する方法
  • Materialで色やテクスチャを設定する手順
  • Shaderの基本概念
  • 実践的な色の変更とテクスチャ貼り付け

前提知識

Mesh Rendererで3Dモデルを表示

Mesh Rendererコンポーネントは、3Dモデルの形状を表示するためのコンポーネントです。Unityの基本的な3Dオブジェクト(Cube、Sphere、Cylinderなど)には自動的に付与されています。

Mesh Rendererの役割

  • 3D形状の描画: Mesh Filterで指定された3Dモデルデータを画面に描画
  • マテリアルの適用: 表面の見た目を決定するMaterialを適用
  • ライティングの反映: シーン内のライトの影響を受け、影や明るさを表現

自動的に付与されるオブジェクト

新規作成した3DオブジェクトにはMesh Rendererが自動的に付与されます:

  • Cube(立方体)
  • Sphere(球体)
  • Cylinder(円柱)
  • Plane(平面)
  • Capsule(カプセル)

Mesh Rendererの構造

主な設定項目

  • Materials: 適用するMaterialのリスト
  • Light Probes: ライトプローブの使用設定
  • Reflection Probes: 反射プローブの使用設定
  • Cast Shadows: 影を落とすかどうか
  • Receive Shadows: 影を受け取るかどうか

Sprite Rendererで2D画像を表示

Sprite Rendererは、2Dゲームで画像(スプライト)を表示するためのコンポーネントです。キャラクターや背景など、シーンに置く2Dの画像で使います(ボタンなどのUIは、第9章で説明するImageという別のコンポーネントを使います)。

Sprite Rendererの特徴

  • 平面の画像を表示:厚みのない画像として表示(3Dのシーンに置くことも出来ます)
  • スプライト対応:PNG/JPGなどの画像ファイルを、Spriteとして読み込んで表示
  • ソーティングレイヤー:どの画像を手前に描くかを制御出来る

2Dオブジェクトの作成

手順1: 2D Objectを作成

Hierarchyで右クリック>2D Object>Sprites>Square(四角いスプライトが作られます)
– このメニューがあるのはUniversal 2Dのテンプレートで作ったプロジェクトです。Universal 3Dには2D Object>Spritesがないので、2Dのプロジェクトで試してください

Sprite Rendererの設定

主な設定項目

  • Sprite: 表示する画像ファイル
  • Color: 画像に重ねる色(アルファ値で透明度調整)
  • Sorting Layer: 描画順序のレイヤー設定
  • Order in Layer: 同一レイヤー内での順序

Materialで色やテクスチャを設定

Material(マテリアル)は、オブジェクトの表面の見た目を定義するアセットです。色、質感、光沢、透明度などを設定できます。

Materialの作成

手順1: Projectウィンドウで右クリック

ProjectウィンドウのAssetsフォルダ内で右クリック>Create>Material

手順2: マテリアルに名前をつける

作成されたマテリアルファイルの名前を変更(例: “RedMaterial”)

Materialの基本設定

URPのプロジェクトで作ったMaterialは、最初から「Universal Render Pipeline/Lit」というシェーダーになっています。Material Inspectorの主な項目:

  • Surface Type:Opaque(不透明)かTransparent(半透明)か
  • Base Map:基本の色とテクスチャ(左の四角にテクスチャ、右の色で色を指定)
  • Metallic:金属っぽさの度合い
  • Smoothness:表面のなめらかさ(大きいほどツルツルで光を反射する)
  • Emission:自分で光っているように見せる設定

Materialをオブジェクトに適用

方法1: ドラッグ&ドロップ

ProjectウィンドウからMaterialをドラッグし、シーンのオブジェクトにドロップ

方法2: Inspector経由

オブジェクトのMesh RendererコンポーネントのMaterialsを開き、Element 0の欄にMaterialをドラッグ

Shaderの基本概念

Shader(シェーダー)は、Materialの描画方法を定義するプログラムです。Unityには標準で多くのシェーダーが用意されています。

Shaderの役割

  • 描画処理: GPUでのピクセル描画方法を定義
  • 視覚効果: 光沢、透明、特殊効果などを制御
  • パフォーマンス: 描画負荷を決定

URPでよく使うシェーダー

  • Universal Render Pipeline/Lit:ライトの影響を受ける、基本のシェーダー(リアルな見た目)
  • Universal Render Pipeline/Simple Lit:Litより軽い簡易版
  • Universal Render Pipeline/Unlit:ライトの影響を受けない、色そのままの表示
  • Universal Render Pipeline/2D/Sprite-Lit-Default:2Dのスプライト用

Shaderの変更方法

Material Inspectorの上部にあるShaderドロップダウンから選択

スライム

ネットの古い記事にある「Standard」シェーダーをURPのプロジェクトで使うと、オブジェクトがピンク色になっちゃいます・・・

フェアリー

ピンク色はシェーダーが合っていない合図!URPなら「Universal Render Pipeline」の中から選べば大丈夫だよ

色の変更:実践例

シンプルな色の変更から始めて、Materialの基本を学びましょう。

実践1: 赤いCubeを作る

手順1: 新しいMaterialを作成

Projectウィンドウで右クリック>Create>Material、名前を”RedMaterial”にする

手順2: 色を設定

Material InspectorのBase Mapの右の色をクリックして、赤色(R:255, G:0, B:0)に変更

手順3: Cubeに適用

RedMaterialをシーン内のCubeにドラッグ

実践2: 半透明のMaterial

手順1: 新しいMaterialを作成

名前: “TransparentMaterial”

手順2: Surface Typeを変更

Surface Options>Surface Type:Transparent

手順3: 透明度を設定

Base Mapの色をクリックして、A(アルファ)の値を半分ぐらいに下げる

テクスチャの貼り付け

テクスチャを使用することで、オブジェクトに画像を貼り付けてリアルな見た目にできます。

テクスチャの準備

手順1: 画像ファイルをインポート

画像ファイル(PNG/JPG)をProjectウィンドウのAssetsフォルダにドラッグ

手順2: テクスチャ設定を確認

インポートされたテクスチャを選択して、Inspectorで設定を確認

テクスチャをMaterialに適用

手順1: Materialを選択

手順2: Base Mapにテクスチャを設定

Base Mapの左の四角にテクスチャをドラッグ&ドロップ(または丸いアイコンをクリックしてテクスチャを選択)

手順3: オブジェクトに適用

Materialを3Dオブジェクトにドラッグ

テクスチャのタイリング

Tiling: テクスチャの繰り返し回数

  • 1: 1回(標準サイズ)
  • 2: 2回(縮小表示)

Offset: テクスチャの開始位置オフセット

注意点やヒント

Materialの命名規則

Materialにもわかりやすい名前をつけましょう:

  • 良い例: WoodMaterial, MetalShiny, GrassMaterial
  • 悪い例: Material, New Material

テクスチャの解像度

高解像度のテクスチャはファイルサイズとメモリ使用量を増大させます:

  • UI用: 256×256程度
  • 3Dモデル用: 512×512〜2048×2048
  • 背景用: 4096×4096可能

Shaderの選択基準

  • Lit:ライトや影で立体的に見せたい場合(まずはこれでOK)
  • Unlit:ライトに関係なく、色をそのまま見せたい場合
  • Sprite-Lit-Default:2Dゲームの場合(2Dのテンプレートでは自動で設定されます)

よくあるエラーと対処法

エラー1: Materialが適用されない

  • 原因:Cubeに最初から付いているMaterialは編集できない(Inspectorの項目が灰色)、またはドロップ先が別のオブジェクトになっている
  • 対処法:自分で作ったMaterialを割り当ててから色を変える。Mesh RendererのMaterialsの中身を確認する

エラー2: テクスチャがぼやける

  • 原因:テクスチャのMax Sizeが元の画像より小さい、または圧縮で荒くなっている
  • 対処法:テクスチャのInspectorで、Max Sizeを元の画像以上にする。ドット絵の場合はFilter ModeをPoint (no filter)にする

エラー3: テクスチャが暗い

  • 原因: シーンに適切なライトがない
  • 対処法: Directional Lightが存在するか確認、またはUnlitシェーダーを使用

まとめ

この記事では、オブジェクトの見た目を作るためのRendererとMaterialについて学びました:

  • Mesh Renderer: 3Dモデルの形状を描画するコンポーネント
  • Sprite Renderer: 2D画像を表示するコンポーネント
  • Material: 色、テクスチャ、質感を定義するアセット
  • Shader: 描画処理を定義するプログラム
  • 実践: 色の変更とテクスチャの適用方法

これらのコンポーネントを組み合わせることで、ゲームオブジェクトを視覚的に魅力的に表現できます。

次のステップ

見た目の設定が完了したら、次は物理演算を追加するためのコンポーネントについて学びましょう:

また、その他の重要なコンポーネントについては:

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次