141
140

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-06-12

#ブロック崩しのチュートリアル
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]

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


続きはこちらです。

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

141
140
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
141
140

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?