メインカテゴリーを選択しなおす
今日は昨日作成したアイテムに効果を実装する。 昼間のうちに考えておいた構想は、ざっくりと、こんな感じ。 ・ItemGeneratorをItemManagerに改名・アイテムの効果の分類を作成・ItemDataのScriptableObjectにアイテムの効果分類と効果数値を追加。・アイテムを取得した時、ItemManagerのGetItemメソッドで処理するようにする。・ダメージ表示の仕組みで、アイテム効果を表示させる。 ItemManagerの改名やら、ScriptableObjectの改造やらはサクッと完成したけれど、ダメージ表示の仕組みでアイテム効果を表示させるのが、何気に大改造だった。…
敵に倒され、敵を倒しと、できる様になったので、次は敵を倒した時にランダムでアイテムを出す機能を実装する事にした。 ぼんやりと考えていたのが、ItemDataを作っておき、そこにGameObjectを格納しておく。 敵を倒したタイミングで、ItemGeneratorが、乱数で出現アイテムを決め、ItemDataからGameObjectを取得してきて、敵の位置にInstantiateさせる。 倒した敵によって出現しやすいアイテムを決めてやれば、雑魚からは雑魚いアイテム、中ボスからは良いアイテムを出しやすくさせることができるだろう。 ItemGeneratorは他のステージでも使い回すためにシングル…
サイドビューアクションゲームを作ろう(9):UnityActionでHPバーを制御する。
敵を倒せる様になったので、今度はプレイヤーも倒されるようにした。 Sliderを使ったHPバーはシューティングゲームで作成した事があるので、今回はSprite Rendererを使った方法。 基本的な方法はSliderと同じ。Sprite Rendererはlocalscaleを変化させてバーの増減を表す。 作ってみた感じ、自分としては、Sprite Rendererの方が扱いやすく感じた。 さらに、今回は以前から実験をしようと残課題にしていた、Unity Actionを実装してみた。 HPバーの更新をUpdateメソッドから切り離すための実装である。 プレイヤー側のスクリプト(今回の話題に関…
サイドビューアクションゲームを作ろう(3):落下判定と敵の実装
どのようなサイドビューアクションを作るか、おおよそのイメージが固まってきた。 昨日までのプレイヤーでは、ちょっとイメージと違うので、プレイヤー用のアセットを、Hero Knight - Pixel Artに変更。 れーさんの、最初は下書きで作成する。という、教えに背いたから、いきなりのこのやりおなしである😅 ・・・でも、まぁ、イメージって大事だし😆(反省してないw) アニメーションも、最初から作り直しになったけど、ちょうどいい復習になったから、これはこれで良しとしよう🤣 で、昨日のMedieval Warrior Pack 2にも、Hero Knight - Pixel Artにも落下中のスプ…
サイドビューアクションゲームで、攻撃判定を作ろうとして、はたと困った。 武器にColliderをつけて、敵にぶつけ、敵のダメージメソッドを呼ぶためには、敵のスクリプト名が必要になる。 ところが、敵が一種類ならともなく、何種類も敵がいれば、当然、敵のスクリプト名も変わってくる。 例として、SlimeにSlime Managerスクリプトがあり、ここにダメージ処理用メソッドOndamageがある。 BanditにはBandit Managerというスクリプトがあり、ここにもダメージ処理用のOndamageがある場合、 Colliderがぶつかった敵のスクリプトのOndamageメソッドを呼ぶために…
PLiCyの公式マガジンに『The beginning of Shooting Game』が掲載されました😄
plicy.net なんと、PLiCyの今週号に、僕の習作『The beginning of Shooting Game』が掲載されました😄 ありがたいやら、恥ずかしいやらですが、Unityを勉強していることが、ほんの少しでも認められたようで、素直に嬉しいかぎりです。 今作っているサイドビューアクションも含めて、もっと、面白くて楽しいゲームが作れるように頑張ります!!
今日は防御姿勢の実装。 プレイヤーとして導入したアセットに、盾を構えている状態のアニメーションがあるので、それを実装しよう。 次に防御に成功する条件を考える。条件は簡単に以下の3点にした。 ① 盾を構えた状態になっている。 ② 盾を構えている方向から攻撃を受ける。 ③ 敵の攻撃力が盾で防げる防御力以下。 厳密にいえば、盾の範囲に攻撃が当たった時とすべきなんだろうけど、これは今後の課題にした。 実際の導入について、①の条件「盾を構えた状態になっている。」は、防御姿勢のアニメーションへの遷移条件になっている、アニメーションパラメーターを取得してくれば良い。 これは、GetBoolで簡単に取得できる…
サイドビューアクションゲームを作ろう(5):壁蹴りジャンプ実装
10月になりました。 子供の頃に齧ったBASICと、Visual BASICくらいしかプログラミグを知らない状態で、Unityに飛び込んで、はや3ヶ月とちょっと。 多少なり知識も増え、できることが少しずつ増えてきたような気がします。 しかし、汲めども尽きぬ泉の如き、Unityの奥深さ。 まだまだ学ぶことが多いので、楽しくなってきます😄 サイドビューアクションゲームですが、今月中に以下の実装をしたいと思っています。 ・二段ジャンプ・壁蹴りジャンプの実装。・ローリング状態の実装。・ダメージを数値で表示する機能の実装。・音楽、効果音の選定・移動床の実装。・落ちる床の実装。・アイテムの実装。・Scri…
ゆくゆくはスマホで操作できる様にしたい。 そのためには、マルチプラットフォームを前提にする必要があるわけで。 それには、どうしても複数種類の操作に対応する様にプログラミングが必要😅 そのための手段として、UnityにはInputSystem なるものが用意されているらしい。 早速、あちこちのサイトを読み漁り、下記の動画を参考に、早速実験。 www.youtube.com 恐ろしく簡単に導入することができたが、ここで、ちょっと困った😣 今までのGetAxisに相当するものが、どうしても見つからない。 ジョイスティック操作だと0〜1の間の小数点が取得できるが、キーボード操作だと1か0しか取得するこ…
Input Systemについて、色々と記事を読んでみたが、どうにもGetAxisに相当するものが見つけられない。 で、考えた結果、GetAxisに相当するものがないなら、それに類似する動きを作ってしまえばいいんじゃない?😁 というわけで、まずは、今のスクリプトをよく見てみる。 移動開始と加速はGetAxisの効果を使っておらず、走り始めてからの時間(runTime)と、AnimationCurveから現在の速度を算定している。 これなら、GetAxisがなく0か1かの世界になっても、問題はなさそう。 問題は止まる時。 今はUpdateでGetAxisの値を判定し、停止か右移動か左移動かを判定…
Unity:InputSystemの導入。バーチャルコントローラー
今日も引き続き、InputSystemの勉強。 ただし、今日はいよいよサイドビューアクションゲームにInputSystemを導入して、バーチャルコントローラーを作成してみた。 参考にさせて頂いたのは、下記の2つの動画 www.youtube.com www.youtube.com InputSystemの導入自体は、想定以上に簡単。 ちょっと戸惑ったのは、Unityのバージョンが2022.3.7で、InputSystemのバージョンが1.6.3だと、Input ManagerとInputSystemの併用にデフォルトで設定される事と、 コンポーネントにPlayer Inputを追加した後で、「…
Unity:InputSystemの導入。バーチャルコントローラーの完成
昨日の残課題だった、InputSystemのInput Actions Assetを使ったボタンのon/offの取得の仕方。 今日もあっちこっちの動画や記事を読み漁っていたら、なんと、あっさり解決してしまいそうな動画を見つけました。 www.youtube.com 7:40あたりに、まさしく今一番知りたかった事が、ズバッと説明されてました🤣 この動画、何回か見ていたはずなのに、今のいままで真価に気づけなかった〜😩 目的のものしか見えてないという、視野狭窄なのは中々治らないなぁ〜😅 ともかく、これでやり方は理解できたので、早速、実験。 Input Actions AssetにJump、Defen…
サイドビューアクションゲームを作ろう(6):移動床(修正前)
バーチャルコントローラーが完成したので、次は移動床を作成。 その前に、ダメージ表現と追従カメラをサクッと実装する😁 この辺りは、だいぶ、他の人の記事の内容が理解できる様になってきているのか、割とあっさり実装できる様になった。 でも、移動床は、ちょっと一味違うようだ。 床を移動させるのは問題ではない。 色々とやり方はあるけれど、移動する床だけなら、簡単に実装できる。 youtu.be 問題は、色々な記事にあったように、移動床に乗ったプレイヤーに慣性の法則が適用されないので、プレイヤーが横ずれしているように見えること。 解決策は、 ①移動床に摩擦をかけて、プレイヤーがひこずられる様にする。 ②プレ…
サイドビューアクションゲームを作ろう(7):移動床(修正後)
昨日の移動床の続き。 移動床に乗ったプレイヤーに、慣性の法則なんて便利なものは働かないので、プレイヤーが滑り落ちてしまう。 今日はこの修正を行おう。 昨日記載した通り、修正方法はざっくり3通りある。 ①移動床に摩擦をかけて、プレイヤーがひこずられる様にする。 ②プレイヤーを移動床と親子関係にしてしまう。 ③移動床に乗っている時は、移動床の速度を常にプレイヤーの速度に足してやる。 結局、れーさん方式の3で解決させる事にした。 れーさんの方式のコードをそのまま持ってきたいところだけど、接地判定の方法が、れーさんのコードは、子オブジェクトのcolliderで判定させているのに対して、自分のコードは、…
サイドビューアクションゲームを作ろう(8):落ちる床と敵を倒す
今日は移動床に引き続き、落ちる床の実装と、敵を倒せるようにする。 落ちる床の仕組みも、れーさんのサイトを参考に作るわけだけど、移動床の時と同じく、接地判定の方法が異なるので、そのままでは使えない。 なので、単純に落ちる床のcolliderにプレイヤーが接触したら、落ちる床の落下フラグをonにする様にした。 これだと、プレイヤーが下や横から落ちる床に触れても、床が落ちてしまうけど、落ちる床ってのは、そもそも不安定ものだし😁ってことで、これでよしとした🤣 そして落ちる床のレイヤーは地面と同じにした。 これだとプレイヤー側のスクリプトは何もいじる必要がなくなる。 次に敵を倒せるようにする機能実装。 …
記事作成時の動作環境Windows11Unity Hub 3.4.2Unity HubUnityのインストールには「Unity Hub」を使用するのがおすすめです。Unity Hubでは、プロジェクトの作成や複数バージョンのUnityの管理
【Unity】Debug.DrawLineでデバッグ用のラインを描画する
記事作成時の動作環境Unity 2022.3.1f1Debug.DrawLineこの記事では、デバッグ用ラインを描画する「Debug.DrawLine」について紹介します。パラメータDebug.DrawLineのパラメータは以下の通りになっ
記事作成時の動作環境Unity 2022.3.1f1概要UnityエディターのLTSが「2022.3.1f1」に上がったので、インストールしてAndroid用にapkをビルドしようとしたらエラーが出て失敗しました。最終的にエラーの解消自体は
日本語ワードパズル – Google Play のアプリ日本語ワードパズル内で使用可能な単語の一覧です。ひらがな正式名称あーくとうあーけーどあーもんどあーるでこあいえんかあいきどうあいきょうあいけんかあいこうかあいことばあいさいかあいしゅう
【Unity】Android実機で動かしながらVisualStudioでデバッグする
記事作成時の動作環境Unity(2021.3.21f1)Android実機テストの準備Androidでの実機テスト手順については以下の記事で説明しているため、ここでは省略します。デバッグのやり方実機で動かしつつVisualStudioでデバ
記事作成時の動作環境Unity(2021.3.16f1)Sourcetree(3.4.11)バージョン管理システムとは簡潔に言うと「ファイルの変更履歴を記録」し、「変更内容の確認」や「変更前の内容に戻す」などの操作を行うことができるシステム
記事作成時の動作環境Unity(2021.3.16f1)前提条件:「Android Build Support」のインストールAndroid用にビルドするためには、エディターに「Android Build Support」がインストールされ
Unityで作ったスマホゲーム、「日本語ワードパズル」をPlayストアで公開しました。ストアページはこちら→日本語ワードパズル - Google Play のアプリAndroidのみプレイ可能です。iOS版も出せるなら出したかったけど、Ma
3作目 ゲーム制作進捗報告09 メニュー画面の構想(;´Д`)【RPGツクールMZ】
こんにちは。 やりたいことはたくさんあるのにブログのネタが無いのはなぜだ。 というわけであんまり書けることが無いのですがRPGツクールMZで制作中ゲームの進捗報告にします。 忘れられてるかも知れませんがいちおうやってるんですよ、ゲーム制作。 進捗報告いつぶりだっけ?って思ったら11月ぶりでした(;・∀・) 前回↓ 月日が経つのが早いですね~。 前回はたしかチュートリアルを作り始めたくらいでした。チュートリアルはおおよそ終わってる感じですけど100%じゃないです。 一旦切り上げてシナリオ進めようかなって思ってるんですけどそれをするにもマップを作成しないといけないのでマップも作り始めてますがなかな…