[超初心者向け]Unityチュートリアル「はじめてのUnity」のブロック崩しと同等をC#で::(1)ステージ配置

  • 50
    いいね
  • 0
    コメント

ブロック崩しのチュートリアル

Unityのサイトに昔からあるチュートリアルに、以下があります。
「はじめてのUnity」(旧)
http://tutorial.unity3d.jp/archive/my-first-unity/

これを独自にC#化したものをベースとしています。

この解説は以下の段階があります、前の内容を実行した上でのものとして参照して下さい。現時点(20151026)では、新しい「はじめてのUnity」の玉転がしゲームが公開されています。本サイトのブロック崩しと併せて学習すると広がりがあり、初期の学習にはとても有効です。

どういうものを作るか

想定しているのは、以下の仕様とします。

  1. 縦長の長方形ステージを配置
  2. ボールが勝手に縦横で直線的に動いて、長方形ステージで跳ね返る
  3. プレイヤーが動かせる箱が下に在り、ボールが跳ね返る
  4. ブロックが配置されている
  5. ブロックとボールが衝突すると消える

必要最低限だとこうなりますが、更に、

  • ブロックとボールがぶつかると点数が入る
  • 下のステージの壁にぶつかるとゲームオーバー

とすれば、無限に点数が入らないので、「点数を入れるゲーム」として成り立ちます。更に面白さを加えるならば、攻略性を考える部分を仕込んでいく形になります。

それでは実際に作っていきましょう。

基礎部分の制作

先ずは、基礎をUnityエディタで作ります。

プロジェクトを作る

今回はblockという名前で作っています。
Gyazo

適宜、プロジェクトを創りたいフォルダを指定して、Create Projectを押して下さい。
Gyazo
起動直後の画面は、何もない状態です。Unityは画面の構成を適宜、使いたいように変えられますが、わかりにくくならないように、今回はこのままで説明していきます。
起動直後はGameのタブ(ゲーム実行時の画面の状態)が中央にありますが、これをSceneのタブを押して切り替えて下さい。そうすると、ゲーム設計するための画面表示になります。
その状態でこれからは進めます。


ステージを作る

ここから箱を使ってステージを作ります。

箱を出す

上に在るメニューの[GameObject]>[3D Object]>[Cube]を選択して下さい。
Gyazo
すると、画面の中央に白い箱(Cube)が登場します。
Gyazo


ステージの上部分にする

この箱の形と位置を変えて、ステージの上部分にしましょう。

箱の大きさを変える

大きさを変えたい場合は、[Inspector]タブの[Transform]を使います。[Inspector]タブの内容は、ステージ上に置いてある物のどれを選んでいるかで変わります。
この箱を、スタージ上部にするために、横長にしましょう。横長にするには、[Scale]を変更します。横方向はxになるので、[x]の値を変えてみましょう。[x]の部分にマウスを重ねると、カーソルが左右矢印(⇔)に変わります、その状態でスクラブ(マウスボタンを押したまま横にに動かす)と、[x]の値が変わると同時に形状が変化します。
Gyazo
これで見ながら変えてもいいのですが、後から他の部分と接合して作るので、きちんとした値の方が便利です。ここでは、値を10にします。
Gyazo
他の方向の大きさも変えられますが、今回はそのまま1にしておきます。

箱の位置を変える

次に、今ある場所からステージの上部になるような形の場所に移動させます。

見やすい方向からの表示に切り替える

このままだと、今見ている所が左斜め上の手前から見た状態になっています。これだと少し見にくいので、観てる視点の位置を変えます。
[Scene]タブの右上に、矢印のような物があります、これのコーンの部分をクリックすると、その座標が視点の方向に切り替わります。
Gyazo

垂直、水平などの位置から見たい場合、これを使います。真ん中の箱をクリックすると、遠近感の有り無しが切り替わります。遠くにある物体と幅や高さを較べたい場合に有効です。今回のステージはxz平面に創ろうと思います。見やすいのはy座標の方向からになるので、画面の状態にしましょう。上がzで右がxです。
Gyazo
このままだと縦長にステージを配置するには全体が捉えらないので、少しズームアウトしましょう。
縦のスクロール操作(Windowsのマウスならホイール、タッチパッドなら2本指で上下)でズーム操作が出来ます。
Gyazo
視点の方向をそのままに、位置を変えたい場合は、エディタの左上にある手のひらに切り替えます。
その状態でドラッグすると、視点になっている場所が平行移動します。
Gyazo
今の箱をステージの上部分として全体が見えるよう、以下の状態の表示にします。
Gyazo

