2020年5月31日日曜日

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


2Dスクロールゲーム開発

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

だいぶゲームらしさが出てきたところで、一番楽しみのアニメーション追加だ!
これがあるだけで雰囲気がすごくかわるから、この追加はいつもワクワクするギルガメです。

それではアニメーションに必要な画像を用意します。
ギルガメは行動していないときのアニメーション、走っているときのアニメーション、そしてジャンプのアニメーションを追加したいのでそちらの画像を用意します。

オフィシャルサイトから自由につかってください!

アニメーションリスト
  • ldle
  • run
  • jump(upとdown)
プレイヤーが簡単にアニメーションをスイッチできるようにアニメーションのコントロールするAnimatorを作成します。

2Dスクロールゲーム開発日記
用意した画像をシーンにドラッグすると簡単にAnimatorとAnimationを作成できます。

Animatorができたとことで、Animationの調整をします。

2Dスクロールゲーム開発日記
囲っているとこを動かしながら調整できます。

ここまで出来たらさっそくテストだ!
作ったAnimatorをプレイヤーに追加して動かします。最初に作ったアニメーションはAnimatorにデフォルト設定されているので、Animatorを追加するだけで動いてくれます。


プレイヤーにコンポーネントでAnimatorを追加して、先ほど作ったものをドラッグして設定は完成です!ldleのアニメーションを作ったのでテストしてみます。

2Dスクロールゲーム開発日記
おお!ldleアニメーションしてる!感動!

このように他のアニメーションをAnimator追加していきます。
今度はAnimatorでコントロールするためにパラメータを設定します。
走るアニメーションにはrunというパラメータ、ジャンプ用にjumpというパラメータを追加しました。

今回はfloatでパラメータを作成しました。

今度はldleからrunアニメーションに切り替えるための条件を設定します。ldleのオプションからrunのアニメーションにつなげてください。その後は矢印の設定からHas exit timeのチェックを外して、Settingsのグラフで切り替えのタイミングを短くしてください。この設定することで、パラメータが変更したときに、すぐにアニメーションが変更されます。

上記にように設定するをすぐにアニメーションの切り替えが可能になります。

このようにrunやjumpアニメーションを設定してください。
Animatorが終わりましたら、今度は作成したパラメータをスクリプトで変更しながらアニメーションを調整します。

playerAnimator.SetFloat("run"Mathf.Abs(move));

Animatorのコンポーネントを読み込み、作成したパラメータの値を変更するコードを追加します。値が変更することでAnimatorが切り替えてくれます。

Animatorを追加したスクリプトはこちらになります。


よし!runとjumpを追加したので動かしてみよう!


走ってる!ジャンプしてる!アニメーションを追加して雰囲気がかわった!
アニメーションってすごい・・。もっといろんなアニメーションを追加していきたいです。

アニメーションの追加でした!今度はステージっぽいものを作っていこうかな。

2020年5月29日金曜日

おすすめアセット #1 「Ferr2D Terrain Tool」


おすすめアセット

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


2D開発に役に立つおすすめのアセットを紹介したいと思います。


アセットの名前は「Ferr2D Terrain Tool」です。

有料アセットですが、ものすごく役に立ちます!


どのゲームもマップやフィールドを一から作成するとかなりの時間が必要になります。その時間を短縮してくれます。


自由に簡単に変更できるとこが楽しい!

白い丸い部分を動かしながら地形を自由に変更できます。


インポート後はデフォルトで草原やダンジョンなどがあるのですぐに使えます。また個人で作って追加することも可能なのですごくありがたい。

また草原のフィールドは草がなめらかに動くのでものすごくエレガントに見えます。

こちらのアセット使ってゲームを実際に作ってみました。


https://yosapps.com/game/play/game1/

シンプルではありますが、ぜひ遊んでみてください!


こちらのアセットはこちらから購入できます。


https://assetstore.unity.com/packages/tools/level-design/ferr2d-terrain-tool-11653


もし2Dフィールドで困っているときはぜひ使ってみてください!


まだまだおすすめのアセットがあるので、どんどん紹介していきたいと思います。


よろしくね!

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


2Dスクロールゲーム開発

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

キャラクターもルームも出来たので、カメラを設定しよう!

このままじゃプレイヤーが移動してもカメラがプレイヤーを追跡しないので、プレイヤーが枠からはみ出てしまいます。


