【第17回】斜方投射でボールの予想経路を示す・Material準備編

【第17回】斜方投射でボールの予想経路を示す・Material準備編

前回のチュートリアルでは、カメラにズームイン・ズームアウト機能をつけて、ゲーム画面から操作できるようにしました。

今回は、ボールを斜方投射するにあたって、予想される経路を表示してみたいと思います。カービィボウルでよく見るアレですね。

下準備も必要なので、ここでは経路を表示するために使うオブジェクトの、色を設定するMaterialについて扱います。

前回のチュートリアルはこちらから。

 

今回の目的

斜方投射で予想される経路を3Dの球を並べて表示します。

今回はその下準備として、経路を示すための3Dオブジェクトを作成する過程で使用するMaterialを作ります。

Materialの作成、Prefabの作成、スクリプトの作成と盛りだくさんなので、何回かに分けてやっていきましょ。

プロジェクトの準備

前回のチュートリアルで作成したプロジェクトをそのまま使います。

このページに先にたどり着いた方は、チュートリアルの初回から追っていただけるといいかもしれません。

いきなり出たぞMaterial

急に新しい単語が出てきました。

新しい単語が出た時はまず公式のマニュアルだ!

Materialとは

マニュアルの『マテリアル、シェーダー、テクスチャ』を見てみましょう。

……うん、リンクを貼っておいて何だけど、カタカナがいっぱいで難しいですね。

ざっくり言うと、オブジェクトの色とか表面のテクスチャを定義しているファイルのこと。実はこれまで扱っていたオブジェクトでもMaterialが指定されていました。

画像は『Sphere』オブジェクトのMesh Rendererコンポーネントで、その中に『Materials』の文字があります。ここで指定されているのは、Unityがデフォルトで持っている『Default-Material』です。

Material
実はこっそりいたのだポッター

 

『Default-Material』では白が指定されているので、『Sphere』オブジェクトは白くなっています。

Mateialの作成

せっかくなので、マテリアルによって色を変えられる点を実際に試してみましょ。『Project』ウィンドウで右クリックまたは二本指タップでコンテキストメニューを開きます。[Create] -> [Folder]から新しいフォルダを作ります。

Folderの作成
フォルダを作るのだポッター

 

名前は[Materials]にしましょ(そのまんま)

Materialsフォルダ
Materialsフォルダを作る

 

作成した『Materials』フォルダを開き、またここでもコンテキストメニューを開きます。[Create] -> [Material]でMaterialファイルが作成されます。

新規Materialの作成
新規Materialを作成する

 

名前は……この後使うので[Guide]にします。予想経路っていうと堅苦しい感じがしますが、ガイドっていうと慣れ親しんだ感じがします。英語なのになぜ。

Guide用Material
Guide用Material

 

『Guide』を選択すると、『Inspector』ウィンドウでは以下のように表示されます。設定がいっぱいだぁ……。

個々の設定についての説明は割愛しますが、これらの設定を組み合わせてオブジェクトの見え方を設定します。

画面下に白い球が表示されていますが、これはMaterialの設定に合わせて変化します。

Inspectorウィンドウ
『Inspector』ウィンドウでの表示

 

試しに色と質感を変えてみます。Albedo(表面のベースカラー)を[80C080FF](鈍い緑)にしました。

続いてMetallicを[0.8]にします。こちらは金属らしさを表すパラメータで、1に近いほどより金属らしさを増します。

Smoothnessも[0.8]に。表面の滑らかさを表すパラメータで、0に近いと粗いヤスリをかけた感じ、1に近いとツルッツルになります。

色と質感
色と質感を変えてみる

 

これを一度『Sphere』にセットしてみましょうか。Materialの画面と、光源があるゲーム画面ではちょっと見え方が違うので確認が必要です。

Materialをセットするには、対象のオブジェクトでMaterialの指定できるフィールドを使います。『Sphere』オブジェクトではMesh Rendererの中にあります。MaterialsのElement 0に、マテリアルファイルをドラッグ&ドロップするか、右の丸ボタンから『Guide』を選択します。

Mesh Rendererでマテリアルをセット
Mesh Rendererでマテリアルをセット

 

ゲーム画面と言いつつ、拡大可能な『Scene』ウィンドウで確認してみましょ。地平線が映るくらいに光沢感があるMaterialになりました。この後ガイドとして使うことを考えると、そんなに光沢感はなくてもいい感じですね。

マテリアル適用後の『Sphere』
マテリアル適用後の『Sphere』

 

再度Materialの『Guide』に戻り、Metallicを[0.5]に、Smoothnessも[0.5]に設定します。球がいっぱい並ぶことになるので、あまりうるさくならない感じがいいです。

最終的なパラメータ
結局こうなった

 

『Scene』ウィンドウで見てみるとこんな感じ。先ほどより背景の映り込みも少ないので、たくさん並べても大丈夫そうです。

少し落ち着いた
少し落ち着いた

 

よし、これでMaterialについてはOKです。

『Sphere』オブジェクトのMaterialは『Default-Material』に戻しましょ。次回以降、今度はTexture(テクスチャ)を使ってボールっぽい画像を貼り付けたいので、今回は白のままでいきます。

次回は、今回作成したMaterialを使って、Prefabなるものを作成していきます。Prefabは日本でもよく聞く言葉で、プレハブ小屋なんて言われます。つまり、プレハブのようにすぐ組み立てて使えるテンプレートのようなものなんです。

これをスクリプトから呼んで、一気にインスタンス化しちゃおうというのが予想経路作成編のキモです。

まとめ

今回は、斜方投射で予想される経路を表示するためのオブジェクト……のためのMaterialを作成しました。

準備の準備なので結構遠回り感がありますが、ひとつひとつこなしていきましょ。

このMaterial作成はオブジェクトの見え方に直結するので、めちゃくちゃ重要度の高いパートです。いずれMaterialだけのチュートリアルも作ろうかな。

次回は、Prefabを作成していきます。

アセット作ってます!

CTA-IMAGE

Unityでの開発に役立つアセットを作っています。

3DダンジョンRPGを開発するスピードを200%加速するAssetや、ファンタジーRPGのダンジョンを彩るパーツを取り揃えています。

特に3DダンジョンRPGのゲームを1から作るのは結構時間がかかります。ダンジョン部分の作成はこうしたアセットを使って、開発をブーストさせてみませんか?