chevron_left

メインカテゴリーを選択しなおす

cancel
Unity勉強中!あこがれだったプログラマーに今からなろう! https://amaniku.hatenablog.com/

昔あこがれだったプログラマー。今からでもUnityを勉強してみようと思い立ち、チャレンジ開始! Unity勉強メモや、悪戦苦闘な日々の記録です。

自作ゲームを公開しています。 まだパソコンでしか遊べないので、現在、スマホ対応版を頑張ってます。 https://unityroom.com/users/r9bkxnqgc7zmpwjhfea3

甘肉
フォロー
住所
未設定
出身
未設定
ブログ村参加

2023/10/10

arrow_drop_down
  • 1Wジャム:Clash!Plate!

    スタジオしまづさんの1Wゲームジャムへ作品を出展しました😆unityroom.com皿割りシューティングです。 今まで学んできた要素を詰め込めるだけ詰め込んでみました。 InputSystem でキーボードでもマウスでもコントローラーでも遊べるようにできました。 ちょっと操作しづらいけどスマホでも遊べちゃいます。皿を割った時に出る時の得点表示は、最後まで苦労したところ。 何せ、今まで3DでUIを使ったことがなくて、座標をどういうふうにしたら良いのか分からない。 nekojara.city を参考にやってみたけれど、なぜかUIの座標が桁違いな値になってしまう。 ちょうど、今週の水曜が、しまづさん…

  • Unity:速度が早すぎて貫通!の対策

    皿割りゲームを作っていて、どうにも不満が。弾の速度が遅くて、どうしても弾を撃つタイミングが難しい。かといって弾を早くすると、colliderの判定が間に合わず、貫通してしまう問題が発生してしまう。Rigidbodyの衝突判定の設定を変更する方法もあるみたいだけど、どうせなら、いっそcoliider判定をやめてRaycastで判定することにしてみた。 RaycastHit[] hits; private void Shoot() { //表現として弾を発射する。 GameObject _bullet = Instantiate(Bullet,transform.position,transfor…

  • 1Wジャム参加!

    しまづさんの1Wゲームジャム。 www.youtube.com決められたテーマに沿ったゲームを一週間で作成するイベント。前回のUnityroomのジャムは、まだ勉強不足だったから断念したんだけど、今回は参加することにした。 テーマは「割る」 発表の瞬間に湧いたイメージは、皿🤣ということで、サイドビューアクションゲームは、ちょっとお休みして、皿割りゲームを作ってました。youtu.be勢いに任せて、ここまで作りました😆ざっくり作った様で、今まで学んできた要素が結構ちりばめられてます😁 InputSystemでキーボード、ゲームパッドにも対応させてます✌️ あとちょっと微調整して完成かな〜 時間制…

  • サイドビューアクションゲームを作ろう(14):遠隔攻撃してくる敵

    レベルアップもできる様なったので、罠をサクッと作成。youtu.beこの辺りは特に悩む事もなく実装できる様になったのが嬉しい😄 ダメージをあたえるダメージトラップと、一撃死のデストラップを作成する。 とりあえず、現段階では動作はアニメーション機能に任せることにした。次は遠隔攻撃してくる敵。 実はこれも、そんなに悩まずに実装できた。 基本の動きは他のEnemyと同じなので、他のEnemyのスクリプトをちょこちょこっと改造するだけで良い。 違うのは、遠隔攻撃の矢を生成してやるのと、生成時のEnemyの向きに応じて、矢の向きを変える事、そして、矢の方向に動かしてやること。まず、アーチャーのスクリプト…

  • サイドビューアクションゲームを作ろう(13):レベルアップ(下書き)

    アイテムに引き続き、レベルアップ機能を作成した。 といっても、エフェクトなどはまだ勉強していないので、とりあえず今日のところは下書き状態に留めた。レベルアップだけならば簡単で、要は経験値が、次のレベルに必要な分量溜まっていたら、経験値を0化して、各ステータスを上昇。次のレベルに必要な経験値を更新してやれば良い。Item ManagerでアイテムやEnemyの経験値加算処理するように組んでいるが、 これだと、Item Managerで経験値管理までしなくてはならない。 なので、レベルアップの処理は、EXPバーのPlayerEXP_BarとGame Managerに任せる事にした。EXPバーに任せ…

  • サイドビューアクションゲームを作ろう(12):アイテム生成完成

    ブログへのスクリプトコードの記載方法だけど、迷い迷って、結局、はてなブログの特権である、「はてな記法」に頼る事にした。 もっといい方法が見つかれば、そっちに変えるかもしれないけど、しばらくはこれでやってみようと思う。 さて、サイドビューアクションゲームの続きだけど、暫定だったアイテム生成を完成させた。ちょっと悩んだけど、ScriptableObjectのEnemy Data Tableに、それぞれのEnemyのアイテム出現率を設定した。 敵を倒したタイミングで、EnemyからItem ManagerにEnemy Noを渡し、 Item Managerは受け取ったEnemy Noを使って、Ene…

  • サイドビューアクションゲームを作ろう(11):アイテム効果

    今日は昨日作成したアイテムに効果を実装する。 昼間のうちに考えておいた構想は、ざっくりと、こんな感じ。 ・ItemGeneratorをItemManagerに改名・アイテムの効果の分類を作成・ItemDataのScriptableObjectにアイテムの効果分類と効果数値を追加。・アイテムを取得した時、ItemManagerのGetItemメソッドで処理するようにする。・ダメージ表示の仕組みで、アイテム効果を表示させる。 ItemManagerの改名やら、ScriptableObjectの改造やらはサクッと完成したけれど、ダメージ表示の仕組みでアイテム効果を表示させるのが、何気に大改造だった。…

  • サイドビューアクションゲームを作ろう(10):アイテム生成

    敵に倒され、敵を倒しと、できる様になったので、次は敵を倒した時にランダムでアイテムを出す機能を実装する事にした。 ぼんやりと考えていたのが、ItemDataを作っておき、そこにGameObjectを格納しておく。 敵を倒したタイミングで、ItemGeneratorが、乱数で出現アイテムを決め、ItemDataからGameObjectを取得してきて、敵の位置にInstantiateさせる。 倒した敵によって出現しやすいアイテムを決めてやれば、雑魚からは雑魚いアイテム、中ボスからは良いアイテムを出しやすくさせることができるだろう。 ItemGeneratorは他のステージでも使い回すためにシングル…

  • サイドビューアクションゲームを作ろう(9):UnityActionでHPバーを制御する。

    敵を倒せる様になったので、今度はプレイヤーも倒されるようにした。 Sliderを使ったHPバーはシューティングゲームで作成した事があるので、今回はSprite Rendererを使った方法。 基本的な方法はSliderと同じ。Sprite Rendererはlocalscaleを変化させてバーの増減を表す。 作ってみた感じ、自分としては、Sprite Rendererの方が扱いやすく感じた。 さらに、今回は以前から実験をしようと残課題にしていた、Unity Actionを実装してみた。 HPバーの更新をUpdateメソッドから切り離すための実装である。 プレイヤー側のスクリプト(今回の話題に関…

  • サイドビューアクションゲームを作ろう(8):落ちる床と敵を倒す

    今日は移動床に引き続き、落ちる床の実装と、敵を倒せるようにする。 落ちる床の仕組みも、れーさんのサイトを参考に作るわけだけど、移動床の時と同じく、接地判定の方法が異なるので、そのままでは使えない。 なので、単純に落ちる床のcolliderにプレイヤーが接触したら、落ちる床の落下フラグをonにする様にした。 これだと、プレイヤーが下や横から落ちる床に触れても、床が落ちてしまうけど、落ちる床ってのは、そもそも不安定ものだし😁ってことで、これでよしとした🤣 そして落ちる床のレイヤーは地面と同じにした。 これだとプレイヤー側のスクリプトは何もいじる必要がなくなる。 次に敵を倒せるようにする機能実装。 …

  • サイドビューアクションゲームを作ろう(7):移動床(修正後)

    昨日の移動床の続き。 移動床に乗ったプレイヤーに、慣性の法則なんて便利なものは働かないので、プレイヤーが滑り落ちてしまう。 今日はこの修正を行おう。 昨日記載した通り、修正方法はざっくり3通りある。 ①移動床に摩擦をかけて、プレイヤーがひこずられる様にする。 ②プレイヤーを移動床と親子関係にしてしまう。 ③移動床に乗っている時は、移動床の速度を常にプレイヤーの速度に足してやる。 結局、れーさん方式の3で解決させる事にした。 れーさんの方式のコードをそのまま持ってきたいところだけど、接地判定の方法が、れーさんのコードは、子オブジェクトのcolliderで判定させているのに対して、自分のコードは、…

  • サイドビューアクションゲームを作ろう(6):移動床(修正前)

    バーチャルコントローラーが完成したので、次は移動床を作成。 その前に、ダメージ表現と追従カメラをサクッと実装する😁 この辺りは、だいぶ、他の人の記事の内容が理解できる様になってきているのか、割とあっさり実装できる様になった。 でも、移動床は、ちょっと一味違うようだ。 床を移動させるのは問題ではない。 色々とやり方はあるけれど、移動する床だけなら、簡単に実装できる。 youtu.be 問題は、色々な記事にあったように、移動床に乗ったプレイヤーに慣性の法則が適用されないので、プレイヤーが横ずれしているように見えること。 解決策は、 ①移動床に摩擦をかけて、プレイヤーがひこずられる様にする。 ②プレ…

  • Unity:InputSystemの導入。バーチャルコントローラーの完成

    昨日の残課題だった、InputSystemのInput Actions Assetを使ったボタンのon/offの取得の仕方。 今日もあっちこっちの動画や記事を読み漁っていたら、なんと、あっさり解決してしまいそうな動画を見つけました。 www.youtube.com 7:40あたりに、まさしく今一番知りたかった事が、ズバッと説明されてました🤣 この動画、何回か見ていたはずなのに、今のいままで真価に気づけなかった〜😩 目的のものしか見えてないという、視野狭窄なのは中々治らないなぁ〜😅 ともかく、これでやり方は理解できたので、早速、実験。 Input Actions AssetにJump、Defen…

  • 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:Input Systemの前準備

    Input Systemについて、色々と記事を読んでみたが、どうにもGetAxisに相当するものが見つけられない。 で、考えた結果、GetAxisに相当するものがないなら、それに類似する動きを作ってしまえばいいんじゃない?😁 というわけで、まずは、今のスクリプトをよく見てみる。 移動開始と加速はGetAxisの効果を使っておらず、走り始めてからの時間(runTime)と、AnimationCurveから現在の速度を算定している。 これなら、GetAxisがなく0か1かの世界になっても、問題はなさそう。 問題は止まる時。 今はUpdateでGetAxisの値を判定し、停止か右移動か左移動かを判定…

  • Unity:Input Systemの勉強

    ゆくゆくはスマホで操作できる様にしたい。 そのためには、マルチプラットフォームを前提にする必要があるわけで。 それには、どうしても複数種類の操作に対応する様にプログラミングが必要😅 そのための手段として、UnityにはInputSystem なるものが用意されているらしい。 早速、あちこちのサイトを読み漁り、下記の動画を参考に、早速実験。 www.youtube.com 恐ろしく簡単に導入することができたが、ここで、ちょっと困った😣 今までのGetAxisに相当するものが、どうしても見つからない。 ジョイスティック操作だと0〜1の間の小数点が取得できるが、キーボード操作だと1か0しか取得するこ…

  • サイドビューアクションゲームを作ろう(5):壁蹴りジャンプ実装

    10月になりました。 子供の頃に齧ったBASICと、Visual BASICくらいしかプログラミグを知らない状態で、Unityに飛び込んで、はや3ヶ月とちょっと。 多少なり知識も増え、できることが少しずつ増えてきたような気がします。 しかし、汲めども尽きぬ泉の如き、Unityの奥深さ。 まだまだ学ぶことが多いので、楽しくなってきます😄 サイドビューアクションゲームですが、今月中に以下の実装をしたいと思っています。 ・二段ジャンプ・壁蹴りジャンプの実装。・ローリング状態の実装。・ダメージを数値で表示する機能の実装。・音楽、効果音の選定・移動床の実装。・落ちる床の実装。・アイテムの実装。・Scri…

arrow_drop_down

ブログリーダー」を活用して、甘肉さんをフォローしませんか?

ハンドル名
甘肉さん
ブログタイトル
Unity勉強中!あこがれだったプログラマーに今からなろう!
フォロー
Unity勉強中!あこがれだったプログラマーに今からなろう!

にほんブログ村 カテゴリー一覧

商用