このような状態になってしまいます。

カメラがプレイヤーを追跡するようにスクリプトをつくります。
カメラのスクリプトはこちらになります。


こちらのカメラのスクリプトをカメラに追加します。


カメラに追跡する対象を指定が必要なのでfollowTransformにプレイヤーを選びます。またはプレイヤーのオブジェクトをfollowTransformまでDragアンドDropしてください。

これでカメラは完了です!
動かしみると・・


左右に移動してもカメラが追ってきてくれるので、枠からはみでなくなりました!

移動してもプレイヤーのアニメーションが変わらないので、次回はアニメーションを追加します!


2020年5月28日木曜日

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


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

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

キャラクターを動かしてみよう!そのためにはコーディングが必要になります。
ギルはC#が好きなのでC#で進めていきます。またJavascriptや別の言語でも可能なのであなたの得意な言語で進めてください!

キャラクターを動かすために二つのスクリプトを用意します。
  • CharacterController2D (あたり判定や向きのコントロール)
  • PlayerMovement (ボタンなどのイベントのコントロール)
コードはこちらになります。

CharacterController2Dのコード

PlayerMovementのコード


こちらのスクリプトを用意してください。

スクリプトの用意が終わったらさっそくプレイヤーを追加していこう!
まずプレイヤー用のオブジェクトを作成します。プレイヤーのための画像を用意してください。ギルはピクセルアートで作成したものを使います。

用意した画像を先ほど作ったプレイヤーオブジェクトに設定します。Sprite Rendererとコンポネントを追加後、画像をSpriteにドラッグしてください。サイズを調整して、これで見た目は完成です。

プレイヤーのオブジェクトに地面の接しているかの判定用のオブジェクトを追加します。

GroundCheckerという地面の判定用のオブジェクト
を追加

GroundCheckerの地面の判定の調整をします。プレイヤーの足元あたりがいいです。

またcircleCollider2Dも追加します。

先ほど用意したスクリプトをプレイヤーオブジェクトに追加します。
スクリプトを追加した後に、GroundCheckerをスクリプトのGround Checkにドラック&ドロップしてください。またWhat Is GroundのLayerをTerrainにすることで、地面の判定が可能になり、ジャンプができるようになります。LayerにTerrainがない場合は追加してください。

プレイヤーのInspectorはこのようになっていればOKです!



これで動作確認をしてみてくさい!
動いた!でもまだカメラがプレイヤーを追ってくれないので、次回はカメラのスクリプトを追加します。

こちらを動画にしてみました。もしわからないことがあったら動画から確認してもらえると嬉しいです。



次回のカメラやアニメーションの追加も動画にしていきたいと思います。
よろしくね!

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


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

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


前回はマルチプレイの設定の説明をしました。

今回はフィールドを設定の説明をしていきたいと思います!


まずプロジェクトを作ってください。


テンプレを2Dを選択してプロジェクトを作ってください。


プロジェクトを作成後はフォルダーを整理していくと楽になります。

デフォルトでScenesのフォルダがあるので、必要なフォルダーを追加していきましょう!

  • Animations
  • Materilas
  • Prefabs
  • Scripts
  • Sprites


上記のフォルダーを追加しておくととても分かりやすく制作を進めていけるのでぜひ追加してください。

この画像のようになっていればOKです!


ではさっそくフィールドの素材を用意していきます。

今回はルームのフィールドを作成していきます。素材はギルのオリジナルの画像を使います。使う素材はなんでもいいので用意してください。ギルのオリジナルをつかう場合はアセットからぜひダウンロードしてください!


素材がきまったらドラッグアンドドロップでSpritesの中に画像を追加します。


次にSceneのSpriteつきのObjectをつくります。


さきほどのSpritesのフォルダーにいれた画像を作ったObjectに設定します。


これで見た目のフィールドが完成です!ですがこれだけだとプレイヤーを追加したときに地面をすり抜けておちていきます。

これから地面や壁をすり抜けないようにBox Colliderを追加します。

先ほどのObjectを選択して、右の詳細のAdd ComponentからBox Collider 2Dを3つ追加します。左右に壁に2つ、地面の一つになります。

Edit Colliderを選択して地面や壁などを調整します。

こんな感じになっていればOKです!


これで簡単なルームフィールドの完成です!

次はプレイヤーを追加していこう!