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

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

投稿主の無能です。

今回はUnityのチュートリアルをやっていく話です。

チュートリアルは英語が圧倒的


Unityをインストールしたけど、何から始めていいのか分からない…
という事で、チュートリアルとして名高いRoll a Ball(玉転がし)からやっていこうと思います。

検索すると、海外のチュートリアルばかりヒットして、日本語はUnity Japanの公式のものはあるけど、解説というよりかはLiveでの作成動画に近いな、という感じでした。
なので、いっそ自分でチュートリアル動画を見て作成しながら、その内容をまとめてしまおう、という流れでこの記事を書き始めました。

不慣れな感じが多々あると思いますが、どうぞ生暖かく見守っていただけると幸いです。

前提条件

  • UnityとVisual Studioがインストール済みであること。
  • Unity Version : 2021.3.9f1
  • PC spec : Windows Surface Laptop 2 (CPU : i7-8650U / RAM : 8GB)
以上の前提条件で作成していきます。

プロジェクトの新規作成

Unity Hubで新規プロジェクトを作成します。
Unity Hubを起動して、Projectsから右側にあるNew Projectボタンを押下して作成します。



プロジェクトの新規作成内容は以下になります。
  • プロジェクトの種類:3D(URP)
  • プロジェクト名:RollaBallSample01
  • 保存場所:任意
無能はドキュメントにUnityprojectsというUnityプロジェクト専用のフォルダを作成して、そこにまとめて保存しています。

ここで重要な注意点があります。
保存場所となるLocationですが、ここに日本語のフォルダを含まないようにします。
日本語のフォルダが1個でも含まれていると、正しくプロジェクトが読み込めない、読み込めてもその後の動作が正常ではない可能性があります

保存場所は任意ですが、この注意点だけ留意してください。

Create projectボタンを押下して新規作成します。

Create Projectボタンを押下して作成待ち

新規でプロジェクトを作成すると、少々時間が掛かります。
以降のプロジェクト読み込みは早くなっているので初回作成のみです。
無能の環境では3~5分程度です。

あとはHDDの容量に気を付けましょう。
プロジェクト1つで大体1GB以上なので、HDDに余裕を持たせるようにしましょう。

無能のようにノートPCの場合ではHDDの増設はできないので、プロジェクトの保存場所を外付けHDDにしても良いかもです。

プロジェクトが作成されると、自動的にUnity Editorが起動します。

Unity Editorが起動

Unity Editorが起動したら

Unity Editorが起動したら、最初にウィンドウのレイアウトを設定します。
デフォルトのままで問題ない、という方はスルーしてください。

メニュー Window > Layout > 任意のレイアウトを選択します。
2 by 3とか4 splitとかありますので、色々試してみてください。
また自分でカスタマイズしたレイアウトでも大丈夫です。

レイアウトをカスタマイズした場合は、同じメニュー内のSave Layoutで、名前を付けてSaveを押下すると保存できます。

カスタマイズしたレイアウトは名前を付けて保存が可能

因みに、無能はこんなレイアウトでやっています。

投稿主(無能)のレイアウト

左側にシーン(上)、ゲーム(下)ビューを持ってきて、ファイル・オブジェクト関連のウィンドウを右側に寄せています。
コンソールビューはヒエラルキービューとタブを一緒にしています。

デフォルトのレイアウトと幾つかカスタマイズしたレイアウトを試したのですが、ノートPCの画面ではこのレイアウトが無能としては一番しっくりきた感じです。

レイアウトは効率良く作業する上で結構ウェイトが重いと思うので、自分なりのレイアウトを見付けることをおすすめします。

早速作ってみよう

Unity Japan公式のRoll a Ballのチュートリアル動画を見て、内容は何となく掴めたと思います。
ただ「この方が良いんじゃないかな?」という部分はアレンジしていますので、予めご了承ください。

それでは、早速初めてのゲーム作りに取り掛かりましょう!

地面を作る

最初に、地面となるPlane(プレーン)を設置します。
メニュー Game Object > 3D Object > Plane で地面が表れます。

Game Object > 3D Object > Plane で地面ができた

すると、Hierarchy(ヒエラルキー)ビューにPlaneが追加されました。


一番上にあるSampleSceneというのが、現在開いているシーンファイルになります。
そこにMain Camera、Directional Light、Global Volume、最後に今追加したPlaneがあります。
Main Camera、Directional Light、Global Volumeの3つはプロジェクトを新規作成するとデフォルトで必ずついてきます。

Main Cameraはそのままカメラですね。
このMain Cameraで映った映像が、Game(ゲーム)ビューに反映されている、という事になります。

Sceneビューが作業場だとすると、カメラマンのカメラの視点がGameビューになっているので、間違っても「Sceneビューと同じくGameビューが映らない!」とならないようにしましょう。
カメラマンが居るという事は、
  • カメラをどこに設置して
  • どのように向きを設定して
  • どんな映り方をさせるのか
という指示出しをしなければならないので、ご自身が監督としてこのゲームを全て決めていくことになります。

上:Sceneビュー
下:Gameビュー
見え方は作業場(Scene)と撮影しているカメラ(Game)とで異なる

Directional Lightは太陽光のような光源です。

Global Volumeはグラフィック関連の機能のようです。
(勉強不足でよく分かりません。。。)
触らずにそのままにしましょう。


