趣味のゲーム開発 vol.23

今回はジャンプ台からですね。

とりあえず、こんな感じでジャンプ台の画像素材を作成しました。

画像1

Unityに素材を読み込み、オブジェクトとしてシーンに配置します。
Animatorコンポーネントを作成→ProjectビューからAnimatorControllerを作成→アタッチ
Animationビューからアニメーションを設定→Animatorビューで状態遷移を設定
でしたね。忘れていたので、確認しました。

今回はHasExitTimeを利用するのですね。
ジャンプ台が起動してから、元に戻る際に利用します。
TransitionDurationを0に設定することが必要ですね。
ここがデフォルト値だと、遷移にずれが起きてしまいます。

これでアニメーションの設定は完了ですね。

次に、スクリプトの方を修正していきます。
まずObjectCollitionにジャンプ速度のパラメータを追加します。
その後、ジャンプ台用のスクリプトを作成します。

できたら、それらをジャンプ台オブジェクトにアタッチします。
敵オブジェクトもObjectCollitionをアタッチしているので、追加したパラメータの設定を忘れずに行います。
あとはBoxColliderを追加すれば、ジャンプ台は完成です。
プレイヤー操作クラスにもジャンプ処理を追加して、実装完了ですね。

と思いましたが、問題発生です。
ジャンプしたはいいものの、ジャンプ台が起動しっぱなしになってしまいます。
どうやら、アニメーションの遷移条件パラメータをオフにする処理がなかったからですね。
よくよく考えたのですが、今回は別にアニメーションの遷移ではなく、単発アニメーションの再生でよいのでは?
というわけで、パラメータを削除し、単発アニメーション再生に変更しました。
ついでに効果音も追加。

これでジャンプ台はOKですね。

画像2

今回はまだ余裕があるので、引き続き作業していこうとおもいます。

というわけで、背景の配置をやっていきます。
まず、ステージと背景の間にある「飾り」を作成します。
画像素材の作成

画像3

次に、Tilemapオブジェクトを追加し、先程の画像を配置していきます。
このとき、TilePaletteで塗っていくと思いますが、アクティブなタイルマップを必ず確認するべしとの事。
ちょっとした操作でアクティブ対象が変わってしまうらしいので、気をつけたいですね。
次にTilemapRendererのSortingLayerでレイヤー分けを行います。
気をつけたいのは、上から順番に描画することです。

次に一番下の背景を、シームレステクスチャで作成します。
この画像の作成方法はペイントソフトによって異なるようなので、今回はPhotoshopでやってみたいと思います。
方法としては以下のとおり。
イラストを作成する→スクロール機能(ラウンドアップをオン)で斜めに50%分ずらす→継ぎ目をきれいにレタッチ(スポット修復ブラシ)

画像4

できたら、Unityにインポートします。
ここで、スプライトの設定でMeshTypeをFullRectに、WrapModeをRepeatに設定し、Applyします。
シーンビューにドロップし、配置します。
SpriteRendererのDrawModeをTiledに変更すると、画像を延ばせるようになります。
あとはSortingLayerで最背面にしてあげれば完成です。

画像5

ようやく一通り、ゲームの構成要素を作れたのではないでしょうか。
参考にさせていただいたサイト様、ありがとうございます!
次回からは、ここからオリジナルのゲームに必要な機能を追加して、完成を目指したいと思います。

ではまた!

この記事が気に入ったらサポートをしてみませんか?