- Unityの【Rigidbody】ってなに?
- 重力を使ってキャラクターを動かしたい
- 実際のゲーム画面で教えてほしい
こんなお悩みはありませんか?
このサイトでは、全くの未経験からUnityでゲーム作成した私が実際のゲームを使って解説します。
分かりやすくするために
画像や動画もふんだんに入れていきます!
Unity内でキャラクターに【重力】をつけ、動かしてみましょう!
せっかく始めたゲーム開発・・・。
挫折してしまうのはもったいない!
朝起きたら、ゲーム開発に関する知識詰め込まれてないかな・・・なんて。
アンケートで分かった「稼ぐこと」ができた学習方法をまとめました。
\ゲーム開発ができる「引き出し」が無限に!/
ゲーム開発ができる世界へワープしませんか?
Rigidbodyとは?
難しい計算が必要な物理演算を自動で行うことができます。
論より証拠ということで【Rigidbody】あり・なしで見てみましょう。
【Rigidbody】左側あり・右側なしです。
見ていただいたとおり、左側のみ【重力】がかかったように落下していくことが分かります。
自動で落下させることでゲーム開発に活かせることは多いです。
自分のキャラクターへの設定方法を次章で確認しましょう。
キャラクターをゲーム画面に出現させるには?
背景やキャラクターをゲーム画面に出現させる方法はこちらの記事で解説しています。
Rigidbodyを使って重力を発生させてみよう!
【Rigidbody】を実装するには画面右側のインスペクターでコンポーネントの追加をクリックします。
- コンポーネントを追加
- 検索窓に「ri」と入力
- 【Rigidbody 2D】をクリック
3にの手順を実行するとインスペクターに【Rigidbody 2D】と表示されていれば、問題なく実装されています。
ゲーム再生ボタンを押して再生してみましょう!
さらに【Rigidbody】の機能について詳しく解説していきます。
【Rigidbody】機能をより詳しく解説
重力をかけて落とすだけが【Rigidbody】の機能と思うことなかれ。
動画にて実際に確認していただき設定方法を書いていきます。
ボディタイプ 3種類
Dynamic【動的】(通常落下)
通常タイプがDynamicです。
重くしたり、ふわふわとゆっくり落としたりすることも可能です。
kinematic【キネマティック】(スクリプト)
その場で留まらせることができます。(静止)
なお、スクリプトで管理することができます。
「使えるイメージが湧かない・・・」
大丈夫です。もう少し具体的に解説します。
なんてことも可能です。
私のゲームでは、マウスをクリック(スマホをタップ)すると・・・
- タイトル画面が消える
- ジャンプする
- 【Dynamic】に切り替え⇒落下開始
こんな具合に静止と落下を使い分けています。
Static【静的】(落ちないようにする)
文字通り全く動かなくなります。
落ちたり回転させたりしたくない時に使うことができるでしょう。
「kinematic【キネマティック】と同じなんじゃないの?」
実はほぼ、同じですがややStaticのほうがシステム的に軽い傾向にあるようです。
使い分けに関しては、気にしなくても良さそうです。
重くして速く落とす
落下速度を変更することができます。
【Rigidbody 2D】コンポーネントの「重量スケール」の値を大きくする。(初期値は1)
ふわふわとゆっくり落とす
【Rigidbody 2D】コンポーネントの「リニアの抗力」の値を大きくする。(初期値は0)
どちらもプログラミングコードなしで実装することができましたね!
\ゲーム開発ができる「引き出し」が無限に!/
ゲーム開発ができる世界へワープしませんか?
まとめ 重力発生で動きをつけよう!
【Rigidbody】とは重力をコントロールするために使えることを解説しました。
キャラクターが動き出すと一気にゲームらしくなり楽しくなってきます。
単純に重力を使って落とすだけではなく、静止させたり落とす速度を調節したりなど
あなたのオリジナルゲームに活かしてくださいね!
最後まで読んでいただきありがとうございます。
重力コントロールができるようになったらジャンプさせてみましょう!解説記事はこちら。
ゲームの作り方総集編!
11ステップであなたもゲームが作れる。喜んでもらえる。
未経験からでも、分かる!が積み上がりゲームを完成できる。
詳細はこちらから。
コメント