
歩くための地面と、Playerオブジェクトをセットアップしていきます!
マウスの横軸の動きを検知して、Player横回転を実装します。
マウスで上下の視点移動を実装します
キーボード入力でPlayerを動かせるようにしていきます。
地面についているときにジャンプできるようにしていきます
シフトキーを押している間は走れるようにしていきます
ゲーム開始時にマウスカーソルを非表示にしていきます
銃のモデルをDLしてセットアップしていきます
ダメージや射撃間隔を決めるためのコードを記述していきます
マウスホイールで銃を切り替えれるようにしていきます。
数値キーで銃を切り替えれるようにしていきます。
右クリック時に覗き込みを実装します。
左クリック時に射撃する様にしていきます。
弾数も同時実装
弾痕エフェクトを2種類作成していきます!
弾痕エフェクトを2種類作成し、銃の射撃時に弾痕が発生する様にしていきます!
Rボタンで銃弾をリロードできるようにしていきます
弾薬数を表示するためのUIを実装していきます
弾薬数表示UIと実際の弾薬数を連動させていきます
照準UIを実装します
無料アセットをDLしてMAPとして使えるように設定していきます
MAP上にプレイヤーがスポーンする位置を作っていきます
スポーン機能の実装をしていきます
タイトル画面の作成を行っていきます
Photonの無料版をDLしてサーバーの設定などを行っていきます!
マスターサーバーに接続できるようにしていきます
サーバーに接続して、ロビーにつなげる所まで行います
ルーム作成画面UIを作っていきます
新しくルームを作成していくところから始めます
ルーム参加時のUIを作成していきます
ルーム接続する機能を作っていきます
退出ボタンを押したらルームを退出してロビーに戻るようにしていきます
エラーパネルを作成していきます
作ろうとした名前のルームが既にある時は、
エラーにしてロビーに戻すようにしていきます
作られているルームを一覧表示するUIの作成
ルームボタン用のスクリプトを記述していきます
ルーム探すボタンからルーム一覧パネルを開くようにしていきます
ルームの情報を取得してUIに一覧表示させます
バグを修正していきます
ルームボタンからルームに参加できるようにしていきます
ルームに参加しているユーザーの名前を確認できるようにしていきます
プレイヤーが自分の名前を入力するUIを作成していきます
入力した名前が設定されるようにしていきます
ユーザーがルームに参加/退出するたびにプレイヤーリストが更新されるようにしていきます
想定より大きなサイズで、ルームボタンが表示されてしまっている現象を修正していきます
部屋のマスターだけが、ゲーム開始できるようにしていきます
マスターがスタートボタンを押したら、戦闘マップに遷移する様にしていきます
プレイヤーが同じMAPに同期する様にしていきます
すべてのプレイヤーの動きが同期してしまうバグを修正します
3DモデルをDLしてPlayerにセットしていきます
プレイヤーがアニメーションする様にしていきます
銃の位置調整を行っていきます
モデルの表示切替と銃の切り替えを行っていきます
アニメーションを同期させるためのコンポーネントを付けます
銃の切り替えをしたら、正しい銃が表示されるようにコードを書いていきます
銃の射撃でHPを減らせるようにしていきます!
HPを表示するためのUIを作成していきます
HPとHPUIが連動するようにしていきます
死亡時のUIを作成します
HPが0になった時、倒してきた敵の名前をデスUIに表示するようにしていきます
HP0になったプレイヤーはリスポーンする様にしていきます
パーティクルを使って血のエフェクトを作成していきます
撃たれたときに血のエフェクトが出るようにします
なぜイベントを作るのか、どんなイベントを作るのか解説します
インターフェースを継承してカスタムイベント発生時に
コールバックされる関数を作成していきます。
プレイヤーの情報を共有するためのカスタムイベントを作成していきます
新規ユーザーがルーム参加時に、情報を渡す処理を作成していきます
マスターが処理したユーザー情報を、全ユーザーで共有していく処理を作成
ユーザーのキルとデスのカウントを処理を作成
キルデスの数を確認するためのUI作成
ユーザーの情報をUIに反映するコードを記述していきます
Tabボタンでスコアボードを確認できるようにしていきます。
特定の人数をキルしたら、状態がエンディングに切り替わるようにしていきます
終了時に表示するUIの作成
終了条件を満たしたらクリアパネル&スコアを表示して数秒後にタイトルに遷移させます
「敷居が高そうでオンラインに挑戦できていない・・」
「オンラインFPSを作ってみたい!」
もし上記が”当てはまる”のであれば”、
この講座はそんなあなたに最適なものになっています!!
【本講座は以下の方を対象としています】
オンラインゲーム開発デビューをしてみたい人
検索しても英語の解説ばかりで疲弊してしまった人
公式ドキュメントや断片的な情報しかなく開発に苦戦している人
ゲーム開発の幅を広げたい人
分からないことを調べる癖がある人
オンラインFPSゲームを作りたい人
Unityで何度かゲームを作ったことがある人※
上記を対象に講座を作成したのは、
私も同じ状況の時に「こんな講座があればな~」
と思ったことがあるからです!
最近はUnityの講座が増えてきて
様々なゲームが作りやすくなってきました!
しかし
”オンライン”となると情報がほとんどなく
あるのは断片的な情報と、公式ドキュメントのみ・・
これでは敷居を高く感じ、
オンラインに挑戦したくてもできないでいる人が
多いのではないかと思いました。
そこでこれから
オンラインゲーム開発に挑戦する人が
敷居の高さを感じることなく
オンラインゲーム開発に挑戦できるように
この講座を作成しました‼
私のプロフィールから飛べるサイトで、
クーポン発行しているのでご活用ください。
【講座内容】
本講座は、
基本的なFPSの操作部分から開発を始めていきます!
一人称視点や移動、ジャンプ、銃撃、銃の切り替えなど、
FPSに必要な機能の作り方を学べるので
ソロのFPSゲームでも生かせる内容になっています。
FPS部分の開発が終了したら、
いよいよ”Photon 【PUN2】”を用いて
オンライン機能の実装をしていきます!
サーバー接続や、ルーム作成
オンラインでプレイヤーの同期方法、
キルデススコアなどの実装方法が学べます!
またサーバー接続やルーム作成、同期などは、
FPS以外のゲームでも使えるテクニックになっています!
これを応用すればオリジナルゲームに
オンラインを実装することが可能に‼
さらに講座で記述したコードは
”セクションごとに配布”をしているので
エラーやバグで困った時も対応がしやすいようになっています!
この機会に是非、
”オンラインゲーム開発デュー”をしてしまいましょう!
【よくある質問】
Q.どの位のレベルがあれば挫折せずに受講できるの?
A.Unityで2,3度ゲームを作りきったことがある人ならば、
講座を理解できると思います‼
if文やループ文、継承などが分るレベルです。
Q.これで何ができるようになるの?
A.PhotonでデスマッチFPSを作る方法が学べます。
マッチングやオブジェクト同期、カスタムイベントなどは
応用すれば自作ゲームにも活かせます。
Q.ゾンビFPS講座とオンラインFPS講座の違いは?
A.ゾンビFPSはPlayer操作、地形、霧、敵AI、アイテム、画面エフェクト、SEなどの要素が含まれています。
オンラインFPSはPlayer操作、リスポーン、PUN2でのマッチングシステム、オンライン対戦、スコアボードなどの
要素が含まれています。
また銃の射撃やカメラ周りは実装方法が異なるので、
別のパターンも学ぶことができます。
【注意点】
本講座はUnityでゲーム開発を、
行ったことがある人を対象に作った講座です。
【講座全体で習得できるテクニック】
1人称の操作できるキャラクター(歩く:走る:ジャンプ:撃つ:リロード)
銃(撃つ:ダメージ:銃の切り替え:覗き込み:弾痕エフェクト)
HPバーや弾薬テキストなどのUI作成
MAP上でランダムスポーン
マッチング(サーバー接続:ロビー接続:ルーム接続:途中抜け:途中参加)
デスマッチ戦闘機能(Xキルしたらマッチ終了)
スコアボード(名前:キル数:デス数)
タイトル画面
ゲーム終了機能
【講座受講の推奨環境】
Unityバージョン (2020.3.x)LTSでの作業
3Dゲーム開発なのでそれなりのスペックがあるPCでの作業
※参考までに講座撮影に使用したPCスペックです
プロセッサ:Core i7-9700
グラフィックメモリ:16GB
【注意:講座の内容に含まれていません】
ビルドやリリースするまでの手順
C#&Unity基礎
アイテム所持
チーム戦
無料枠以上の対戦人数
複数MAP
待機画面等での武器種の変更
講座と異なる進め方で出たエラーのQ&Aサポート
※本講座はC#やUnity基礎の解説はしていません。
【最後に】
オンラインゲーム開発に挑戦したい
オンラインFPS作ってみたい!
こんな風に思っている人は、
ぜひこの講座でオンラインゲーム開発デビューをして
より”本格的な”ゲームクリエイターとして進んでいきましょう‼
それでは講座本編であなたを
お待ちしております!