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

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

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

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

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

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

スポンサーリンク

記事を読み進める順番

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

人型キャラクター作成ソフトMakeHumanで作成したキャラクターを3DCG作成ソフトBlenderへの取り込み方と出力、それからUnityへと取り込む方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MakeHumanで作成したキャラクターをBlenderに取り込み、ボーンを設定しリグを取りつけます。Unityで使うアニメーションを作成する時に便利です

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

終わりに

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

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

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

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

スポンサーリンク

記事をシェアして頂ける方はこちら

フォローして頂くとやる気が出ます