2020年6月20日土曜日

2Dスクロールゲーム開発日記 #10



おはこんばんにちは!ゲームマスターのギルガメです!

今回は空の雲の自動生成を追加しようと思います。

雲のデザインはギルガメのアセットページにあるフィールド1セットに含まれています。自由に使っていいですよ!

まず自動生成なので決めた場所からランダムに生成するロジックが必要になります。決めた場所があっても、一つ一つ決めるときりがないので、コライダーの囲っている場所からランダムに生成する方法に決めました。

また今回の雲は右から左にいきます。ですが、生成された雲にはある程度までいくとオブジェクトごと消さないと沢山の雲が生成されてだんだん重くなっていきます。なのでマップの端に雲を消す処理のコライダーも作ります。

1は雲のじどうせいせいの場所
2は生成された雲をけす処理の場所

上記のように設定が完了したら、さっそくスクリプトを作っていこう!
3つのスクリプトを用意します。
  • Cloud.cs
  • CloudManager.cs
  • CloudRemover.cs
Cloud.cs
こちらのスクリプトは雲が右から左にいくようのスクリプトです。

CloudManager.cs
こちらのスクリプトはコライダーからランダムで雲を生成します。

CloudRemover.cs
こちらのスクリプトは雲が雲削除のコライダーに触れたときに、削除するスクリプトです。

ふぅ・・ちょっとテストしてみよう。
あ!雲がマップのオブジェクトに引っかかってします・・これを修正するには新しい雲用のレイヤーを作って、ほかのオブジェクトをすり抜けるように設定します。
Cloud(雲)のレイヤーを作成して、メニューのEdit>Project Settings..>Physics2Dを上記のようにチェックを外すことでほかのオブジェクトをすり抜けるようになります。

よし、もう一回テストだ!

ランダムで雲が生成された!

これで毎回同じ雲の流れがないので新鮮かも。
またトラップの自動生成などにも使えそう!

今度はプラットフォームを追加してみようかな!




2020年6月19日金曜日

おすすめアセット #2 「Pro Camera 2D 」



おはこんばんにちは!ギルガメです!

今回はこのアセット「Pro Camera 2D」紹介したいと思います。

2D開発において、カメラの設定に時間を使いたくない人にとてもお勧めです。ProCamera2Dは、あらゆる種類の2Dゲーム用のカメラをすばやくセットアップできるUnityのプラグインです。 3軸(XY、XZ、YZ)と正投影カメラまたはパースペクティブカメラをすべてサポートしているため、あらゆるタイプの2Dおよび2.5Dゲームに最適です。

パフォーマンスと拡張性に重点を置いてゼロから構築されているため、すべてのプラットフォーム(古い携帯電話を含む)で使用でき、何らかの理由で含まれている拡張機能/トリガーがゲームに完全に適合しない場合は、ニーズに合わせて簡単に拡張できます。

マップの中でもわかりやすくていいです。
マップの白い枠で囲まれているとこがトリガーになります。
わかりやすくていい!


またうれしい機能が!
  • 20以上の拡張機能とトリガー!
  • #1 MODULAR 2Dカメラソリューション
  • 未使用の機能のゼロオーバーヘッド
  • 100%のソースが利用可能
  • 新機能と修正を含む定期的な更新
  • Unityでサポートされているすべてのプラットフォームでテスト済み
またトリガーが多数あり、とても簡単に好きなとこでズームや固定なの設定ができます。
  • Boundaries Trigger
  • Influence Trigger
  • Rails Trigger
  • Zoom Trigger
さっそく使ってみました!
こちらBoundaries Triggerを追加しました。家の周りに近づくと家でカメラが固定されます。

簡単に設定ができて、時間がものすごく短縮されます。
ぜひ興味のある方、時間がない方はとてもお勧めなので使ってみてください。

いろんなアセットがあるので、見て回るのもすごくたのしい!

2Dスクロールゲーム開発日記 #9



