Unityを使った3Dゲームの作り方(かめくめ)の歩き方

記事内に広告が含まれています。

今回は当ブログUnityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityを学習する人向けに記事を読んでいく順序を紹介したいと思います。

ブログの最初の記事から順番に見て頂ければいいんですが、ブログの特性上記事の投稿順に見ていくのが結構面倒ですし、ブログ当初は機能を積み上げていく形になっていて、その途中の記事を見ても分かり辛いこともありました。

そこで、ある程度主人公と敵を動かしお互いに攻撃が出来るところまでの記事のリンクと記事の紹介を書いていきたいと思います。

2021/02/17に一つのゲームを作っていくカテゴリを作成しましたので、こちらの方がいいかもしれません。

シンプルなアクションゲームを作ってみよう

シンプルなアクションゲームを作るのを通してUnityの使い方を学ぶカテゴリです。

上のカテゴリではRigidbody+Colliderでプレイヤーを動かしますが、この後の記事だとCharacterControllerでプレイヤーを動かすという違いもあります。

シューティング系のゲームを作りたい方はこの下の記事の順番で見た方がいいかも?どっちがいいかはあなたしだいです!(‘◇’)ゞ

どっちも見て頂ければいいってことで・・・・・(´Д`)

この記事で紹介している全ての機能を搭載すると、

上のような感じのバイオハザード風ガンシューティングゲームみたいのが作れます。

スポンサーリンク

記事を読み進める順番

最初に紹介する記事はゲームをまったく作ったことがない人がどうやってゲームを作るのか?に焦点を当てた記事です。

ゲームを作りたいけどどうやって作るの!?
ゲームを作りたいと思っているけれどゲーム作りをした事ない人が作り始める時にあると便利かなと思う情報を載せました。基本的にはUnityでゲームを作る前のあると便利な知識を記述しています。

ゲーム開発エンジンUnityのダウンロードとUnityの勉強方法について書いた記事です。

3Dゲーム作成ツールUnityをダウンロードしてインストールする
個人でゲーム作成をする場合、グラフィック、プログラミング、音声等すべてが出来なければいけませんが、Unityを使うとAssetストアを使い補いながら作成する事が出来ます。 ゲームを作ってみたいと思っていた人に最適な開発エンジンです。

Unityエディターの画面の見方を書いた記事です。

Unityを起動して、画面を大まかに見てみる
Unityを起動して表示される画面についての説明。まずはどこで何をするかを覚えていきます。

Unityのスタンダードアセットのインポートと既に用意されているキャラクターを配置して動かすところまでを書いた記事です。

Unityでアセットのインポートをし、キャラクターを動かすまで
Unityでキャラクター操作が簡単な事を試してみましょう。元々用意されているキャラクターをシーンに配置し動かしてみます。

Unityのアセットストアから人型キャラクターをインポートする事を書いた記事です。

Unityのアセットストアから無料の3Dキャラをインポートする
UnityのAssetストアからゲームで使用する3Dキャラクターを探し、インポート(取り込む)までの流れ

アセットストアからインポートした人型キャラクターを動かす為に必要なコンポーネントの取り付けとスクリプトの取り付けまでを書いた記事です。

Unityでキャラクターを移動する為の準備と概要(スクリプトを書く前に)
Unityでキャラクターを移動させるスクリプトを書く前に準備しておく事と、移動させる為に必要な事を考えていきます。

基本的なキャラクター移動スクリプトの作成と解説を書いた記事です。

Unityでキャラクターの移動をプログラミングしてみる
Unityで3Dキャラクターモデルを配置し、キャラクターをCharacterControllerの機能を使って移動させるようなプログラミングをしてみます。

キャラクターが立っている状態と歩いている状態をアニメーターコントローラーで作成し、スクリプトからアニメーションを制御する事を書いた記事です。

Unityのアニメーションの切り替えシステムとスクリプト
Unityのアニメーションの切り替えシステムであるAnimatorControllerの設定とスクリプトからアニメーションを制御していきます。

簡易的にカメラがキャラクターの移動に追従する機能と設定について書いた記事です。

Unityでカメラの設定とキャラクターの追従をさせる
Unityで使うカメラの設定値を変更したり、カメラがキャラクターを追従するようにするしていきます。

ゲーム画面を写すメインカメラとは別にサブのカメラをひとつ作り、別視点のアングルにしてゲーム画面の右上に小さく表示することについて書いた記事です。

Unityでサブカメラを作り、別視点で小窓に表示する
Unityでサブカメラを作成し、メインカメラの右上に小さく表示します。これでキャラクターの頭上からの視点を右上に小さく表示するといったことが出来ます

複数のカメラを配置し、何らかのキーボードのキーを押したらカメラを切り替える事について書いた記事です。

Unityでカメラをスクリプトから切り替えられるようにする
Unityで二つのカメラをスクリプトから切り替えるようにし、視点変更機能を作成してきます。

懐中電灯を作成し、キャラクターの手に持たせてキャラクターのアニメーションの動きに応じて懐中電灯も動くようにした機能についての記事です。

Unityで懐中電灯を作り、キャラクターに持たせてみる
Unityのライトを使って懐中電灯を作り、キャラクターに持たせてアニメーションの動きに合わせて懐中電灯が動くようにしていきます。

3D人型キャラクター作成ソフトのMakeHumanを使ってキャラクターを作り、それをUnityに取り込んで使ってみることまでを書いた記事です。

MakeHuman1.0.2を使って3Dキャラクターを作り、Unityで取り込んで使う
3Dキャラクター作成ツールMakeHumanを使って人型キャラクターを作り、Unityに取り込んで動かしてみます。

Blender2.76bにMakeHumanで作成したキャラクターを取り込んで最終的にUnityで使うまでの事を書いた記事です。

Blender2.76bにMakeHumanデータの取り込みとUnityへのインポート1
人型キャラクター作成ソフトMakeHumanで作成したキャラクターを3DCG作成ソフトBlenderへの取り込み方と出力、それからUnityへと取り込む方法

敵キャラクターに移動機能を取り付け、目的地に向かって移動するまでの機能について書いた記事です。

Unityで敵キャラを登場させて、目的地に移動させる
敵キャラクターをシーンに配置し、動かす為のコンポーネントであるキャラクターコントローラーを取りつけ、目的地に向かって移動するようなスクリプトを作成して動かします

UnityのTerrainを使ってゲームのフィールドを作成していくことについて書いた記事です。

UnityのツールTerrainを使ってフィールドを作成する
UnityのツールTerrainを使ってゲームの地形フィールドを作成していきます。

Terrainで作成したフィールドに草や木を生やしていくことについて書いた記事です。

UnityのツールTerrainで作ったフィールドに草や木を生やす
Unityの地面作成ツールTerrainに草や木を生やしてよりリアルなフィールドを作成していく

敵キャラクターが範囲内のランダムな目的地に向けて移動する機能について書いた記事です。

Unityで敵キャラが見回りをするように動き回るプログラム
Unityのゲームで作った敵キャラクターが見回りをするように、ランダムに設定した位置に移動させる機能を作成します。

主人公が敵キャラクターの近くにきたら敵キャラクターが主人公を追いかけるようにする機能について書いた記事です。

Unityで主人公キャラが近づいてきたら追いかける敵キャラを作る
Unityで主人公キャラクターが敵キャラクターに近づいたら敵が主人公に近づいてくるようにしたいと思います。

敵が出現するポイントを作成し、そこから敵を出現させる機能について書いた記事です。

Unityで出現場所から一定時間毎に制限人数内で敵を出現させる
Unityで出現場所から一定時間毎に制限人数内で敵を出現させるような機能を作成していきます。

敵が出現する時にプレハブからインスタンス化したパーティクルのエフェクトを出現させる機能について書いた記事です。

Unityのエフェクトを使い、敵キャラの出現をわかりやすくする
Unityのエフェクトを使い、敵キャラの出現をわかりやすくします。エフェクトにはパーティクルをプレハブにしたものを使用し、スクリプトから敵の位置にインスタンス化していきます。

敵が出現時に効果音を鳴らす機能について書いた記事です。音声の設定や音の鳴らし方について学習できます。

Unityで敵キャラクター出現時に効果音を鳴らしてみる
Unityで敵キャラクターを出現させた時に効果音を鳴らして、出現した事をわかるようにしていきます。

Blenderに取り込んだMakeHumanで作成したキャラクターモデルにBlenderのRigifyアドオンを取り付けるまでを書いた記事です。Blenderでアニメーションを作成する時に便利です。

blender2.76bにmakehumanデータの取り込みとUnityへのインポート2
MakeHumanで作成したキャラクターをBlenderに取り込み、ボーンを設定しリグを取りつけます。Unityで使うアニメーションを作成する時に便利です

敵キャラクターが主人公を追いかけている状態で主人公にかなり近くなったら敵が主人公を攻撃するようにする機能について書いた記事です。

Unityで敵キャラが主人公に近づいた時に攻撃をしてくる機能
Unityで敵キャラが主人公に近づいた時に攻撃をしてくる機能を作成していきます。

主人公が敵を攻撃出来るようにする機能について書いた記事です。アニメーションクリップに設定するアニメーションイベントについても学習できます。

Unityで主人公キャラが敵を攻撃出来るようにする機能
Unityで主人公キャラが剣を振って敵キャラを攻撃出来るようにする機能を作成します

主人公が装備している武器をキー操作で切り替えることを出来るようにしていった記事です。

Unityで装備している武器をキー操作で切り替えられるようにする機能
Unityでキャラクターが装備している武器をキー操作で切り替えられるようにする機能を作成していきます。あらかじめ装備品をヒエラルキー上に表示しておくパターンとプレハブの武器をインスタンス化し切り替えるパターンを作成します。

パーティクルシステムで自作の血しぶきエフェクトを作成し、主人公や敵が攻撃を受けた時に血しぶきエフェクトを攻撃を受けた場所に表示までを書いた記事です。

Unityでキャラがダメージを受けた時に自作の血しぶきエフェクトを出す
Unityで主人公キャラや敵キャラがダメージを受けた時にスクリプトからダメージエフェクトを表示させる機能を作成します。

ゲームのBGM(Background Music)と敵キャラクターの叫ぶ声や剣を振る音のSE(Sound Effect)を鳴らすことについて書いた記事です。

UnityでBGM、敵キャラの声、剣を振る音をつける
UnityのゲームにBGM、敵キャラの声、剣を振る時の音をつけてよりゲームらしくしていきます

キャラクターのステータスや武器のステータスを保持する為のスクリプトを作成していくことについて書いた記事です。

Unityでキャラクターや武器のステータスを保持する機能
Unityでキャラクターそれぞれが自分のステータスを管理するようにします。敵のHPが0以下になったら倒れるようにします。

シーン間の移動やゲーム内で使用するボタンの作成について書いた記事です。

Unityでスタートボタン、ゲーム終了ボタンのUIを作成する
Unityでタイトル画面を作成し、スタートボタンを押した時にゲームシーンへ遷移させ、ゲーム終了ボタンを押した時はゲームのプラットフォームに応じて処理わけする機能を作成します。

Blenderで人型キャラクターに取り付けたRigifyを使ってアニメーションを作成する事について書いた記事です。

Blenderを使ってUnityで使うアニメーションを作成する
Unityで使用するキャラクター用のアニメーションをBlenderを使って作成していきます。作成方法を学べば自分のゲームに自作のアニメーションを使うことが出来ます。

アニメーターコントローラーのレイヤーとアバターマスクを使用して体の一部に別のアニメーションのモーションを適用する方法について書いた記事です。

Unityのレイヤー、アバターマスクを使って体の一部分を別のアニメーションにする
Unityで体の一部分だけ別のアニメーションに変更したい場合はAnimatorControllerのレイヤーとアバターマスクを使う事で実現出来ます。

アニメーターコントローラーのアニメーションの状態にビヘイビアスクリプトを取り付ける事について書いた記事です。

UnityのアニメーターコントローラーのStateMachineBehaviourでアニメを制御する
Unityのアニメーターコントローラーを通常のスクリプトで制御するのではなくBehaviourを使って制御するようにします

バイオハザード風にキャラクターが銃を持ったらレーザーポインターを表示し、その先に敵がいたら攻撃をあてる機能までを書いた記事です。

LineRendererやレイキャストの使い方について学習できます。

Unityでバイオハザード風ガンシューティングの機能を作ってみる
Unityでバイオハザード風ガンシューティングの機能を作ってみます。今回は銃を構えた時にレーザーポインターの表示とシューティングポイントの表示、銃を撃った時に光を表示してみたいと思います。

がんシューティングでキャラクターの上半身の角度を範囲内で動かすことが出来るようにして、敵に狙いを定めることが出来るようにした記事です。

Unityのゲームでバイオハザード風に照準を合わせられるようにする
Unityのゲームで初期のバイオハザード風に上半身の角度を変え、照準を合わせるような機能を作成していきます。

敵キャラクターの当たり判定用コライダを体の部位ごとに作成し、攻撃の当たり判定を細かく設定するようにした記事です。

Unityの敵キャラの当たり判定を細かくしてよりバイオっぽくする
Unityの敵キャラの当たり判定を細かくして、部位毎に攻撃出来るようにしていきます。

キャラクターの移動方法をラジコン操作に切り替えた記事です。

キャラクターのラジコン操作機能を作成する
Unityでキャラクターをラジコン操作で動かす為の機能を作成していきます。

キャラクターの保持している弾丸の数をUIに表示するようにした記事です。

UnityのガンシューティングゲームのUIで銃の残り弾数の表示をする
Unityで作成しているガンシューティングゲームの銃の残り弾数をUIを使って表示するような機能を作成していきます。

敵のHPを個々の敵の頭上に表示するようにした事についての記事です。

Unityで敵キャラクターのHPを頭上に表示するUIを作成
Unityで敵キャラクターのHPを表すUIを頭上に表示してキャラクターと一緒に移動するようにします。

ナビゲーション機能についての解説と敵キャラクターの動きをCharacterControllerを使った処理からナビゲーション機能を使った処理に変更する方法について書いた記事です。

敵キャラをUnityのナビゲーション機能を使って移動させる
Unityのナビゲーション機能を使って敵キャラクターを移動させます。ナビゲーション機能はあらかじめBakeされたフィールドを移動出来る機能です。

現時点での機能積み上げ記事はここまでになります。

終わりに

記事を読み進める順番を書きましたが、単純に記事を公開した順番に羅列されているだけです。(^_^;)

紹介した記事以外でも前の記事の機能を使っているものがあります。

必要に応じて増やすこともあるかもしれませんが、とりあえずは現時点では『ナビゲーション機能で敵を動かす』のところで止めておきます。

この順番で記事を読み進めて頂ければある程度ゲームっぽいものが出来上がるのではないでしょうか?(^^)/

タイトルとURLをコピーしました