スライド使ってお話し
10分くらい
触ってみよう
プロジェクトの作成
- Unityを起動する。(セキュリティの警告はアクセス許可)
- 「NEW」をクリック
- 上がプロジェクト名、下が保存するフォルダ。適当に入力してエンター
- プロジェクトできました。
- 右上の「Layout」をクリックして、「2 by 3」に変更。
エディタの説明
Sceneビュー
オブジェクトがどのように配置されているかをGUIで確認/調整できるビューHierarchyビュー
オブジェクトをツリーで確認できるビューInspectorビュー
オブジェクトの詳細を確認/調整できるビューProjectビュー
プロジェクトにふくまれているファイルの一覧を確認できるビューGameビュー
ゲームが起動した時に見ることができるビューConsoleビュー
UnityEditorの実行ログとか、プログラムのコンパイル結果とかが表示されるコンソール
作成
オブジェクトの作り方
GameObject > 3D Object > Cube
ゲームオブジェクトとトランスフォームSceneビューで確認
マウスロールとかして拡大とかできます。
ヒエラルキーの項目をクリックして矢印表示-
各ツールの紹介
alt+各クリックでいろいろできる- 手ツール 左クリックで視点操作
- 矢印ツール オブジェクトの座標移動 x y z
- 回転ツール オブジェクトの回転操作 x y z
- スケールツール オブジェクトの拡縮操作 x y z
- 万能ツール オブジェクトの全部操作 x y z
Sceneビューの2D表示
Gameビュー3:2キューブを一旦削除して、再作成
Transformを初期化。-
カメラの設定変更
- ClearFlag SolidColor
- Projection Orthographic
- Size XYの調整です 15くらいにセット
-
Cube で壁作る
- 天井 Wall roof Sceneビューで拡大して位置を移動 Inspectorで微調整
- 左壁 Cube作成して Wall left いじって配置 右壁もついでにコピーして作成
- 床作成 天井コピーして移動してくる 名前変更 ・Wall Roof ・Wal Left ・Wall Right ・Wall Floor
親オブジェクトを作成
Unityはオブジェクトをツリー構造にできるので、Wallオブジェクトを作成してWall~を格納する
CreateEmpty で作成するWallの子にする
Shiftで4つ選択してD&DRoot作ってWallを突っ込む
ユーザーが操作するバーを作る
Playerオブジェクト作ってBar(Cube)を作る
PlayerオブジェクトはEmpty BarはCube(位置調整して大きさ調整)Ballオブジェクト作成
Sphereで作成 Ballに名前を変更Rigidbodyをつける
重力体感PhysicsMaterial作成
Bar を作成Barに設定
BarのBoxColliderのMaterialにPlayerBarを設定Bounceを1に設定する
BounceCombineをMaxmumに
天井に当ててみる
roof にBarを設定
再生中にセットすると停止した時に元に戻るので、注意
再度セット
他の壁にもセット
Ballの重力消す
Ballを動かすスクリプトを書く
AddComponent > New Script
C Sharpであることを確認して
-> Create and AddBall.csを開く
AddForce()メソッドを作成する。(public)ついでにpower定義※1
StartとUpdateStart()でAddForceを呼び出す。ボールのposition変更しておく
BarのFrictionを0にする
Playerを動かす
スクリプト作ります。
Input制御 右と左 ※2スピード調整します
speed調整用の変数用意 ※3移動制限つけます
移動の限界座標を確認
移動制限をつけて、座標更新 ※4Blockの親とBlock子を作成する
PhysicsMaterialをつける
Blockのスクリプト作成
OnCllisionEnter 衝突した時
SetActive() アクティブ切り替え
Destroy() ターミネイトBlock量産
ボールの反射向きを左下に変更してみる。※6
ここまでで基本動作
ゲームにしていく
ゲームオーバー
Playerに死亡ステータス ※7
GameManagerの作成(Empty)
スクリプトをつける(GameManager)
ゲームオーバー処理とstaticインスタンス ※8GameManagerにText(uGUI)を設定
死亡タイミングの作成
どんなタイミング?
Floorスクリプトを作成※9Ballを止める※10
ゲームオーバー時に呼び出す※11
GameManagerにBallを設定
GameManagerにPlayerを設定
スコア管理※12
加算処理を行うのは、ゲーム管理クラスBlock壊れた時にスコア送信※13
成績表示
ugui
Textオブジェクトを用意GameManagerにTextを用意し、初期化※14
GameManagerにTextを設定して再生
おしまい
最高スコア
- GameManagerの処理変更※15
- やってみよう
再スタート
- GameManagerにRestartメソッドを用意※16
- BallにWakeUpを用意※17
- PlayerにWakeUpを用意※18
- GameManagerで制御※19