【Unity】チュートリアルの「Roll a Ball」をやってみる話 #2

記事をご覧いただき、誠に有難うございます。

投稿主の無能です。

今回は、前回に続いてRoll a Ball(玉転がし)チュートリアルを続けていきます。


主役となるSphereを登場させる

では、今回のチュートリアルの主役となるSphere(スフィア)を登場させましょう。

メニュー Game Object > 3D Object > Sphere で球体が設置できます。

Game Object > 3D Object > Sphere で球体が設置される

Positionが0で、Planeに埋まっています。

Sphereが埋まった状態

Planeと接地させるため、RotationのYを0.5にします。

RotationのYを0.5にする

Planeと接地した状態で、SceneにSphereが置けました。


これで最低限のステージ作りができました。

とは言っても、オブジェクト達がグレーで、何だか粘土みたいです。
やはり彩りがあって初めてゲームのステージっぽくなりますよね。
と言う事で、オブジェクト達に色を付けていきます。


オブジェクト達を整理する

色付けの前に、オブジェクトの名前を変更して、整理していきます。
このプロジェクトでは、まだPlaneとCubeとSphereのみなので、オブジェクトが少ない内に整理しておくと後々楽になります。

PlaneをGroundにする

Planeは地面になるので、Groundへ名前を変えましょう。

幾つか変え方がありますが、今回はショートカットキーのF2キーで変更します。
オブジェクトを選択した状態でF2キーを押すと名前変更ができます。

名前が変更可能な状態

このF2キーはWindowsでもファイル名変更のショートカットキーなので、覚えて損は無いです。

この他に名前を変更する方法として、オブジェクトが選択された状態(オブジェクトが青くなっている状態)でHierarchyビューの名前をクリックする方法があります。ちょっとゆっくりめのクリックで、上記の名前が変更可能な状態になります。

もう1つは、Inspectorビューのオブジェクト名を変更する方法です。
Inspectorビューの一番上にオブジェクト名があるので、そこを変更します。


適宜、状況に応じて使い分けてください。

次にCubeの名前を変更します。

CubeをWallにする

CubeはWallに変更します。
でもWallだと(1)、(2)…と連番になってしまうので、東西南北で区切りましょう。
命名規則はWall_方角としてみます。
この状況ではまだ方角が分からないので、後で方角を修正するとして今は適当に付けておきます。

4つのCubeをWall_方角に名前を変更した

因みに、複数選択する方法ですが、Ctrlキーを押しながら一つずつクリックする方法と、起点を決めてShiftキーを押しながら終点を押す方法があります。

Ctrlキーを押したまま、Wall_NとWall_Eの2つのオブジェクトをクリックした状態です。

Ctrlキーで複数選択する方法

Shiftキーで複数選択する時は「ここからここまで」の「ここまで」をクリックする時に、Shiftキーを押しながらクリックします。

Directional LightからWall_WまでShiftキーを使って複数選択しました。

Shiftキーで複数選択する方法

こちらもF2キーと同様、Windowsで使えます。

SphereをPlayerにする

SphereはPlayerに変更します。
Playerとするのは、文字通りゲームの中で唯一の動くオブジェクトになるからです。


これで、オブジェクトの役割を持たせるのに分かりやすくなりました。

オブジェクト達の名前が変更できた

最後に、ステージのオブジェクトをひとまとめにします。

ステージに使うオブジェクト達をまとめる

最後に、ステージに使うオブジェクト達をひとまとめにします。
Windowsで例えるとフォルダ整理みたいな感じですね。

はじめにメニュー Game Object > Create Empty から、空のオブジェクトを作成し名前をStageにします。

Game Object > Create Empty から、空のオブジェクトを作成

名前をStageにする

作成したStageは実体が無いので場所はどこでも良いのですが、一応Positionを0にしておきます。

StageのPositionを0にする

因みにTransformを0に戻す方法ですが、手入力で戻す以外に詳細メニューからリセットする方法があります。

コンポーネントのTransformの列にある3つの縦の点を押し、Resetを選択すると、TransformのPositionとRotationが0に、Scaleが1になります。


Resetを選択するとPosition・Rotationが0に、Scaleが1になる

Stageオブジェクトに、StageとWall_方角の4つの計5つのオブジェクトを入れます。
やり方はGroundからWall_方角を複数選択して、5つのオブジェクトをStageへドラッグ&ドロップします。

GroundからWall_方角の5つのオブジェクトを選択する

5つのオブジェクトをStageオブジェクトへドラッグ&ドロップする

すると、Stageオブジェクトの横に三角形が表示されます。
また、GroundとWall_方角の5つのオブジェクトは一段下がったような形になります。
Stageの三角形を押すと、三角形が横向きになり閉じられ、5つのオブジェクトが表示されなくなります。
もう一度三角形を押すと再表示されます。


これは、Stageと5つのオブジェクトが親子関係になった、というものです。
この親子関係はStageが親で、一段下がったオブジェクトが子になります。
さらに、子オブジェクトに孫、ひ孫と親子関係を拡張できます。

