|
|
||||||||||||||
|
|
|
|
|
|
||||||||||
トコちゃんの修行日誌 2026年8月 |
|
お仕事中デスクトップ
|
8月10日 波、実験成功
波の形状を水面を移動させるようなエフェクトで、波を作ってみました。 水深が浅くなると波の速度が落ちたり、陸地では傾斜で波が寄せては返すように、若干物理演算ぽい処理も入れて、いいあんばいに調整中です。 この方法のメリットは波の形状を好きに出来ることと、流れのシミュレーションと分離しているので安定しています。 デメリットは物理演算ではないので波の回折は起きません。最初に設定した方向に進むだけです。波は通常縞状に進んでくるので、問題はありません。直線だった波も、浅場で速度を遅くすることで岸に沿って良い感じに曲がってくれます。 現状だと10秒毎に、ライン状の波が突然現れて移動し始めます。波の発生方法に工夫が必要そうです。マップ上とは別に仮想的に10秒分の波を計算して、マップ上に常に重ねることでなんとかなるかな。 いや、発生までの過程だけをそうして、その後はマップ上の処理にまかせて、また次の波の発生過程を重ねれば大丈夫かな? 8月7日 波、失敗
水面を50cmほど周期的に上げ下げしてみたのですが、波の伝搬はしても、当然ながら広がれば広がるほど威力はすぐ衰えます。テスト用に流出量の減衰を Damping = 0.999f にしています。
ライン状に上げ下げすると、なんとか波打ち際がちゃぷちゃぷします。
通常の流出量の減衰を Damping = 0.99f だとやっぱりすぐに減衰します。 波は元来円運動なのに、上下の運動では再現は無理ですね。エフェクト的に見た目の処理として入れるのがよさそうです。 8月6日 Flow、2.5D2.5D水流シミュレーション(CPU/Burst版)を作ってみました。
1024x1024ピクセルで水流シミュレーションしています。バーストコンパイル+パラレルジョブでも7.5FPS(1秒間の描画回数)ぐらいまで処理の負荷が上がります。 最終的にはGPU処理にしないと実用になりません。ロジックがまとまるまでCPUで実験です。 流体粒子による流体シミュレーションと比べると、安定しています。隣のピクセルとの勾配だけで流れ込み+流れ出しを計算していて安定しすぎています。 渓流の地形で水流が渦を巻くような処理を入れて実験したのですが、自然な流れにならないので止めにしました。処理を入れるとしても、見た目だけの渦エフェクトとか、滝エフェクトのような処理にしようと思います。 安定しているので、見えているだけの範囲でのシミュレーションにすれば、処理負荷が抑えられるので試してみます。 海や湖用に波も試してみようと思います。1地点もしくは線上に水面を上げ下げすれば、波が伝搬するんじゃないかと思います。試してみます。 8月3日 マーチングキュウブの効果四面体分割では34グリッドだったのが40まで増やすことができました。1.18倍と微増のようですが、立体なので3乗で計算すると、処理量は1.63倍です。
ライトの向きを変更し、法線をスムーズにしているので比較が難しいが、良くなったのか?上が四面体分割、下がキュウブ分割
良くなることも期待したが、互角といったところだな。 8月3日 9kmランニング、ワースト記録2026年8月3日 1時間06分52秒「67 暑い、失速しないように初めからスローペース、1リットルぐらいの汗でぐっしょり。 8月2日 プログラムに復帰Blenderでローポリゴンの動物でもとりかかろうかと思ったのですが、沼にはまりそう(とんでもなく時間がかかりそう)なので止めにしました。 地形表示のマーチングキュウブが四面体分割によるマーチングキューブだったのですが、立方体のマーチングキュウブに変更してみました。なるべく正三角形にポリゴンを近づけるためのシアー変換(菱形に立方体を傾ける)も排除しました。処理を削る作業なので難しくは無いのですが、手間と慎重な作業が要求されました。動作するまで動くか半信半疑。 60FPS(1秒間の描画回数)だったのが、75FPSほどに向上しました。見た目はほとんど違いはありません。処理が軽くなった分で解像度を高める予定です。 |