こんにちは、開発担当の杉原です。
先週更新する予定が、ちょっと記事書いてる時間がなくて更新できなかったです。
というか、先々週に自分がブログ書いてから今日までの2週間誰も更新してないですね。
……夏休み、ということにしておきましょう。ちょっと長すぎですけども。
さて、前回から自由研究というていで遊んでいる、もといいろいろ検証しようとしているわけなんですけども、今回は物体の反射について検証してみたいと思います。
その前に、前回の復習を。
作りたいものはエアホッケーで、まずはその筐体を作ってみたわけなんですけども、実際にスマッシャーでパックを打ち出してみると、壁に当たったパックはあまり反射せずにその場にとどまることが多かったです。
先週の成果物は下図を参照してください。
じゃあこれを、どうやって反射させようかと考えてみたのですが、よくよく考えたらDemo3D上で跳ね返る様子を見た覚えがないわけです。
試しに球体を生成し、Loadとして落下させてみました。
跳ね返らず、その場にとどまりました。
それもそうというか、これだけで跳ね返ってもらっても逆に困りますよね。
例えば段ボールが落ちても、ほとんど跳ね返りませんもんね(落ちた先がトランポリンなら別なんでしょうけど)。
でも、何らかの設定で跳ね返るようにできるんじゃないかと思うわけです。
物理において、こうした物体の反射は反発係数と呼ばれる値によって行われます。端的に言えば、壁などにぶつかる前の移動スピードと、ぶつかった後の移動スピードの比率ですね。
上図のように、床に落ちても跳ね返らないということは、反発係数が0という状態になります。
というわけで、この反発係数を設定すればいいと思ったのですが、なんとプロパティに存在しないわけです。
あ、あれ、じゃあこれ無理なんじゃ。。。。。。。?
自由研究 完
というわけにはいきませんよね。
実は、それっぽく跳ね返るものを一度作れたはずなんですが、それを保存しておらず、再現できていないわけです。なんてこったい。
自由落下がダメなのかなとか、落ちた先が床だからダメなのかなとか、いろいろ考え、しまいには下図のような装置まで作ってしまいました。
実行すると、下図のようにボールを次々撃ちだします。
ぶつかったその場で落下してしていますね。
全ての力を吸収する壁になってしまってます。
物理シミュレーションができるといいつつも、制限がある、そんな感じですね。
あまりマイナスなことをここに書きたくはなかったのですが、企画を始めた以上仕方ないですね。。。。。
ただ、こうしたピッチングマシン的なものは作れることがわかりました。
目的をVRバッティングゲームにでも変えてしまおう、なんかそんな気持ちでいっぱいです。
検証で時間を使いすぎたので、方針を変えるかどうか来週までに検討しつつ、もし変えるようであれば次回、このピッチングマシンの構造について紹介したいと思います。
そうでない場合、エアホッケーのパックとスマッシャーに変更が必要なので、その部分でしょうか。
ということで次回、「自由研究#3 円柱の物理判定」をお送りする予定です。
更新は8/23(木)です。お楽しみに。
コメントをお書きください