ただ、そのように実装するとパッド操作にも対応したいといった場合、条件をたくさん書かなければなりません。 対応したい全ての入力に Jump という名前を付けることで Input.GetButtonDown("Jump") で全てに対応できます。, キャラクターのパラメータを管理するのが PlayerManager です。 なので、移動系の処理を Update でしてしまうと移動スピードにバラつきが生じる可能性があります。 ですが、ここで実装するジャンプは、もう少し複雑です。 どうも、北島です! どうも、北島です! スマホゲームを運用・開発している会社でサーバエンジニアをしています。 今回は、Unityで2D横スクロールによく登場する 一方通行の床 (One Way Platform)、はしご (Ladder)を実装したので、それについてまとめます。 完成するとこんな感じです↓↓ Use Collider Mask にチェックを入れ、Collider Mask にキャラクターを設定します。 Use One Way にチェックを入れます。 Surface Arc は 180 にします。 ... どうも、北島です! 私は、スマホゲームを運用・開発している会社でサーバエンジニアをしています。 仕事でやっていることもあり得意なのはサーバ側なのですが、最近、クライアント側にも少し興味があります。 なので、趣味でスマホゲームでおなじみのUnityを使って2D横スクロールゲームを勉強で作り始めています。 こんな感じのゲームです↓↓ そこで、今回からUnityを個人的に勉強したログとして記事を公開していこうと思います。 はじめに 今回は、タイトルの通り「ドット絵の2Dゲームを作る時に、画像周りで ... スマホゲームを開発・運用する会社で働いています。ゲームを愛するエンジニアで、企画(プランニング)もやります。. 逆に入力系の処理は FixedUpdate でしてしまうと処理が間に合わない場合に困るため、Update でしましょう。, [Hierarchy] の項目にも書きましたが、キャラクターの Rigitbody の Gravity Scale を0にしました。 なぜなら、Rigidbody系が物理演算に基づいた移動を行うのに対し、transform系はテレポート移動するからです。 @soraneco21さんをフォロー なので上記のようなジャンプを実装します。, それでは、実装していきます。 'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs'); 将棋のルールを取り入れた2Dシューティング。敵を倒すと自機に、自機を倒されると敵に変わります。, Unity初めての人に1冊おすすめするならこれ。今まで読んだ中で1番わかりやすかったし、そもそもどんなスクリプトを作らないといけないのか、の考え方から説明してくれている本はこれくらいだと思う。Unityのバージョンが上がるたびに最新版を出されているので、買うときは最新版が出てないか調べてみてください。, 初めての人にもう1冊おすすめするならこちら。ビジュアル綺麗なゲームができるので作ってて楽しい。あとねじ子がかわいい。, スマホアプリを作りたいならこちらの本をおすすめします。サンプルゲームがスマホアプリ化を前提に作られてますし、マネタイズについても書かれています。特に2Dアクション、放置ゲーを作りたいなら読んでおいて損はないと思います。, 「Unityの教科書」の著者が書いているC#の入門書。説明が分かりやすいし、ゲームを題材にするなどUnityを使う人に向けて書かれている印象があります。, テトリスを題材に、プログラミングする時の考え方を説明してくれている本。大きな問題を小さくして少しずつ解決していく過程が丁寧に説明されているので、プログラムをどう作ればいいか分からない人は読んでみると勉強になると思います。個人的にはすごく良かった本ですが、文体や言い回しに癖があって合わない人は合わないと思うので、買う時は試し読みしてからをオススメします。, 開発者の生き方全般について書かれている本。やる気が出ない時に読むと復活できたりすることもあるので、個人的に重宝してます。, Arduino使いたいなら必携の本だと思います。必要な部品の入手方法から実装まで、基本的なパターンはほぼ網羅されてます。, // 空中にいるかどうかの判定。上下の速度(rigidbody.velocity)が一定の値を超えている場合、空中とみなす. Copyright© どうも、ゲーマーエンジニアであります! , 2020 All Rights Reserved. これにより、ボタンを押している長さである程度気持ちよく調整できるジャンプを実現しています。, なお、床とキャラクターの衝突判定には Linecast を使っていますが、これは少し重い処理になります。 少ない距離であれば同じ移動に見えますが、実際にはテレポートしており、壁にめり込む可能性が高くなります。 ブログを報告する, Unity4.3の2D機能を使い、2時間程でミニゲームを作ったので手順公開!(後編), Unity4.3の2D機能を使い、2時間程でミニゲームを作ったので手順公開!(前編). また、set を private にしていません。 参考になれば幸いです。. Unityでアクションゲームを作る場合、基本的にステージに合わせてプレイヤーを移動させますよね。 プレイヤーの移動やジャンプをさせるコードは簡単に実装することができるので、スクリプトの説明を合 … まず、配置する GameObject は以下の通りです。, Block は床となるステージのスプライト画像、Player -> Sprite はキャラクターのスプライト画像です。 各パラメータは private にしていますが、SerializeField でインスペクター上で操作できるようにしています。 対してStartは、最初のフレームのUpdateの前に呼ばれます。 Awakeの呼ばれる順番は一定ではないので、Startでは他のオブジェクトの情報を取得しないようにしましょう。 Hollow Knight を知らない方は、マリオをイメージしてもらうと良いかと思います。 簡単に言うとこんな感じです。, シンプルに addforce を使った物理法則通りのジャンプにしてしまうと、ゲームらしいジャンプにはなりません。 | Unityで2D横スクロールによく登場する一方通行の床 (One Way Platform)、はしご (Ladder)を実装するには, Box Collider 2D, Rigidbody 2D, PlayerManager(Script), PlayerController(Script). 今回は、Unityで2D横スクロールによく登場する 一方通行の床 (One Way Platform)、はしご (Ladder)を実装したので、それについてまとめます。 完成するとこんな感じです↓↓ Use Collider Mask にチェックを入れ、Collider Mask にキャラクターを設定します。 Use One Way にチェックを入れます。 Surface Arc … ここでは下の動画のような、2D横スクロールアクションゲームのキャラクター移動について説明します。, この記事はUnity1weekという1週間ゲームジャムで作ったゲームを元にしています。実際の操作感を知りたい場合は以下のリンクからプレイできますので、試してみてください。, Colliderを分けているのは、着地後すぐにジャンプしたい場合などに、通常の衝突判定用のColliderだけだと反応が悪かったからです。, アニメーションは「待機状態」「走っている状態」「上昇中」「下降中」の4種類を切り替えて表示しています。アニメーションの設定についてはスクリプトの切り替え処理と合わせて後述します。, spriteアニメの設定方法がわからない場合は下記リンクなどを参考にしてみてください。, 地面との接地判定に衝突したオブジェクトのタグを使用しています。同じように動作させたい場合は、地面となるオブジェクトのタグを「Ground」にしておいてください。, まず GetInputKey() で入力を取得しています。処理としては、左右の入力を取得して key に入力内容を格納しているだけです。key の値を 1, -1 でもっているのは、入力方向に応じてキャラクターの向きを変更する処理にも使用するためです。向きの変更については後述する「アニメーションの変更」で説明します。, ここではキャラクターの状態を「待機状態」「走行中」「上昇中」「下降中」の4種類持っています。状態の判定は以下のように行なっています。, 状態に応じてアニメーションを変更します。基本的には上記4つの状態に応じた以下のフラグをAnimatorに用意しておき、そのフラグを切り替えることで処理を行っています。, ここでは走行中のアニメーションを右向きのものしか作成していなかったため、上記設定だけでは左に移動するときも右を向いたアニメーションが表示されていました。これを回避するため、左入力されている場合は transform.localScale.x にマイナスの値を与えてspriteを反転させています。key の値を 1, -1 でもっているのはこの処理のためです。, ※ 公式マニュアルでは処理が重いため、この方法は推奨されていません。SpriteRendererのflipXをtrueにすることでもspriteは反転させることが可能なので、処理速度が気になる方はそちらを使用してください。ただしこの方法ではCollider等は反転しないため、左右対称ではない場合は注意が必要です。, また、stateEffectという変数に状態に応じて値を設定しています。これはジャンプ中に左右のボタンを押した場合、地上と同様の速度で移動してしまうのを防ぐための変数です。移動処理時に使用しています。, 2017.12.06追記Animator側の設定も見せてほしいとご連絡いただいたので、簡単にですが追記します。, animation遷移の設定はどれも同じなので、例として「待機状態(isIdle)から走っている状態(isRun)」と「走っている状態(isRnu)から待機状態(isIdle)」への遷移の設定のみキャプチャを貼っておきます。, デフォルト設定からの変更点は「HasExitTimeのチェックを外す」「FixedDurationにチェックを付ける」「TransitionDurationを0.01にする」の3点です。アニメーションがすぐに切り替わるように設定しています。, 入力に応じてキャラクターを移動させます。移動し始めは等速移動ではない感じにしたかったので、最初はAddforceで力を加えて、途中から一定速度で移動するような処理にしています。ゲームをプレイしてもらうと分かるのですが、正直ちょっとふわふわした操作感になっているので、この辺りの処理は適宜書き換えてもらったほうがいいかもしれません。いい処理方法をご存知の方は教えてください。, また「アニメーションの変更」のところでも書いていますが、キャラクターの状態に応じた stateEffect という値を移動時に掛けることで、ジャンプ中の横移動速度に制限を加えています。, 着地判定はOnTrigger〜系の処理で行なっています。衝突したオブジェクトのタグが “Ground” の場合、isGround をtrue に書き換えています。, ゲーム、アートに関心あり。ninoichi名義でUnityでゲームを作ったりしています。iOS/Android向けアプリ【SHOGI SHOOTING】配信中!白い猫と黒い猫と暮らしてます。. ジャンプでググると、addforce を使ったシンプルなジャンプが多く見つかります。 AwakeはStartの前、prefab のインスタンス化直後に呼ばれます。 !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)? 他にも、以下で同じようなことができますが、Rigidbody.velocity をオススメします。, 特に、transform系はオススメしません。 なお、Rigitbody 2D の Gravity Scale は0にして下さい。, なんとかManager のような Script を書く場合、Unity では Singleton なパターンで書くことが多いようです。 FixedUpdate が1秒間あたりの呼び出し回数が固定なのに対し、Update は固定ではありません。 Rigitbody を使わずに完全に自前で物理演算の代わりとなるものを実装する場合は別ですが。, START、AWAKE の使い方には気をつけてください。 また、上昇時は放物線のようなジャンプになるよう、徐々にジャンプ力を弱めています。 スマホゲームを運用・開発している会社でサーバエンジニアをしています。 バージョンが違う場合は、多少異なる部分があると思われます。, また、今回は、移動 & ジャンプを実装しますが、この記事のメインは「ジャンプ」です。 //GetComponent
Fallout76 レベル上げ 30 49, ラグラン袖 縫い代 倒す方向 7, 小さい ガラケー Simフリー 9, ひかりtv Hdd 再接続 4, 2021 干支 イラスト 7, 労働組合 組合費 還元 35, ローファー 甲 きつい 5, 葉酸 取りすぎ 副作用 28, 彼女 いるあの人 占い 6, Gta5 車両取引 トングバヒルズ 6, 麻紐 ロープ 編み方 8, 新型デリカ グリル 塗装 9, Bintroll しるこ 写真 38, ロレックス 店員 仲良く 4, Fumetsu Japan ケース 4, 側湾症 整体 大阪 5, Visual Studio インストーラ作成 ショートカット 4, Android 電話番号 ハイフン 6, スポ少 バレーボール 全国大会大分 22, Debugview Not Connected 4, シバトラ ドラマ 相関図 5, 人工芝 防草シート 接着剤 5, Amiiboカード あつまれ どうぶつの森 6, エポスカード Amazonギフト券 停止 なぜ 42, 水玉れっぷう隊 アキ 奈良 5, 鯖味噌缶 炊き込みご飯 めんつゆ 7, Allegro Risoluto 音楽用語 23, Spring Security 無効化 14, スマブラ アピール 邪魔 4, Kindle アプリ 読書履歴 削除 4, フランス 神話 名前 7, Table_open_cache Mysql チューニング 7, 仮歯 高さ 合わない 12, マイクラ 座標 統合版 31, Photoshop Cs6 Windows10 落ちる 12,