Unity講座

読者です 読者をやめる 読者になる 読者になる

Unity講座

サンプルゲームを作りながら覚える! Unity

基本編【CHAPTER2】3Dアクションゲームを作ってみよう!『当たり判定とマテリアルとユニティちゃん操作スクリプト』

SDユニティちゃんとボックスの当たり判定

  1/2項目

 手順1【CharacterControllerの設定】

SD_unitychan_humanoidオブジェクト』を選択して『CharacterControllerコンポーネント』を追加してください。

f:id:sirokm007n:20170128192211p:plain

 

追加したら座標と向きを変更した『Inspectorビュー』に『SD_unitychan_humanoidオブジェクト』の情報を表示『CharacterController』の値を変更してください。

Center

●X 0

●Y 0.6

●Z 0

Radius

0.5

Height

1.3

f:id:sirokm007n:20170128192212p:plain

 

手順2【ボックス(Cube)の作成とBox Colliderの追加】

ボックスの作成

『Createメニュー』の『3D Objectカテゴリ』から『Cube』を選択してください。

f:id:sirokm007n:20170128192213p:plain

 

『Hierarchyビュー』の中に作成された『Cube』オブジェクトのサイズを変更してください。

 

Scale(サイズ)

●X 0.2

●Y 0.2

●Z 0.2

f:id:sirokm007n:20170129214933p:plain

Box Colliderの追加

『Cubeオブジェクト』を選択して『Box Colliderコンポーネント』を追加してください。

f:id:sirokm007n:20170128192214p:plain

 

『Inspectorビュー』の『Box Collider』の『Is Trigger(チェックボックス)』をチェックしてください。

f:id:sirokm007n:20170129214934p:plain

 

手順3【ボックス(Cube)のPrefab化】

『Cubeオブジェクト』を選択して『Assets』にドラッグ&ドロップしてください。

f:id:sirokm007n:20170128192215p:plain

 

手順4【Hierarchyビューのボックス(Cube)削除】

『Assets』内にPrefabとして保存したので『Hierarchyビュー』(ゲーム内)の『Cubeオブジェクト』を選択してDeleteキーを押して削除してください。

f:id:sirokm007n:20170128192216p:plain

 

これでボックス(Cube)とユニティちゃんの衝突が検知できるようになりました。

 

手順5【赤色のボックス(Cube)の作成とPrefab化】

先ほど『白色のボックス(Cube)』を作成して保存しました。今度は『赤色のボックス(Cube)』を作成して保存します。

 

先ほどと同じようにボックス『Cube』を作成して『Scene(サイズ)』を変更そして『Box Colliderコンポーネント』を追加して『Is Trigger(チェックボックス)』をチェックしてください。

 

ボックス『Cube』の色を赤色にします。

『Assets』内で右クリック⇒『Create』⇒『Material』クリック

f:id:sirokm007n:20170128192217p:plain

 

『Assets』内に『New Material作成されます。名前を『Red』変更してください。

f:id:sirokm007n:20170129214935p:plain

 

『マテリアル』とは3Dオブジェクトの表面の色などの管理機能です。マテリアルを作成してオブジェクトに追加すると色の変更ができます。

 

マテリアルの設定

設定

 ●R 250

 ●G 0

 ●B 0

 ●A 255

『Red』をクリック⇒『Inspector』の『Albedo』の下記画像の赤線で囲まれたところをクリックすると下記画像の3が表示されます。上記のR・G・B・Aの値を入力してください。

 

f:id:sirokm007n:20170128192218p:plain

Hierarchyビュー』(ゲーム内)の『Cube』にマテリアルを追加してください。

f:id:sirokm007n:20170129214936p:plain

 

赤色になったと思います。先ほどと同じように『Assets』内にドラッグ&ドロップしてPrefabとして保存して『Hierarchyビュー』(ゲーム内)の『Cube』を削除してください。

 

『Assets』内に白色のボックス(Cube)と赤色のボックス(Cube1)Prefab(素材)の作成が出来ました。

f:id:sirokm007n:20170128192219p:plain

 

SDユニティちゃんを操作するスクリプト作成

 2/2項目

『Assets』内で右クリック⇒Create』⇒『C# Script』クリック

f:id:sirokm007n:20170129214937p:plain

 

『Assets』内に『NewBehaviourScript作成されます。名前を『Control』変更してください。

 

Control.cs』をダブルクリックしてください。しばらくするとスクリプトエディタ(デフォルトだとMonoDevelop自動的起動します。

f:id:sirokm007n:20170128192220p:plain

 

以下のスクリプトを記述してください。Control.csに。

 

ブログ『Unity講座chap1』スクリプト『Control.cs』

 

入力保存が終わったら『Assets』内のControl.csをSDユニティちゃんの『Inspectorビュー』にドラッグ&ドロップして追加してください。

 

f:id:sirokm007n:20170128192221p:plain

追加したら『Advance Speed』と『Back Speed』に値を入力してください。

『Advance Speed』は40。『Back Speed』は30。 

 

Unityデフォルトのスクリプトエディタ(MonoDevelop)はコードの補完やデバック、検索や置換など豊富な便利な機能が使えます。

 

SDユニティちゃんが左右に移動するようになりました。

 

 今すぐプレビュー(動きを確認)したいところですが、空間上に床をまだ作っていないので作りましょう。床がないと重力に従って下へ下へ落ちていきます。

 

基本技(プレビュー)

再生ボタンをクリックすると実際のゲーム上の動きを確認できる。Sceneビューでオブジェクトを配置したりしてGameビューで動きを確認する。

f:id:sirokm007n:20170128192222p:plain

 

床の作成

Cubeを作成して座標などを入力してください。

Position(座標)

 ●X -0.29

 ●Y -0.02

 ●Z -6.987

Rotation(回転)

 ●X  0

 ●Y 0

 ●Z 0

Scale(サイズ)

 ●X  1

 ●Y 0.5

 ●Z 10

 

 名前を『Cube』から『Floor』に変更してください。

f:id:sirokm007n:20170216153722p:plain

これで床の作成は終わりです。

 

さっそくプレビューして動作を確認しましょう。

 

マウス左クリック(押している状態)左移動。

マウス右クリック(押している状態)右移動。

マウスを離すと動きを止める。

 

 

ユニティちゃんがカメラ視点の外にいって見えなくなる!? カメラがプレイヤーを自動追尾スクリプトを作成してカメラに追加すればこんなことは起きません。

『カメラがプレイヤーを自動追尾』CHAPTER3でやります。

 

『プレビュー』すると右と左端の『Face Update(各アニメーション動き確認ボックス)』と『Change Motion(次または後ろのアニメーション確認ボックス』が出現します。ボタンを押すとSD ユニティちゃんアセット(素材)にデフォルトで入っているアニメーションの動きを見ることができます。

 

表示したくない場合は『SD_unitychan_humanoid』オブジェクトをクリックして『Inspectorビュー』の『Idle Changer(Script)』の『Is GUI』のチェックと『Face Update(Script)』の『Is GUI』のチェックを外してください。

 

CHAPTER2は以上で終了です。お疲れ様でした!

 

f:id:sirokm007n:20170130220923p:plain

ユニティちゃんライセンス条項』の元提供されています。

デザインテーマ【Yunomi】適用