この出来たPlaneなどのモノはオブジェクトと呼びます。
オブジェクトは、どんなオブジェクトでもTransform(トランスフォーム)というものを持っています
今は「へー、そうなんだ」程度で構いません。
(無能もそんな感じです)

で、Planeが出来たと同時に、右側の空欄だったInspector(インスペクター)ビューに、何やら色々表示されました。

このInspectorビューに詳細が表示されているもの1つ1つがコンポーネントと呼ばれるものです。

PlanemのInspectorビュー

先程作ったPlaneには
  • Transform
  • Plane(Mesh Filter)
  • Mesh Renderer
  • Mesh Collider
と言う4つのコンポーネントが付いている、という事が分かります。

コンポーネントは後で操作して、見た目や挙動を制御したりします。
このような作業を繰り返して、だんだんとゲームができていくわけですね。
ワクワクしますね。

壁を作る

続いて、壁を作ります。
メニュー Game Object > 3D Object > CubeでCube(キューブ)を作成します。

Game Object > 3D Object > CubeでCube(キューブ)を作成

Cubeが作成された

あれ、半分埋まってますね。

このようなオブジェクトを、自由に位置を変えたり、変形したり、大きさを変えたりする場合に、InspectorビューのTransformをいじります。

CubeのInspectorビューのTransform

Transformは上から
  • Position:位置
  • Rotation:回転
  • Scale:大きさ
となります。

SceneビューでCubeを選択していると、3方向の矢印がでています。
矢印が出ていない場合は、Sceneビューの左側にある、十字に矢印の出ているマークを選択します。

Moveツールを選択

このSceneビューに出ている矢印を使って変形させても良いですが、今回はTransformに直接入力して変形・設置していきます。

その前に、基準となる地面のPlaneの位置を決めてしまいましょう。
PlaneのTransformのPosition・RotationがXYZが全て0、ScaleがXYZ全て1にします。

基準となるPlaneのTransformを設定
Position・Rotationは0
Scaleは1

そしてPlaneを基準にCubeのTransformを操作して、壁の形に変形させて、壁になるように位置を設定します。

まずはPositionのYを0.5にします。
するとCubeがきっちりPlaneの上に乗った形になります。

CubeのTransformのPositionのYの値を0.5にする

基準となるPlaneの上に隙間なく乗った状態

次に、壁になるように長さを変えます。
CubeのTransformのScaleのXを12に設定します。

CubeのTransformのScaleのXを12にする

すると、Planeより少し大きな棒のような形になりました。

Planeを少しはみ出した棒のような形になった

Planeの大きさに合わせるなら、ScaleのXの大きさは10でピッタリなのですが、今回は四方をきっちり合わせたいので、両端を1ずつはみ出るようにしました。

次に、Planeの端に合わせていきます。

CubeのTransformのPositionのZの値を5.5にします。

CubeのTransformのPositionのZの値を5.5にする

Planeの端ギリギリに移動できました。


因みに、Sceneビューの視点を変更する場合は、Altキーを押しながらマウス操作をします。
SceneビューでAltキーを押している間は、カーソルが目のマークになるので分かりやすいです。

このCubeの壁を反対方向に複製すれば、2方向の壁ができますね。
ではCubeを複製しましょう。

Cubeを選択して右クリックし、コンテキストメニューからDuplicateを選びます。

Cubeを右クリック > Duplicateを選択

すると、HierarchyビューにCube (1)が複製されました。

Cube (1)が複製された

ショートカットキーは、複製したいオブジェクトをHierarchyビューで選択した状態でCtrl+Dキーです。
結構使うショートカットキーなので、覚えておきましょう。

あれ?複製したはずなのに1つしかない、と思われた方、大丈夫です。
単純に全く同じ座標で重なっているだけです。
Cube (1)のTransformをいじれば、複製できていることを確認できます。

Cube (1)は反対側にするので、Cubeで設定したPositionのZの値にマイナスを付けてやると、反対側へ移動することになります。

Cube (1)のTransformのPositionのZを-5.5にします。

Cube (1)のTransformのPositionのZを-5.5にする

すると、同じように反対側に壁ができました。

同じように反対側に壁ができた

後は同じように、残り2方向に壁を作ればステージの完成です。

残り2方向のCubeはGame Object > 3D Object > Cube で新規作成しても、Ctrl+Dキーで複製しても、どちらでも構いません。
今回はCube (1)を複製します。

作ったScaleのXは10にすると、ピッタリPlaneの端ではみ出たCubeの端に収まります。

どうやって回転させるのかは、TransformのRotationをいじります。

複製したCubeのTransformを以下のようにいじります。

複製したCube (2)

複製したCube (3)

すると、Sceneビューに綺麗にPlaneの横を覆ったステージが出来上がりました!
パチパチ~!

ステージ完成!

今回はここまで。

まとめ

本記事では
  • Unityのプロジェクトを新規作成した
  • Unity Editorの画面のレイアウトを設定した
  • PlaneとCubeというオブジェクトを使って、Roll a Ball(玉転がし)のステージを作成した
という事を行いました。

説明が多くて読むのが大変だったと思いますが、何となくでも理解するのに最低限必要な事項なので、ゆっくり嚙み砕いてみてください。

次は、プレイヤーとなるSphere(スフィア)を登場させ、ステージに色を付けたいと思います。

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

コメント