Unity講座

Unity講座

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

基本編【CHAPTER3】3Dアクションゲームを作ってみよう! 『カメラ自動追尾スクリプト』

 

カメラ自動追尾スクリプト作成と追加

1/2項目

手順1【Followスクリプトファイルの作成と記述】

Followスクリプトファイル(C#)を作って以下のソースコードを記述してください。

 

ブログ『Unity講座chap3』スクリプト『Follow.cs』

 

カメラ(Main Camera)の『Inspector』にドラッグ&ドロップして追加してください。

 

ターゲットオブジェクトの格納とスピードの入力

2/2項目

手順1【ターゲットオブジェクト格納】

『Target(変数)』に『SD_unitychan_humanoid(ターゲット)』をドラッグ&ドロップして格納してください。

f:id:sirokm007n:20170131200958p:plain

 

手順2【スピードの入力】

『Camera Speed(変数)』には『2』入力してください。

f:id:sirokm007n:20170131200959p:plain

 

プレビューして動作を確認してください。

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

 

f:id:sirokm007n:20170130220923p:plain

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

基本編【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

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

基本編【CHAPTER1】3Dアクションゲームを作ってみよう!『準備』

制作するサンプルゲーム

制限時間は60秒。

白色のボックスと赤色のボックスが落ちてくる。

白色のボックスに当たるとスコア―をプラス。

赤色のボックスに当たるとスコア―マイナス。

 

サンプルゲームを作成しながら『Unity』の基本を学んでいきましょう。

 

本講座は『Unity』がすでにインストールされている方を対象としているためUnityのダウンロード・インストール方法を記載していません。

 

『Unity』インストールしていない方はこちらのサイト記事を参考にしてください。

www.atmarkit.co.jp

 

さっそく作っていきましょう。

 

新規プロジェクト作成

 1/3項目

 

手順1【Unityを起動】

Unityのアイコンをダブルクリックして起動。

手順2【NEWボタンを押す】

f:id:sirokm007n:20170128190021p:plain

手順3【プロジェクトの情報を入力して作成】

プロジェクト名『SampleGame01』

f:id:sirokm007n:20170128192200p:plain

 

 

SDユニティちゃんをシーンに配置

 2/3項目

 

サンプルゲームで使用する3Dキャラクター(ユニティちゃん)を配布サイトからダウンロードしてシーン(ゲーム画面)に配置します。

 

『ユニティちゃん』無料で使うことが出来ます。

ゲームで使えるハイクオリティなアセット(素材)かつ可愛い! 

 

かなり自由に使える良質なアセット(素材)です。

 

手順1【ダウンロード】

下記のサイトにアクセスしてください。

DATA DOWNLOAD-利用規約 | UNITY-CHAN! OFFICIAL WEBSITE

 

アクセスするとライセンスが表示されるので読んでください。

同意できる方は『ユニティちゃんライセンスに同意しました。』にチェックをして『データをダウンロードするボタンを押してください。

 

f:id:sirokm007n:20170128192201p:plain

 

するとゲームで使える3Dモデルや2D画像などの一覧が表示されます。

 

今回はこの中の『SDユニティちゃん3Dモデルデータ』をダウンロードします。

f:id:sirokm007n:20170128192202p:plain

 

ダウンロードボタンを押してください。

 

手順2【インポート

 

SD_UnityChan-1.unitypackage』をダブルクリックしてください。

 

f:id:sirokm007n:20170128192203p:plain

すると下記の画面が表示されるので『Import』ボタンを押してください。

f:id:sirokm007n:20170128192204p:plain

 

これでSDユニティちゃんをプロジェクトで使えるようになりました。

 

手順3【Hierarchyビュー(ゲーム画面)に配置

 

Assets内の『UnityChanフォルダ』をクリックSD_unitychanフォルダ』をクリックPrefabsフォルダ』をクリックSD_unitychan_humanoid.prefab』を『Hierarchyビュー』(ゲーム画面)にドラッグ&ドロップしてください。

f:id:sirokm007n:20170128192205p:plain

f:id:sirokm007n:20170128192206p:plain

 

Hierarchyビュー』にはゲーム画面(シーン)あるオブジェクト一覧表示されています。 

 

オブジェクトの座標と向きを変更

  3/3項目

Hierarchyビュー』内の『Main Camera』オブジェクトをクリックしてください。

クリックすると『Inspectorビュー』に『Main Camera』の座標などの情報が表示されます。

 

手順1【Main Cameraオブジェクト】

Position(座標)

 ●X -1.88

 ●Y 1.24

 ●Z -7.124

 

Rotation(回転)

 ●X 0

 ●Y 90

 ●Z 0

座標と向き(回転)の値を変更してください。

f:id:sirokm007n:20170128192207p:plain

 

手順2【SD_unitychan_humanoidオブジェクト】

『Hierarchyビュー』内の『SD_unitychan_humanoid』オブジェクトをクリックしてください。

Position(座標)

 ●X -0.26

 ●Y 0.24

 ●Z -8.12

 

Rotation(回転)

 ●X 0

 ●Y 0

 ●Z 0

座標と向き(回転)の値を変更してください。

f:id:sirokm007n:20170128192208p:plain

 

基本技(ズームアップとズームダウン)

マウスのスクロールホイール操作をするとSceneビューの視点を近づけたり離したり出来ます。

f:id:sirokm007n:20170128192209p:plain

基本技(平行移動)

Alt+Ctrlキーを押しながらクリック&ドラッグするとSceneビューの視点を上下左右に移動することが出来る。

 

基本技(旋回)

各軸(緑や赤の部分)をクリックするとゲーム画面(シーン)を旋回

f:id:sirokm007n:20170128192210p:plain

 

 CHAPTER2では当たり判定やユニティちゃんの操作スクリプトを作成したりします。

 

f:id:sirokm007n:20170130220923p:plain

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

このブログの説明と筆者について

sirokm007nことSiroかもです!

 

自己紹介

sirokm007nといいます。略称はSiroかも! 

主にAndroidゲームを作っているゲーム制作者です。

このブログについて

 プログの内容はサンプルゲームを作りながら『Unityの基本を学ぶ』です。

 

基本編で作成するサンプルゲーム

広告について

 

 

免責事項

当ブログは可能な限り注意を払ってブログを運営管理しておりますが、その正確性や適切性に問題がある場合、告知無しに情報を変更・削除する事がございます。

当ブログの情報を用いて行う一切の行為、被った損害・損失に対しては一切の責任を負いかねます。ご了承ください。

 

 

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