【Blender 5.2】物理演算が250フレームで止まってしまう問題の解決方法|キャッシュの「終了」を延ばす

Blender 5.2で物理演算が250フレームで止まる問題の解決方法のアイキャッチ。振れる振り子のレンダー画像 Blender
スポンサーリンク

※この記事は、当ブログが2021年に書いた「【Blender 2.90】物理演算が250フレームで止まってしまう問題の解決方法」を、2026年11月の画面・バージョンに合わせて新しく書き直したものです。元の記事も、そのまま残しています。

リジッドボディやクロスで長めのアニメーションを作ろうとして、シーンの「終了」を250から300に変えた。ところが再生すると、250フレームで物がぴたっと止まってしまう。残りの50フレームは、止まった絵が続くだけ。

最新の Blender 5.2.2 LTS でも同じことが起きるのかを実際に確かめ、リジッドボディ以外のシミュレーションやパーティクルの場合も調べました。

結論:シミュレーションの「キャッシュの終了」が250のまま

  • シーンの終了とは別に、物理演算にはキャッシュの「終了」がある。初期値は250
  • シーンの終了を300にしても、キャッシュの終了は自動では変わらない(Blender 5.2.2 でも同じ)
  • リジッドボディは「シーンプロパティ」→「リジッドボディワールド」→「キャッシュ」→「終了」を300にする
  • クロス・ソフトボディ・流体も、それぞれのキャッシュの終了が250
  • パーティクルは別の理由で250までに消える。「放射」の終了200+寿命50が原因
  • ベイク済みなら、ベイクを削除してからベイクし直す
Blender 5.2で、出力プロパティのフレーム範囲の終了を300にしても、シーンプロパティのリジッドボディワールドのキャッシュの終了は250のままであることを示した図

当ブログで起きたこと(Blender 2.90)

最初にこの問題に当たったのは Blender 2.90 のときです。リジッドボディで300フレームのアニメーションを作りたかったので、タイムラインの「終了」を250から300にしました。

しかし、いざ再生してみると、250フレームで止まってしまう。アニメーション自体は300フレームまで進むのに、物理演算で動いている物だけが250フレーム目の位置で固まっていました。

解決方法は、シーンのプロパティからリジッドボディワールドのキャッシュを開いて、終了を目的の数値(このときは300)に変えること。これで300フレームまで動くようになりました。

Blender 5.2.2 で再現してみた

今の版でも同じなのかを確かめるため、Blender 5.2.2 で振り子(動かない支点と、リジッドボディのおもりをコンストレイントでつないだもの)を作りました。シーンの終了は300です。

シーンの終了を先に300にしてからリジッドボディを追加しても、リジッドボディワールドのキャッシュの終了は250でした。追加するときのシーンの長さに合わせてくれるわけではありません。

Blender 5.2.2で振り子のリジッドボディを200から300フレームまで再生した比較アニメーション。キャッシュの終了が250のままだと250フレームで止まり、300にすると最後まで振れ続ける

キャッシュの終了が250のままだと、おもりは250フレーム目の位置(支点の真下近く)で止まり、260、280、300フレームでもまったく同じ位置のままでした。キャッシュの終了を300にすると、250フレームを過ぎても振れ続け、300フレームまで動きました。2.90 のときと同じ動きで、直し方も同じです。

止まり方にも特徴があります。物理演算で動いている物だけが、キャッシュの終了のフレームの位置・向きのまま固まり、カメラやキーフレームで動かしている物はそのまま動き続けます。「途中から一部の物だけが動かなくなる」ように見えたら、まずこの設定を疑ってください。エラーや警告は出ないので、気づきにくいところです。

直し方(リジッドボディ)

  1. プロパティエディターで「シーンプロパティ」のタブを開く
  2. 「リジッドボディワールド」のパネルを開き、その中の「キャッシュ」を開く
  3. 「終了」を、シーンの終了と同じ数(今回は300)にする
  4. 先頭のフレームに戻ってから再生し、最後まで動くかを確かめる

シーンの終了は、「出力プロパティ」→「フレーム範囲」→「終了」、またはタイムラインの右側にある「終了」で変えます。この2つは同じ値です。一方、キャッシュの「終了」は物理演算の計算範囲で、まったく別の設定です。公式マニュアルでも、キャッシュは「シミュレーションが有効になるフレームの範囲」を決めるものと説明されています。

また、キャッシュの「シミュレーション開始」を変えると、物理演算が始まるフレームを遅らせることもできます。途中から物を落としたいときに使えます。

なぜ250なのか

250という数は、Blender の新しいシーンの長さ(1〜250フレーム)と同じです。フレームレートの初期値は24fpsなので、250フレームはおよそ10秒。新しいファイルのままなら、シーンとキャッシュの終了がそろっているので問題は起きません。シーンだけを延ばしたときに、ずれが出ます。

終了を大きくしすぎない

「それなら最初から10000にしておけばいい」と思うかもしれませんが、キャッシュの終了を延ばすと、その分だけ計算時間とメモリーが増えます。箱125個を床に落とすシーンで、キャッシュの終了ごとに最後まで計算した時間を測りました(Celeron J4125・メモリ8GBのPC)。

キャッシュの終了最後まで計算した時間キャッシュの大きさ
25013.7秒889KB
50024.0秒1.7MB
100050.6秒3.5MB