ゲームマスターのギルガメです!

ずっとルームの中でゲームの中のギルガメは退屈してるかもなので、新しいフィールドを簡単に作成してシーンの切り替えを説明できたらと思います。

まずシーンの切り替えにはSceneManagementが必要になります。こちらをトップの方でインポートしてください。

インポートが完了したらビルドに要録してるシーンの名前が必要になります。SceneManager.LoadScene(”要録してるシーンの名前”);によりシーンを切り替えが可能です。

シーンの切り替えもちょっとおしゃれにしたいので、プレイヤーが近づいたらドアが自動で開く「自動ドア」のようなものを作ってみました。

Animatorを作成してトリガーで自動ドアを作ったよ!


自動ドアが完成したので、さっそくシーンの切り替えを追加してみよう!
スクリプトはドアに作成して、プレイヤーが近づいて「E」ボタンを押したときに移動するようにしました。以下がスクリプトになります。

こちらのスクリプトを移動したい場所に設定してください。またnextSceneに移動したいシーンの名前をセットして終わり!意外と簡単でよかった。

さっそくテスト!

外からルーム、ルームから外にシーンの切り替えができてる!

これで沢山のフィールドを作って、バンバン切り替えができるね!

今回フィールド1用に作ったデザインはギルガメのアセットからダウンロードできます。
ぜひ使ってみてください!

また新しいフィールド追加のバージョンはこちらです。

次は空の雲の自動生成の追加しようと思います!

2020年6月18日木曜日

2Dスクロールゲーム開発日記 #8



ゲームマスターのギルガメです!

前回はメッセージボックスを追加しました。
ゲーム完成までまだまだ遠いけど、ゲームっぽくなってくるとモチベーションが上がります。

今回はゲームにBGMを追加します。

まずはAudio Sourceをシーンの中に追加します。
Audio Sourceの追加


流したいBGMを用意します。

ギルガメはフリー素材からダウンロードしました。

ここから使わせていただいています。沢山のSEやBGMがあるので大変助かっています。
素材が揃ったらさっそく先ほど追加したAudio Sourceに設定します。

Drag&Dopdで簡単にBGMを設定できます。

これで音の調整をしながらテストしてください。
BGMが追加したことでモチベーションがさらにアップ!

こちらのバージョンから確認できます。

次は新しいステージを作っていくよ!

またよろしくね!

2Dスクロールゲーム開発日記 #7




ゲームマスターのギルガメです!

開発の見た目もちょっとは形になってきました!

ゲームにはやっぱりストーリーがないとですね。そのストーリーに欠かせないのがメッセージボックスによる会話シーンや物を調べたりするものを追加したいと思います。

二つのスクリプトを作成しました。
  • Dialog.cs
  • DialogManager.cs
Dialog.csは会話シーンの名前と内容をすべて保存するものになります。
DialogManager.csは会話の内容を次のステップや文字の表示をコントロールします。

Dialog.cs

DialogManager.cs


こちらの用意が終わったら、会話シーンや物を調べたいものにDialog.csを追加します。
ギルガメはこちらを用意しました。

キーボードEで会話がスタートするようにスクリプトに設定してます。

Dialog.csの設定はお好みですが、会話シーンを以下のように設定しました。
またコライダーにトリガーを設定することで、こちらに触れることで会話の内容をよみより、会話が可能になります。

Dialog.csに会話の内容を設定します。
以上のように好きなように会話を作ります。

Canvasでメッセージボックスを作ります。DialogManager.csはプレイヤーに追加します。
今回はシンプルではありますが、お好みでデザインしてください!

これで設定完了!
さっそくテスト!

   やった!うまくできた!これでNPCも追加してストーリーっぽくできる!

今回使ったフォントは漢字に対応していないので、ちょっと残念ですがかわいいので気に入っています。

Githubのバージョンはこちらになります。

役にたってくれると嬉しいです。
次はなにを追加しようかな。やっぱり開発は楽しい!