Edited at

Unityで斜方投射の物理実験(2/3)球の跳ね返りの物理実験


きっかけ

Unityで物理シミュレーションができることを知ったので挑戦してみることに。

実験するにあたってUnityの基本的なことにも触れられたし、

やったこと忘れそうなのでメモ残しておくために投稿


環境

Unity 2019.1.10f1 (64-bit)


世話になったサイト

 このサイトの説明が超丁寧だったのですごい分かりやすかった

 https://ekulabo.com/tutorial-input


手順(概要)

そもそもUnity素人故、段階を分けて試す

1. Unityを起動する ※済

2. 球の自然落下の物理実験 ※済

3. 球の跳ね返りの物理実験 ←イマココ

4. 球の斜方投射の物理実験


3. 球の跳ね返りの物理実験

基本的な話だけど地面を作る。

球作るときと同じ要領で

3D Object > plane

コメント 2019-07-20 223641.gif

地面ができた。これで安心。

ん?めり込んでる。

よく見たら、Sphereの位置情報(position)は(0,0,0)。地面のpositionも(0,0,0)なので

当然こうなるっぽい。

コメント 2019-07-20 223913.gif

試しにこの状態で「再生」ボタンを押すと、球がふんわりと地面上にせりあがってきた。

なるほど。再生したら物理法則にしたがうのね。

コメント 2019-07-20 223945.gif

このままだと具合悪いし、そもそも自然落下の実験なので

Sphereのpositionを(0,3,0)にしてやる。

球は宙に浮いた。

コメント 2019-07-20 223821.gif

調べによるとposion近くの歯車アイコンをクリックしてResetを押すと位置情報が初期化できるようだ。

コメント 2019-07-20 223854.gif

ちなみに、静止画しか用意していないので見せようがないが

この状態で再生ボタンをおすと、自然落下はするし地面に落ちるが全く跳ねない。

地面と球には跳ね返り係数が設定されていないから。どこまでも物理法則にこだわるなぁ…さすがだ。

そんなわけで地面とたまに跳ね返り係数を与える。

Projectウィンドウ上で右クリック > Create > Physic Material クリック

コメント 2019-07-20 224214.gif

地面跳ねるようなアイコンが出てきた。名前は「Bounce」としておこう。

コメント 2019-07-20 224242.gif

Bouncenessが跳ね返り係数になる。

0~1まで設定できる。今回は0.5を設定。

コメント 2019-07-20 224258.gif

PlaneのMesh Collider > Materialに「Bounce」を設定。

これで跳ね返るぞー!

…と、我慢できず早速再生ボタンを押したら、跳ね返りが妙に弱い。。。

調べたところSphereにも跳ね返り係数を与えた方がよさそうだ。

どうりで卵の衝撃テストのCMみたいな結果になると思った…

コメント 2019-07-20 224425.gif

そんなわけでSphereにも「Bounce」を付与。

Sphere Collider > Materialに「Bounce」を設定。

コメント 2019-07-20 224511.gif

再度、再生ボタンをクリック。

むちゃくちゃ跳ね返ることは無かったけど、

ようやく自然な跳ね返りが実現できた。

この記事、gif動画くらいあげられないと全然ピンとこないなぁ…なんかいい方法ないものか。。。

~続く~