フレーム数にほぼ比例して増えました。この程度のシーンなら小さな差ですが、物の数が多いシーンや流体では、待ち時間もファイルの大きさもずっと大きくなります。キャッシュの終了は、シーンの終了と同じ数にしておくのがちょうどよい設定です。どこまで計算済みかは、キャッシュのパネルに表示されるフレーム数で確かめられます。

クロス・ソフトボディ・流体も250で止まる

キャッシュの終了が250になっているのは、リジッドボディだけではありません。シーンの終了を300にしてから、それぞれのシミュレーションを追加して初期値を調べました。

Blender 5.2.2でシーンの終了を300にしてから追加したときのキャッシュの終了。リジッドボディ・クロス・ソフトボディ・流体は250、パーティクルはシーンに合う、ダイナミックペイントは300

クロス(布)でも試すと、キャッシュの終了が250のままでは、布は250フレーム目の形で止まりました(250〜300フレームで高さがまったく変わらない)。終了を300にすると、300フレームまで落ち続けました。

  • クロス・ソフトボディ:その物体の「物理演算プロパティ」→ クロス(またはソフトボディ)→「キャッシュ」→「終了」
  • 流体:ドメイン(流体を計算する箱)の「物理演算プロパティ」→「流体」→「キャッシュ」→「終了」
  • ダイナミックペイント:今回は追加したときのシーンの終了(300)が入っていた。先にシーンを短いまま追加した場合は、キャンバスの設定の終了を確かめる

1つのシーンに複数のシミュレーションがあるときは、どれか1つでも250のままだと、その物だけが250で止まります。「一部だけ止まる」ときは、止まった物のキャッシュを見てください。

パーティクルが250で消えるのは別の理由

パーティクルは、少し事情が違います。5.2.2 では、パーティクルのキャッシュの終了は画面に表示されず、シーンの終了に合わせて自動で300になっていました。それなのに、初期設定のままだと250フレームまでにパーティクルが全部消えてしまいます。

Blender 5.2.2で生きているパーティクルの数を数えた棒グラフ。初期値のままだと240フレームで50個、250フレームで0個になり、放射の終了と寿命を300にすると300フレームまで残る

原因は「パーティクルプロパティ」→「放射」の初期値です。パーティクルが出るのは開始1〜終了200フレームまで、1粒の寿命は50フレーム。200フレームで出るのが止まり、最後に出た粒も50フレーム後の250フレームで消えます。実際に数えると、240フレームで50個、250フレームで0個でした。

放射の「終了」を300、「寿命」を300にすると、250フレームでも833個、300フレームで1000個が残っていました。どこまで出し続けて、どれくらい残したいかに合わせて、この2つを決めます。パーティクルの動かし方は【Blender 5.2】パーティクルで泡を噴射させる方法でも詳しく書いています。

ベイクしているときは「削除してベイクし直し」

すでにベイク(計算結果を固定すること)をしているときは、キャッシュの「終了」の欄が灰色になって変えられません。ベイクすると「ベイク」のボタンが「ベイクを削除」に変わるので、それが目印です。

  1. キャッシュのパネルで「ベイクを削除」を押す(シーン全体なら「全ベイクを削除」)
  2. キャッシュの「終了」を延ばす
  3. もう一度「ベイク」を押す(まとめてなら「すべての物理演算をベイク」)

公式マニュアルによると、ベイクはオブジェクトモードで行います。また、ファイルを保存していないとキャッシュはメモリーに置かれるため、先にファイルを保存しておくと安心です。リジッドボディのベイクについては【Blender 2.8】リジッドボディをベイクするにも書いています。

長いアニメーションを作るときの順番

250フレームより長いアニメーションを作るときは、最初に次の4つをまとめて直しておくと、あとで止まって慌てずに済みます。

250フレームより長いアニメーションを作るときの手順。シーンの終了を延ばす、シミュレーションのキャッシュの終了も合わせる、パーティクルの放射の終了と寿命を見直す、ベイクを削除してベイクし直す

そのほかに「止まる」ときに見る所

  • プレビュー範囲:タイムラインで「プレビュー範囲を使用」がオンだと、その範囲だけをくり返し再生する。範囲の終わりで先頭に戻るので「止まった」ように見える
  • シミュレーションノード:ジオメトリーノードのシミュレーションは、シーンプロパティの「シミュレーション」→「シミュレーション範囲」をオンにしていると、その範囲だけ計算される(5.2.2 の初期値はオフ、範囲は1〜250)
  • 書き出しの範囲:動画に書き出すときは、出力プロパティのフレーム範囲が使われる。書き出し方は【Blender 5.2】アニメーションをMP4動画で書き出す方法を参照

まとめ

  • 物理演算が250フレームで止まるのは、キャッシュの「終了」が初期値の250のままだから。シーンの終了を変えても連動しない(5.2.2 でも同じ)
  • リジッドボディは「シーンプロパティ」→「リジッドボディワールド」→「キャッシュ」→「終了」を延ばす
  • クロス・ソフトボディ・流体も、それぞれの物理演算プロパティのキャッシュの終了が250
  • パーティクルはキャッシュではなく、放射の終了200+寿命50で250までに消える
  • ベイク済みならベイクを削除 → 終了を変える → ベイクの順に

※この記事の数値は、Blender 5.2.2 LTS(Windows版・2026年11月時点)を当ブログのPCで実際に動かして確かめたものです。メニューの名前は日本語UIの表示に合わせています。

コメント