Javaゲーム制作記

いろいろ作ってます  

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | Comment(-)

氷追加

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


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

ミニ動画はこちら

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


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

その一例

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

ポキッ

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

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

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

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



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




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


プロフィール

saharan

Author:saharan

Twitter
検索フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。