親子関係はこの記事では使用しませんが、結構頻繁に使われるものですので、覚えておきましょう。

これで現状のオブジェクトの整理が終わりました。
このチュートリアルの先でオブジェクトを追加するので、適宜このようにこまめに整理すると、Hierarchyビューが見やすくなって作業効率が良くなります。

ではいよいよ、ステージのオブジェクト達に色を付けていきます。

ステージに色を付ける

ステージのオブジェクト達の整理もしたので、やっと粘土みたいなオブジェクト達に色付けしていこうと思います。

Materialを作成して色付けする

オブジェクトに対して色を付けるときは、Material(マテリアル)というものを作成します。
Materialは、和訳すると素材や材質などの意味になります。

Materialを作成して、その作ったMaterialを目的のオブジェクトに適用させる、という流れで色付けしていきます。

早速やってみましょう。

ProjectビューのAseetフォルダ内で、Material用のフォルダを作成します。

Assetフォルダ内に直接Materialを作成できますが、Hierarchyビューと同様にモノが増えると途端にぐっちゃぐちゃになってしまうので、Projectビューは特に意識して整理するようにしましょう。

Projectビューの見方は、左側がフォルダの階層が表示されて、右側に選択されたフォルダの中身が表示されます。


Assetフォルダを選択した状態で、右側で右クリックします。
一番上のCreateからFolderを選択します。

Assetフォルダを選択した状態で右側を右クリック
Create > Folder を選択

Assetフォルダ内にフォルダが出来るので、名前を「Materials」にします。
一応複数形にしておきます。

新しくフォルダができた

作成したフォルダの名前をMaterialsへ変更する

Materialsフォルダに入ります。


このフォルダ内にMaterialを作成します。

Groundに色付けする


Materialsフォルダ内で右クリック > Create > Material で新規Materialが作成されます。
名前をGroundにします。

Materialsフォルダ内で右クリック > Create > Material で新規Materialを作成



名前をGroundにする

Groundマテリアルを選択すると、Inspectorビューに詳細が表示されます。



Surface Inputs内のBase Mapの白色部分をクリックすると、カラーパレットが表示されますので、色相環をいじって好きな色にしましょう。

Surface Inputs内のBase Mapの白色部分をクリックすると、カラーパレットが表示される

今回は青にしました。

すると、Base Mapの色が選択した色に変わりました。

Base Mapの色が選択した色に変わった

このGroundマテリアルを、HierarchyビューのGroundに適用させます。

ProjectビューはGroundマテリアルが入っているMaterialsフォルダ内を表示しておき、HierarchyビューでGroundを選択します。

ProjectビューはGroundマテリアルのあるMaterialsフォルダを表示した状態で、HierarchyビューのGroundを選択する

先程作成したGroundマテリアルをドラッグし、GroundにあるMesh RedererのMaterialsのElement 0へドロップします。

Groundマテリアルをドラッグし、GroundにあるMesh RedererのMaterialsのElement 0へドロップ

すると、Groundの色が変わりました!

Groundオブジェクトの色が変わった

色を変えたい時は、先程行ったBase Mapのカラーパレットで変更できます。

同様の手順で、Wallの色もMaterialで適用させましょう。

Wallに色付けする

次に新規Materialを作成し、名前をWallにします。
手順は先程Groundに色を付けた手順と同様です。

新規でWallマテリアルを作成し、カラーパレットで色を変更したところ

ここから少し手順が変わります。

Wallマテリアルを適用させたいWallオブジェクトが4つあるので、先程と同様の手順で4回適用させても良いのですが、少し楽しましょう。

適用させたいHierarchyビューのWallオブジェクト4つを複数選択して、Groundと同様にMaterialを適用させます。

HierarchyビューのWallオブジェクト4つを複数選択して

Wallマテリアルを適用する

すると、4つ同時に色が変わりました!

4つ同時に色が変わった

最後にPlayerに色付けします。

Playerに色付けする

最後にPlayerに色付けしましょう。
やり方はこれまでと同様なので割愛します。
色は白にしました。

Playerマテリアルを作成しPlayerに適用させたところ

ここで、Playerマテリアルをもう少しいじってみます。

今のPlayerオブジェクトは、真っ白なボールです。

真っ白なPlayerオブジェクト

ここでPlayerマテリアルをいじります。

いじるのは、Base Mapの下のMetalic Mapです。

そのままスライダーで値を1にしましょう。

Metalic Mapを1にする

すると、Playerが金属感ののあるボールになりました!

金属の光沢があるボールになった

他にもMaterialに機能があるのですが、今回はこのあたりにします。

こんなに簡単に色が変えられるんだなぁ、くらいの感じで。。。

今回はここまで。

まとめ

本記事では
  • PlayerとなるSphereを設置した
  • Hierarchyビューのステージのオブジェクトを、親子関係を使って整理した
  • ステージとPlayerのオブジェクトに、Materialで色付けした
という事を行いました。

次は、いよいよPlayerを動かすためにスクリプトを書いていきます。

本記事もご覧頂き、誠に有難うございます。
ではまた。

コメント