メインカテゴリーを選択しなおす
しまづさんのUdemyを参考にして、攻撃コンボを作る過程でスタミナを作り込んだ。 こうなってくると、そろそろただの四角形で作ったHPとスタミナのバーが不恰好に見えてきたので、UIを作り込んでおく事にした。UIはアセットストアで、一眼見て、雰囲気がとても気に入ったSteampunkUIを使っている。 assetstore.unity.comスチーム関係ない世界観のゲームだけど、そこは気にしない🤣 雰囲気が良ければいいのだ😆右上は3Dアクションゲームを作ろう(6)で作成したレーダー画面。 ただ、普通に映しただけでは縁もない状態で見栄えが悪いので、Render Textureを使ってUIのRaw I…
VRChatのUnity推奨バージョンが上がったということで、久々に様子を見ようと VRChat Creator Companion (以下VCC) を起動しました。 様子を見るだけのつもりが、ついうっかりボタンを押してワールドSDKモジュールをアップデートしてしまいました。する...
unityroom.com橋広コウさんも、同じく流星咲斗さんの動画シリーズで勉強して作品を公開されたので、早速遊んでみた。 その作品の中で、敵レーダーがあったのが、とても便利で感銘を受けたので、自分でも作ってみる事にしました。まず、レーダー用のカメラを作成し、Player Objectの子供に設定する。 レーダー用のカメラは、ある程度の高度のプレイヤーの真上から、プレイヤーを撮影するようにする。 次に、その映像を同時にゲーム画面に表示させるのだが、これは調べてみると、案外簡単に設定できた。ただ、これだと、単に上空からの映像になってしまって分かりにくかったので、レーダーに映るObject(Pos…
流星咲斗さんの【3Dアクションゲーム】作り方。 動画シリーズでの勉強は今日の#15 『敵をロックオン』で最後。 まだ、 #11 『ゲームオーバー表示を実装』 #13 『制限時間の実装』 #14 『スコアを作る』 #16 『ゲームを 書き出す』 といくつかの動画はやっていないけれど、サイドビューアクションゲームで学んだことと 重なる部分と思えたのでパスした。さて、#15 『敵をロックオン』 www.youtube.com3DARPGを遊ぶには是非とも欲しい機能だ🤩作り方もそれほど難しくなく、サクッと実装する。 これで、一応ロックオン機能の完成ではあるのだけど、 敵をロックオンしていると、カメラが…
ついに3Dに手を出してしまいました 3Dは情報量が多すぎるので2Dの方が私は好きなのですが… アクションゲームは平面だと寂しい感じがしますね そう感じさせないアイデアがあればいいのですが 斬新なアイデアなんてフツーのおば(あ)さんにはそうそう降りてきません(笑) youtubeで3Dアクションゲームの作り方を解説されている動画があったのでこれを見ながら作りました www.youtube.com 人のプログラムっておもしろいです その人の性格?くせ?好み?みたいなものが見えて いろいろと勉強になりました 3分程度で終わる簡単なゲームにしたかったのですこーしだけアレンジしました 150秒以内に30…
流星咲斗さんの【3Dアクションゲーム】作り方の続き〜今日は、 #9 『プレイヤーのHPの実装』 #10 『敵をウロウロさせる』 #12 『地形を変える』 を学習。#11 『ゲームオーバー表示を実装』については、 見た感じ、ほぼほぼサイドビューアクションゲームと同じ感じだったので、飛ばした😁あとは、#13 『制限時間の実装』、#14 『スコアを作る』、#15 『敵をロックオン』、#16 『ゲームを 書き出す』 だけど、 #13、#14、#16は他のゲームと同じ感じっぽいので、飛ばすと思う😁#15はぜひやりたいので、明日これをやって、あとは自己流に修正していく感じかな〜といっても、実はもう相当、自…
VRM Dance Viewer 用 アセットバンドルの作り方(1)
VR Dance Viewer(旧 VRM Dance Viewer)はわたしが作った3Dモデルのダンス鑑賞ソフトです。 (同名のWebアプリがあったのでアプリ名変更しました) ソフトは ここ からダウンロードできます。 事前準備 Unityをインストールします。現在の...
VRM Dance Viewer 用 アセットバンドルの作り方(2)
前回の事前準備 をあらかじめ済ませておいてください。 ステージ編 ステージをシーンに配置して新しい GameObject を作成し、ライトも含めて GameObject にまとめます。シェーダーVRChatやClusterで使えるものなら(仕組上)何でも大丈夫です。...
VRM Dance Viewer 用 アセットバンドルの作り方(3)
初回の事前準備 をあらかじめ済ませておいてください。 PhysBornを他形式に変換する場合は、 VRChat SDK (Avater) と DynamicBone または VRM Converter for VRChat を インストールしておいてください。また、Uni...
弊ソフト、 VRDanceViewer はVMDやBVHにも対応していますが、Unityでダンスモーションをアセットバンドル化して使う想定のソフトです。ということで、今回はUnityで使えるダンスモーションやアニメーションの入手先をいつくか紹介します。 UNITY-CHA...
今日は、流星咲斗さんの【3Dアクションゲーム】作り方の #8 『HP(体力)』これもシューティングゲームやサイドビューアクションゲームで散々作ってきたHPバー。 3Dでの実装は初めてだったが、基本的な構造は同じだった。ただ、HPバーの向きが敵と同じ方向になってしまうため😅、見辛くて仕方がない。 これについては研究の必要がありそうだ。あとは、敵を攻撃した時があまりにも寂しかったので、攻撃がヒットした場所にエフェクトを表示させるようにしてみた。OnCollisionEnterとOnTriggerEnterで衝突座標の取得方法が違うようで、 OnTriggerEnterだと、こんな感じらしい。 Ve…
今ひとつサイドビューアクションゲーム作りのきぶんが乗らないので、新しいゲームの作り方を勉強することにした😅 飽きっぽいのが、僕の良くないところ🤣youtubeで再生リストでまとまっているのを見つけたので、流星咲斗さんの【3Dアクションゲーム】作り方を勉強してみよう。 www.youtube.com今日は、 #1 『移動できるようにしよう!』 #2 『アニメーションの切り替え方法』 #3 『敵を出す方法』 をやってみた。基礎の説明ではあるけれど、人によってスクリプトの書き方が違っていて、これはこれで勉強になる。 それにしても、アセットをそのまま使うのでよければ、3Dフィールドを作るのがこれほど楽…
今回はアクションゲームでよく見かけるHPを表示する方法です 表示部分だけでは面白くないのでスペースキーを押すと騎士がゴブリンを攻撃し10回攻撃するとゴブリンが消える仕様にしました 1.ゴブリン 騎士 剣をシーン内にドラッグ&ドロップし 位置やサイズ角度を調整する 2.ヒエラルキーの+をクリックしてUI/画像を選択 3.位置横の四角をクリック アンカープリセットのleft/topをAltキーを押しながらクリック 4.位置 サイズを調整し名前をHPbaseに変更 5.HPbaseを右クリックし複製を選択 6.サイズをHPbaseより少し小さくし ソース画像に白い画像をドラッグ&ドロップ 名前をHP…
さいきん残業ばっかりで、制作が遅々として進んでいなかったけれど、ようやく完成。 スタジオしまづさんの1WSSへの参加作品「Clash Plate」を改良して、Break Plate!を公開しました。前作では、Time .deltatimeをかけ忘れるという、あまりにも悔しい結果だった。 今回はそこをきっちりと修正。 それに、スコアゲームなのだから、スコアランキングが欲しくなり、PlayFabを利用してランキング機能を追加している。さらに、rocoさんの作品を見て、ゲットしてはいけない減点ポイントがある方が良いと思ったので、黒皿を追加。後半が単調に感じたので、皿湧きのタイミングを残り時間で調整す…
昔なつかしいパックマン風のゲームを作りました いつも思いつきで簡単なゲームを作っていたのですが 今回は他の人のプログラムの仕方を見てみたくて www.youtube.com このyoutubeを見ながら作りました なのでゲームのクオリティが高いです(笑) StartまたはRetryをクリックするとゲームが始まります パックマンの移動操作は矢印キーのみです ゴーストにつかまらないようにしながらペレットを食べます パワーペレットを食べるとゴーストがイジケ状態になりパックマンとの立場が逆転します パックマンにつかまったイジケゴーストは目玉になって 巣に戻ると元の状態に復帰します ペレットをすべて食べ…
今回はBGM等のサウンドをミュートする方法です やり方はいろいろだと思いますが簡単な方法を ちなみに画像は『いらすとや』さんの画像 www.irasutoya.com BGM音源はFREE BGM DOVA-SYNDROME Reguさんの『のんきな日常』を使わせて頂いています dova-s.jp 1.ヒエラルキーの+をクリックしてUI/古い機能/ボタンを選択 2.スピーカーONの画像をImageのソース画像にドラッグ&ドロップ 3.サイズを調整しオブジェクトの名前をSpeakerに変更 4.コンポーネントを追加をクリックしAudioSourceを追加する 5.オーディオクリップにBGMの音源…
Playfabでのランキング実装の続き。あのあと、色々と実験していて判ったことだが、 var guid=System.Guid.NewGuid(); でのGUID生成は、毎回起動のたびに行われるので、今のままでは起動するたびに、Playfabに新しいアカウントが登録されてしまう。 これは流石に都合が悪いので、ゲーム起動時のランキング取得は管理者用のアカウントで行い、ランキングインした時だけプレイヤーアカウントを生成するようにした。 これで、無数にアカウントが生成されるのを多少は制限できると思う。ゲーム終了時に今回のスコアと、取得しておいたランキングのスコアを比較してランキングインしたかどうかを…
以前AndroidStudioの日本語化をアップしたので everydayisagoodday.hatenadiary.com 今回はUnity HubとUnityの日本語化です まずはUnity Hubから 1.⚙をクリック 2.Appearanceを選択してLanguageの▼をクリック 3.日本語を選択するとすぐに日本語表記に変わります 次にUnity 1.インストールを選択 エディターの⚙をクリックしモジュールを加えるを選択 2.下にスクロールして日本語にチェックを入れてインストールをクリック 3.インストールが完了したらプロジェクトを開く 4.Edit/Preferencesを選択 …
前回も書いたけど、ニフクラでのランキングはどうにも、しっくりこなかったので、Playfabでのランキング実装をやってみることにした。まずはPlayfabのアカウント登録だが、僕の環境では普通に検索すると、AzurePlayFabが先頭に来てしまうが、とりあえずこれは別物。 PlayFabのアカウント登録は、ここになります。https://developer.playfab.com/en-us/sign-up利用料金は非常に難解で、僕には理解しきれませんでしたが、オンラインサロンの皆に聞いた限りでは、料金請求された事がないそうなので、そこまで気にする事はないのかも。 むしろ、料金発生するくらい遊…
スタジオしまづさんの1Wゲームジャムへ作品を出展しました😆unityroom.com皿割りシューティングです。 今まで学んできた要素を詰め込めるだけ詰め込んでみました。 InputSystem でキーボードでもマウスでもコントローラーでも遊べるようにできました。 ちょっと操作しづらいけどスマホでも遊べちゃいます。皿を割った時に出る時の得点表示は、最後まで苦労したところ。 何せ、今まで3DでUIを使ったことがなくて、座標をどういうふうにしたら良いのか分からない。 nekojara.city を参考にやってみたけれど、なぜかUIの座標が桁違いな値になってしまう。 ちょうど、今週の水曜が、しまづさん…
皿割りゲームを作っていて、どうにも不満が。弾の速度が遅くて、どうしても弾を撃つタイミングが難しい。かといって弾を早くすると、colliderの判定が間に合わず、貫通してしまう問題が発生してしまう。Rigidbodyの衝突判定の設定を変更する方法もあるみたいだけど、どうせなら、いっそcoliider判定をやめてRaycastで判定することにしてみた。 RaycastHit[] hits; private void Shoot() { //表現として弾を発射する。 GameObject _bullet = Instantiate(Bullet,transform.position,transfor…
しまづさんの1Wゲームジャム。 www.youtube.com決められたテーマに沿ったゲームを一週間で作成するイベント。前回のUnityroomのジャムは、まだ勉強不足だったから断念したんだけど、今回は参加することにした。 テーマは「割る」 発表の瞬間に湧いたイメージは、皿🤣ということで、サイドビューアクションゲームは、ちょっとお休みして、皿割りゲームを作ってました。youtu.be勢いに任せて、ここまで作りました😆ざっくり作った様で、今まで学んできた要素が結構ちりばめられてます😁 InputSystemでキーボード、ゲームパッドにも対応させてます✌️ あとちょっと微調整して完成かな〜 時間制…
サイドビューアクションゲームを作ろう(14):遠隔攻撃してくる敵
レベルアップもできる様なったので、罠をサクッと作成。youtu.beこの辺りは特に悩む事もなく実装できる様になったのが嬉しい😄 ダメージをあたえるダメージトラップと、一撃死のデストラップを作成する。 とりあえず、現段階では動作はアニメーション機能に任せることにした。次は遠隔攻撃してくる敵。 実はこれも、そんなに悩まずに実装できた。 基本の動きは他のEnemyと同じなので、他のEnemyのスクリプトをちょこちょこっと改造するだけで良い。 違うのは、遠隔攻撃の矢を生成してやるのと、生成時のEnemyの向きに応じて、矢の向きを変える事、そして、矢の方向に動かしてやること。まず、アーチャーのスクリプト…
2Dのレーシングゲーム作ってみました 自分の車は赤です Race Startのボタンをクリックするとスタートの3秒前からカウントダウンが始まります スペースキーがアクセル →キーが進行方向に対して右回転 ←キーが進行方向に対して左回転です コースを3週して順位を決めます 3Dのレーシングゲームはアセットもいろいろとあってより凝ったものができそうですが 私は見た目も操作も簡単な2Dのゲームが好きなのでこんな感じにしてみました PCでのプレイを前提としているのでスマホやタブレットではうまく動作しません ダウンロード無し Web上で遊べるミニゲームです 暇つぶしにどうぞ unityroom.com …
サイドビューアクションゲームを作ろう(13):レベルアップ(下書き)
アイテムに引き続き、レベルアップ機能を作成した。 といっても、エフェクトなどはまだ勉強していないので、とりあえず今日のところは下書き状態に留めた。レベルアップだけならば簡単で、要は経験値が、次のレベルに必要な分量溜まっていたら、経験値を0化して、各ステータスを上昇。次のレベルに必要な経験値を更新してやれば良い。Item ManagerでアイテムやEnemyの経験値加算処理するように組んでいるが、 これだと、Item Managerで経験値管理までしなくてはならない。 なので、レベルアップの処理は、EXPバーのPlayerEXP_BarとGame Managerに任せる事にした。EXPバーに任せ…
今回はアニメーションを使ってカウントダウンを表示します 以前X軸を中心にオブジェクトを回転させる例としてカウントダウンの表示をしました everydayisagoodday.hatenadiary.com この時はスクリプトで表示も表示のタイミングも指示していました 今回はこれをアニメーションで行います スクリプトもアタッチしますが これはカウントダウンを開始するタイミングを得るのとカウントダウン終了後の表示を変更するためです カウントダウン自体はスクリプト無しでできます 1.ヒエラルキーの+をクリックし UI/画像を選択 2.位置横の四角をクリック アンカープリセットのcenter/midd…
サイドビューアクションゲームを作ろう(12):アイテム生成完成
ブログへのスクリプトコードの記載方法だけど、迷い迷って、結局、はてなブログの特権である、「はてな記法」に頼る事にした。 もっといい方法が見つかれば、そっちに変えるかもしれないけど、しばらくはこれでやってみようと思う。 さて、サイドビューアクションゲームの続きだけど、暫定だったアイテム生成を完成させた。ちょっと悩んだけど、ScriptableObjectのEnemy Data Tableに、それぞれのEnemyのアイテム出現率を設定した。 敵を倒したタイミングで、EnemyからItem ManagerにEnemy Noを渡し、 Item Managerは受け取ったEnemy Noを使って、Ene…
今日は昨日作成したアイテムに効果を実装する。 昼間のうちに考えておいた構想は、ざっくりと、こんな感じ。 ・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にも落下中のスプ…
サイドビューアクションで、ちょっとした困り事ができたので、それを調べる間、ScriptableObjectの実験をする事にした。 ScriptableObjectというのは、要は、シーンやスクリプトとは別扱いの、データベースのようなものらしい。 例えば、ある種類、仮にスライムが、スライムA ・スライムB・スライムC・スライムD・・・と多く存在するとして、そのスクリプトにMaxHPと処理用のhpの2つの変数を記載すると、それぞれのスライムのスクリプトに、MaxHPという同じ変数が存在する事になるため、メモリを無駄に消費してしまう事になる。 そこで、共通の数値であるMaxHPは、他のデーターベース…
サイドビューアクションゲームで、攻撃判定を作ろうとして、はたと困った。 武器に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にする様にした。 これだと、プレイヤーが下や横から落ちる床に触れても、床が落ちてしまうけど、落ちる床ってのは、そもそも不安定ものだし😁ってことで、これでよしとした🤣 そして落ちる床のレイヤーは地面と同じにした。 これだとプレイヤー側のスクリプトは何もいじる必要がなくなる。 次に敵を倒せるようにする機能実装。 …
以前オブジェクト間に線を描きその線上を移動する方法をアップしました everydayisagoodday.hatenadiary.com 今回はその応用です 線の上ではなく 動かしたいところにポイントを置いてポイントを移動していきます 1.地図のイラストをシーン内にドラッグ&ドロップ 2.ヒエラルキーの+をクリックし空のオブジェクトを作成 3.名前をMovePointに変更 インスペクターの▼をクリックしてオブジェクトのアイコンを設定する 4.MovePointを右クリックし複製を選択 次に移動させたいポイントに位置を変更 5.これを移動させたいポイントの数だけ繰り返す 6.もう一度ヒエラルキ…
前回オブジェクトを線でつなぎましたが 今回はその線の上を移動するプレーヤー(オブジェクト)を設定します 1.プレーヤーをシーン内にドラッグ&ドロップ レイヤーの順序が0のためApartの下にあります 2.プレーヤにアニメーターとLineMoverというスクリプトを追加 アニメーターの追加方法はこちらをご覧ください everydayisagoodday.hatenadiary.com everydayisagoodday.hatenadiary.com 3.LineMoverスクリプトを編集 using UnityEngine; public class LineMover : MonoBeha…
今回はオブジェクトとオブジェクトを線でつなぐ方法です 1.つなぐオブジェクトをシーン内にドラッグ&ドロップ レイヤーの順序を1にしておく 2.ヒエラルキーの+をクリックし エフェクト/ライン を選択 3.追加したLineオブジェクトの位置をすべて0にする 4.Line Rendererのサイズ Indexに数値を入力すると対応する線が表示される サイズは点の数 Indexは点の座標 Line Rendererに直接数値を入力するやり方もありますが 次はスクリプトから設定する方法です 5.Assets/Scriptを右クリック 作成/C#スクリプトを選択してLineというスクリプトを作成 スクリ…
Unityのゲームがひとまず出来上がり パソコン上にビルドして実行 「あっ!終われない」ってことがよくあります そう終了処理をスクリプトに組み込むことを忘れていたのです(汗) Unityエディター内で実行しているときはプレイボタンをもう一度押して中止させればいいし Web上で実行しているときはブラウザを閉じればいいのですが パソコン上で実行している時にはタスクマネージャーを起動してゲームのプロセスを強制終了するしかありません ゲームを動かすことに一生懸命で 終わらせることをすっかり忘れてるんですね(笑) なので忘れないように覚書 public void GameEnd() { #if UNIT…
簡単な脳トレゲーム作ってみました スタートボタンを押すと一定間隔でくも虫(架空の虫です)が出てきます くも虫が同じ色の家に行けるようにポイントを切り替えるゲームです ポイントは PCだと左クリック スマホだとタップすると切り替えることができます くも虫は全部で20匹出てきます 何匹同じ色の家に導くことができるか分割的注意力を確認してみてください unityroom.com
以前プレーヤーが歩くアニメーションをキャラチップを使って作成しましたが 今回は1つの画像をアニメーションのプロパティを追加することによって動くように見せたいと思います 1.画像を準備してシーン内にドラッグ&ドロップ 2.ウインドウ/アニメーション/アニメーションを選択 3.アニメーションウインドウの作成をクリック 4.Assets/AnimationにSlimeというアニメーションが作成します 5.プロパティを追加をクリック 6.Transformの左の▶をクリックしてスケールの+をクリック 7.スケール左の▶をクリックして展開する プレビューの数字を30(中間)にして◇₊をクリック 8.スケ…