数値入力で位置を移動する

箱の位置を変えます。数値で正確に入れたほうが後から便利なので、ここでは[Inspector]の[Transform]で変えていきます。位置を変えるのは[Position]です。
前に大きさを変えたように、値をスクラブすることでも変更できます。
Gyazo
ここでは、これを上にするので、zを10にしましょう。
Gyazo

後からわかるように名前を変える

移動が出来たので名前を変えます。[Inspector]で名前をTopWallとしました。
Gyazo


コピーして下の壁にする

他の部分を作ります。これで上部分は出来ており、これと同じ大きさを画面の真下に配置すると良いですね。

複製する

TopWallを複製します。TopWallを選択したままで、メニューの[Edit]>[Duplicate]を選びます。
Gyazo
出来上がったオブジェクトはTopWall1となって、出来上がっています。左上の[Hierarchy]タブで確認して下さい。
Gyazo

複製したオブジェクトを移動する

新しいオブジェクトが選択されている状態で[Inspector]の[Transform]で変えていきます。位置を変えるのは[Position]でしたね。ここでは画面下方向なのでz座標を変えていきます。
Gyazo
ここでは、原点にして対象の部分とすると分かりやすいので、z-10にしました。
Gyazo

後からわかるように名前を変える

移動が出来たので名前を変えます。[Inspector]で名前をBottomWallとしました。
Gyazo


左の壁を作る

左の壁を作りましょう。他の部分も同様の方法で作れます。

とりあえず作成し、配置する

上に在るメニューの[GameObject]>[3D Object]>[Cube]を選択して下さい。出来上がったCubeを移動させて、左にします。TopWall,BottomWallScalex10でしたから、左だとx-5で丁度、くっつくはずです。
Gyazo
Gyazo

位置の調整

接合部分を拡大すると、こうなっています。ポリゴンが食い込んでいるのが判ります。
Gyazo
これは、物体の座標を管理している点が、重心になっているためです。幅が1なので、左右に動かして接着した形にしたい場合は、大きさを意識した値にする必要があります。x-5.5だと、丁度になります。
Gyazo

Gyazo

名前の設定

名前を変えていなかったので、変えましょう。ここではLeftWallとしています。
Gyazo


右の壁を作る

右の壁は、上の壁から下の壁を複製したのと同様で作れます。

複製する

LeftWallを複製します。LeftWallを選択したままで、メニューの[Edit]>[Duplicate]を選びます。
Gyazo

複製したオブジェクトを移動する

新しいオブジェクトが選択されている状態で[Inspector]の[Transform]で変えていきます。位置を変えるのは[Position]でしたね。ここでは画面右方向なのでx座標を変えていきます。
Gyazo
位置を原点で左右対称にしたいのならば、LeftWallのx座標-5.5の反数にすればいいので、5.5に設定します。

名前の設定

名前を変えていなかったので、変えましょう。ここではRightWallとしています。
Gyazo

四角い枠の配置が完成です。
Gyazo


ここまでのまとめ

ここまでに学習した内容は、以下になります。覚えているか、確認しましょう。

  • 座標空間は3次元で、xが左右、yが上下、Zが奥行き。
  • [Game]タブはゲーム実行画面、編集したいときは[Scene]タブ
  • [Scene]タブで視点を変えたいときは
    • 右上のxyzの矢印で角度操作
    • ホィールで奥、手のひらで平行移動
  • 四角い箱を出したいときはメニューから[GameObject]>[3D Object]>[Cube]
  • 大きさを数値で変えたいときは、[Inspector]タブのTransform>Scale
  • 位置を数値で変えたいときは、[Inspector]タブのTransform>Position
  • 複製はメニューの[Edit]>[Duplicate]

これらを理解しているとして、以降を説明します。自信がない場合は、もう一度、繰り返すと良いでしょう。「同じものを作るのは無駄だ」と思うかもしれませんが、そんなことはありません。後々、楽になるなら、ここで復習しておいたほうが得策です。これから先の方が長いので、そこで楽ができるならトータルでかなり楽になる、ということです。


続きはこちらです。

この解説は以下の段階があります、前の内容を実行した上でのものとして参照して下さい。