mmc unity講座nanzanmmcwiki.net/_media/pc/lecture/unity/第2回...【スクリプト解説①】...

34
MMC Unity講座 2: ~ボールを実装~

Upload: others

Post on 30-Dec-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

MMC Unity講座

第2回: ~ボールを実装~

今回のおしながき

1. ボールを作成

2. ボールに物理演算を与える

3. スクリプトをかく

4. Physics Materialを作成

2

今回の新概念

Rigidbody 2D

Script(プログラム)

定数定義

Random.Rangeメソッド

Vector3・Vector2変数

Physics Material3

ボールを作成

4

ボールを作成

Hierarchyで右クリック→「UI」→

「Image」

名前を「Ball」に変更

5

ボールを作成

Rect Transformの数値を次ページの画像のように変更する

(色をお好みで変更)

6

7

ボールを作成

BallのInspectorのAdd Component

から、「Circle Collider 2D」を追加する

円形の当たり判定を得ることができる

Radiusは10に設定

8

ボールを作成

BallのInspectorのAdd Component

から、Physics2D →「Rigidbody

2D」を追加する

GravityScaleを0に変更

9

【Rigidbody 2D】

オブジェクトに物理演算の作用を与えるComponent

GravityScaleで重力の値を変更できる

マイナスつけると上に落ちるよ

とっても高機能なのでさらにくわしい機能は調べてみよう

10

スクリプトをかく

11

【Script(スクリプト)】

プログラミング言語を用いて、オリジナルのComponentを作る

Unityでは、C#、JavaScript(Unity仕様)等が使えるが、C#を推奨

Unityにおいて、プログラミングがゲーム制作のメインとは言えない

12

スクリプトを使う流れ

1. (なければ)Scriptsフォルダを作る

2. C#ファイルを作る

3. プログラムを記述する

4. 任意のオブジェクトにアタッチする

13

Scriptsフォルダを作る

ProjectタブのAssetsを右クリック→「Create」→「Folder」

名前を「Scripts」に変更

14

フォルダ管理はしっかりやろう!

C#ファイルを作る

ProjectタブのScriptsを右クリック→「Create」→「C# Script」

名前を「Ball」に変更

15

プログラムをかく

作ったファイルをダブルクリック

次スライドのようなVSCodeの画面が開くはず

16

17

プログラムをかく

別紙②の2-1. Ball.csと同じプログラムをかいていく(コメントはどっちでもいい)

コピペしちゃってOK

http://nanzanmmcwiki.net/pc/le

cture/unity/ex2

18

【スクリプト解説①】

C言語で言う、「#define」にあたる構文

初期値などの設定に使う

float型は,小数でもいける型

小数は「0.5f」のように,後ろにfをつける(整数はどっちでもいいが,fをつけるとfloat型を保証する) 19

【スクリプト解説②】

オブジェクトのコンポーネントを取得する

「Velocity(速度)」の数値を変更するために、BallのRigidbody 2Dを取得した

変数型varは,コンパイル時に自動で変数型を設定してくれる 20

【スクリプト解説③】

乱数を生成するRandom.Range()

メソッド

Random.Range(最小値, 最大値);

int型とfloat型に対応

X, Y方向を取得することで角度を決める

21

【スクリプト解説④】

方向×速さで、速度を出す

Rigidbody 2Dがもつvelocityという値に代入

一番右の値はおまじないです22

【Vector型】

その名の通り,ベクトルを保存するUnity独自の変数型

Vector3(float x, float y, float z);

使うときは基本的に、前にnewをつける

23

オブジェクトにアタッチ

さっきのBall.csを、HierarchyタブのBallにD&D

アタッチできているかをInspector

で確認

24

いざ、実行!

Ctrl + Pでゲームを実行してみる

壁で跳ね返らない...

25

Physics Materialを作る

26

【Physics Material】

Rigidbodyに性質を追加するもの

「Friction」: 摩擦力→滑りにくさ

「Bounciness」: 弾性力→跳ねやすさ

これらの値を設定できるようになると思えばよい

27

Materialを作成

ProjectタブのAssetsを右クリック→ Create → Folder

名前を「Physics Material」に変更

作ったフォルダ内で右クリック→ Create → Physics Material 2D

名前を「BallPhysicsMaterial」に変更

数値を次スライドのように合わせる

28

29

Materialを装着

BallのInspecterタブで、Rigidbody

2Dの「Material」にさっき作ったMaterialをドラッグ&ドロップ

30

再度実行!

ちゃんと壁に跳ね返るようになったら成功!

31

今回はここまで

32

次回予定(第3回)

ブロックを作成

ブロックを複製

消えるようにする

33

第2回 おわり

お疲れさまでした

34