fc2ブログ

Javaゲーム制作記

いろいろ作ってます  

氷追加

つぶつぶ2に氷を追加しました。


氷を温めると水に、水を冷やすと氷になります。
水を急激に冷やすとできた氷は割れてしまいます。

ミニ動画はこちら

以下、苦労した点など淡々と。


大きな氷の塊に水をかけていくと、そこだけ解け始めるのですが、

その一例

解けるということは、氷が分裂する可能性があることになります。

ポキッ

可能性がある以上、分裂したかどうかを調べる必要があります。

が、この処理がなかなか重いんですね。
大きな塊になればなるほど速度を増して重くなってゆきます。O(n^3)かそれ以上です。

まず間違いなくO(n^2)の時間がかかっているであろう近接粒子チェックを高速化。
…ですがあまり効果が出ません。とても毎フレーム実行できるような速度ではありませんでした。

そこで、大域的(氷全体)に見て分裂が発生する場合は、
必ず小域的(解けた氷の付近)に見ても分裂が発生しているという理論を元に二重チェックを実装。



100倍ほど速くなりました。
[ 2012/07/01 20:32 ] ゲーム制作 | Comment(0)
コメントの投稿




※URL記述の際はttp://としてください


プロフィール

saharan

Author:saharan

Twitter
検索フォーム