2016.09.25 Sunday
ツムツムっぽい動きを作った感想
ツムツム。
大分それらしくなってきたが、思ったよりも難しいんだな。
何が難しいって、球同士が重なった時。
最初は重なってしまったら、衝突イベントの速度を使って重ならないように移動していたんだが、球が3つ以上になると、2つについては重なりが解消されても、そのせいでもうひとつと重なったりして振動現象が起きたりするみたい。
解決法として、重なったら球間の距離に応じてバネ力を働かせて遠ざけるという方法がよく取られるらしい。
最初、これは衝突でエネルギーが供給されてしまうのではないかと心配したが、バネ力は保存力なので心配いらないな。
ただ、バネ定数の選び方によるとシミュレーションが不安定になることがあるとのこと。
うーん、奥深い。そういうわけでとりあえず重なったときはバネ力働かせてます。
一応それらしく動いてはいるのだが、妙に球同士がひっついてる感じがしなくもない。
どっかバグがあるのか?
完璧な結果じゃないけど、とりあえずここまででツムツムみたいな動きがどうやって作られているか何となく想像がつくんじゃないかな。
ツムツムはゲームなので、高精度な力学シミュレーションをする必要はない。ゲームを面白くするための"ウソ"も大事だということを胸に、とりあえず一段落としよう。
摩擦も実装してないけどな!思ったより大変だったんだ!