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

シンプルなゲームの作成 - パート2

完成されたプロジェクトはこちらです。先にその1を読んでください。

マテリアルの設定

このゲームのグラフィクスは非常に単純なものですので、たくさんの設定をしなければいけないということはありません。ボール、背景とオーバーレイについて設定を行います。

マテリアルとは?

マテリアルとはPlayCanvasでのアセットのひとつで、3Dモデルがスクリーン上に描画される時、それがどのように見えるべきかを決めるものです。マテリアルは物体表面の色を決め、また同時に物体表面が光にどのように反応するかも決めます。例えば、マテリアルの設定によっては物体は金属のように滑らかになったり、ゴムのようにざらざらとしたものになります。PlayCanvasは物理的マテリアルという組み込みの機能をもっており、マテリアルの用途の9割ほどをカバーします。あなたが上級者になったら、自分のマテリアルを、GLSLシェーダ言語を用いて自分で書くこともできます。

キューブマップ (Cubemap)

マテリアルについて話し始める前に、キューブマップの設定をします。キューブマップとは、立方体のそれぞれの面に貼られた6枚のテクスチャからなるアセットです。これはシーンの遠方にある背景として処理されます。PlayCanvasの物理的マテリアルは、キューブマップを画像ベースのライティングに使用することができます。このライティングは、キューブマップの色をシーン内のマテリアルを照らす明かりとして使います。例えば、このゲームのシーンでは、キューブマップは青い空と緑の草の地面です。そのため、ゲーム内のぼーるは上からは青い光で、下からは緑の光で照らされます。詳しくはドキュメントを参照してください

Cubemap

キューブマップを設定するには、まずキューブマップアセットをNew Assetメニューから作成し、キューブマップの面に6枚のテクスチャを割り当てます。キューブマップの6面全てにテクスチャを割り当てたら、"Prefilter"ボタンをクリックしてください。プレフィルタリングはキューブマップを正しく動作させるために必要な準備です。

Footballマテリアル

Football

サッカーボールはPlayCanvasアセットライブラリからインポートした3Dモデルです。footballマテリアルはすでに設定済みですが、いくつか単純な調整が必要になるかもしれません。サッカーボールに使われているそれぞれのテクスチャを確認してみましょう。

ディフューズ (Diffuse)

Diffuse

Diffuseマップは表面の色を決めます。このゲームでは黒と白のサッカーボールのパターンになっています。

環境マップ (Environment)

Environment

スペキュラマップの効果を説明するために必要なため、環境マップの説明を簡単にここでしておきます。環境マップの設定をしたい場合は、キューブマップをマテリアルのスロットにドラッグしてください。

スペキュラーマップ (Specular)

Specular

specular(鏡面)セクションはマテリアルがどのように照明と相互作用するかを決定します。specularには、「Metalnessワークフロー」と「Specularワークフロー」の2つの「ワークフロー」があります。詳細はドキュメントをご確認ください。サッカーボールではMetalnessを使用しているので、「Use Metalness」チェックボックスをオンにしてください。サッカーボールは金属製でないので、metalnessスライダーを0になるようスライドさせます。次に、光沢スライダーを使用してマテリアルの滑らかさを設定します。ボールが滑らか過ぎず、ちょうど良い光沢になるよう約半分の位置に設定します。

法線 (Normal)

Normal

最終に適用するテクスチャマップはnormal(法線)マップです。normalマップは、モデルにディテールを加えるために使用します。この場合、サッカーボールの繋ぎ目がジオメトリでモデル化されていませんが(滑らかな球体)、normalマップではモデル化されています。つまり、ボールは繋ぎ目があるかのように点灯しますが、余分なポリゴンのオーバーヘッドはありません。

Backdropマテリアル

Backdrop

Backdropマテリアルはより単純です。テキスチャーマップは一つのみです。

エミッシブ (Emissive)

Emissive

Emissiveマップは、表面の色を設定して、まるでその色の光を発光しているかのように見せます。つまり、シーン内の照明はEmissiveの表面の明るさに影響を与えません。Emissiveマテリアルはシーン内の他のオブジェクトには影響しませんが、実際に光は発光されません。

この場合、静的なシーンなので背景が点灯されないようにします。そのためには、Emissiveマップを使用します。

オーバーレイマテリアル

Overlay

オーバーレイ素材は、背景より簡単です。この場合、Emissiveプロパティの色を設定しています。

Emissive

その3に進む。