プロのゲーム攻略サイト

www.zgtz168.com

Stormworks:Build and Rescue – ビークルの最適化

車両を最適化し、ゲーム シミュレーションの速度を上げるのに役立つ簡単なガイドです。あなたの作品を最高のものにしたい場合は、お読みください (たとえ既に完成していたとしても)。

基本

始める前に、ゲームの仕組みに慣れましょう。物理シミュレーションとゲーム レンダリングの基本を理解するのに役立ちます。

Stormworks は複数のスレッドで実行されます。ゲームで F1 キーを押すと、各スレッド (メイン レンダリング、ロジック、物理、海洋、ネットワーク) に関する非常に詳細な情報をリアルタイムで表示するプロファイラーが開きます。しかし今のところ、物理とレンダリングの 2 つだけに関心があります。

物理/ロジックは、毎秒 60 ティック (以下 TPS) で実行されるゲームの基本的なシミュレーションを表します。シミュレーションが 60 TPS で安定している場合、ゲームは問題なく動作しますが、シーンがより複雑になると (追加の車両の生成、衝突、爆発の作成など)、スローモーション効果が発生します。

ここではレンダリングは独立しており、シミュレーションが遅くなってもプレイヤーが良好なフレームレート (以下、FPS) を維持できるようにする物理やロジックに結び付けられていません。優れた GPU を使用している場合、ほとんどの作品で問題が発生することはほとんどありません。それ以外の場合、特に統合グラフィックスについては、ゲーム設定ですべての影と光量効果をオフにすることをお勧めします.

これを知ることで、いつでも F1 を叩いて、どのようなラグが発生しているかを確認し、それに基づいて次の車両最適化ステップに従うことができます。実際、作成に問題がない場合でも、それらに従うことをお勧めします。特に、ワ​​ークショップでビークルや環境 MOD を共有したい場合。 Stormworks のプレイヤーにはさまざまなシステムがあり、同じ作品でもまったく異なるパフォーマンスを発揮します。それだけでなく、マルチプレイヤーでプレイするのが好きなプレイヤーがたくさんいます。これは通常、シーンに複数の乗り物があることを意味します.

つまり、単純な自動車、小さなボート、小さなヘリコプターを作っている場合でも、最適化についても考える必要があります。

物理学

物理サンドボックス ゲームであるため、ほとんどの場合、パフォーマンスの低下はシーン上の 1 つまたは複数の作品の非常に複雑な物理現象によって引き起こされることは明らかです。 Stormworks は Bullet の物理演算を使用しており、プロセッサによって動作が大きく異なります。つまり、Stormworks は CPU を多く消費するゲームです。車両をスポーンするときにスローモーション効果を経験していますか? F1 を押して TPS を確認します。物理的な理由によるものだと思います。一流の CPU を購入する時が来ましたか?いいえ、作成したものを最適化するだけです。

車両や環境構造を設計する際に考慮すべき主なパラメータは、形状、サイズ、ボディの数の 3 つだけです。最初のものから始めましょう。

シェイプ

ほとんどのゲームでは、ビークルの物理は、いくつかのボックス、シリンダー、および球体にすぎません。このような単純な物理学により、パフォーマンスに大きな影響を与えることなく、シーンに多くの車両を配置できます。それだけでなく、マルチプレイヤー ゲームでの同期に必要なデータも少なくて済みます。

しかし、Stormworks は、プレイヤーがさまざまなブロックを使用して自分の好きなように作品を組み立てることができる乗り物建設ゲームです。インベントリには多くのコンポーネントがあり、それらのほとんどは通常、非常に単純な物理形状 (立方体) を持っています。コンポーネントは複雑に見えるかもしれませんが、物理的には非常に単純です。たとえば、27 個の立方体 (3x3x3 ボクセル) で構成される小さなエンジン:

車両の各ボクセルは、くさびやピラミッドでない限り、通常は単なる立方体です。しかし、車両を作成するときは、これらの単純な立方体を非常に多く使用するため、最終的に非常に複雑な形状の車両になる可能性があります。ここで良いことは、ビークルがスポーンされるときに、ゲームが物理形状を最適化しようとすることです。 F2 ホットキーで Physics Debug を有効にすると表示されます。

たとえば、通常のブロックを使用して単純な 5×5 プレートを作成する場合、それは 1 つの大きなプレート形状になります (25 個の小さな立方体ではありません)。これらのプレートを使用して中空の立方体を作成すると、わずか 6 枚のプレートになります。そして最後に、その立方体を立体にすると (ブロックで埋める)、再び立方体になります。

つまり、中空の立方体は、中実の立方体よりも物理的に複雑です。ウェッジとピラミッドで同じように機能しますが、より複雑です。

残念ながら、その自動物理最適化を使用しても、十分ではないことがよくあります。特に、プレイヤーが参加できる中型および大型の車両について話す場合。インテリア、部屋、トランク、サービスシャフト、その他多くのエリアを備えた車両。これにより、物理形状が大幅に断片化され、パフォーマンスが低下します。

ここでの解決策は、作品の隙間や空洞の数を減らすことです。可能な限り、車両のどの部分でも形状をよりしっかりと滑らかにするようにしてください。空洞領域に関して言えば、今日では、Physics Flooder と呼ばれる新しいコンポーネントを使用することで、はるかに簡単な作業になります。

簡単に言えば、ビークルの中空領域 (完全に密閉されたコンパートメントでなければなりません) を質量のない物理学で満たし、スポーン時にそのビークル部分の物理学をより単純にします。私のテストでは、車両にもよりますが、通常 10 から 30 TPS 節約できると言えます。

最も一般的なユースケースは、ボートや船の船体だと思います。より一般的には、船首と船尾の部分です。弓の例:


外側からは非常に滑らかに見えますが、内側からはよく見えません。ピラミッドとウェッジを使用したスムージングは​​、ここでの外観と物理の両方に確実に役立ちますが、その新しい物理フィラー ブロックを使用することをお勧めします (内部に配置するだけです):

ご覧のとおり、弓はもはや断片化されておらず、物理計算がはるかに簡単かつ高速になります。

しかし、そのブロックでは、いくつかの点を考慮する必要があります:

  • ビークルの特定の部分で物理フラッダーを機能させるには、エリアを完全に囲む必要があります
  • その物理フラッダーで埋め尽くされたエリアには、プレイヤーやその他のオブジェクトがアクセスできなくなります。サブボディにも同じことが言えます – ピボットまたはその他のマルチボディ コンポーネントがあるコンパートメントを埋めると、一定の衝突が発生し、スポーン時にビークルが飛び去ります
  • 物理フラッダーは空のボクセルしか埋めることができません。つまり、物理で埋めようとしている領域には立方体形状のコンポーネントだけを残す方が常に良いということです (つまり、すべてのウェッジとキューブを削除/置換するだけです)。内部にあるピラミッド)

死体

ボディは、何らかのジョイント接続 (サブボディ) を介して別のボディに接続できる、または車両の完全に別の部分 (サブグリッド) にすることができる車両の物理的な部分です。 Vehicle Editor で Merge モードに入ると、ボディが表示されます。各車両は少なくとも 1 つのボディです。たとえば、これが私のジープです。

ドアもボンネットもトランクもない、とてもシンプルな乗り物です。もう少し複雑な乗り物は次のようになります:

作成するボディが多いほど、計算が必要な他の物理オブジェクトとの衝突の可能性が高くなります。ここでの解決策は非常に明白です。実際に不要でない限り、多くのピボット、ピストン、リニア トラック、およびその他のマルチボディ コンポーネントを使用しないようにしてください。数十体の車体を持つ一部の小型車両は、中型船よりもゲームに遅れが生じる可能性があります。

サイズ

3 番目のパラメーターはサイズです。ここでもすべてが明確です。大規模な作品は衝突が大きくなり、断片化された物理体またはその数がはるかに多くなる可能性があります。大型車には普遍的なソリューションはありません。最初に形状の最適化を 100% 完了する必要がありますが、それで十分でない場合は、妥協する必要があります。非常に詳細な大規模な作品を作成してスローモーションでプレイするか、内部の詳細度を下げてプレイを楽しむかのいずれかです。優れた TPS/FPS。

ライト

ライト、特にスポットライトは GPU の負荷が非常に高くなります。それらを過度に使用すると、FPS が低下します。物理ラグとは異なり、シミュレーション速度に問題は発生しませんが、フレームレートに影響するだけです。ここでの推奨事項は非常にシンプルです。スポットライトは本当に必要な場合にのみ使用し、重複しないようにしてください。

ここに例があります。 IRL には 6 つの補助ランプがあるラリーカーですが、ゲームではそれほど多くは必要ありません。実際に夜間に運転する場合でも、6 つすべてを有効にするか、2 つだけ有効にするかで大きな違いはありません。

簡単な計算 – 左の車では FPS が約 90 になり、スポットライトが 2 つしかない右の車では 140 FPS でプレイできます。マルチプレイヤー イベントでレースをするときに、他のプレイヤーがヘッドライトが追加された同じような車を持っている場合を想像してみてください。それは確かなスライドショーになります。複数の車両をスポーンしてライトを有効にする (またはスポットライトのみをスポーンする) だけで、自分でテストできます。

見栄えを良くするために本当に多くのスポットライトが必要な場合は、そのうちの 2 つだけを点灯させておくと、残りは単なる装飾になります.

カメラ

Stormworks の最も優れた機能の 1 つは、カメラとモニターです。ピクチャ イン ピクチャはビデオゲームではめったに使用されないという単純な理由があります。それは、非常に GPU を消費する機能だからです。ありがたいことに、ライトとは異なり、ここには何らかのフール プロテクションがあります。より多くの PiP が低いモニター フレームレートをレンダリングすることで、FPS が節約され、通常はプレイ可能なレートに保たれます。

それでも、カメラを過剰に使用しないことを強くお勧めします。本当に必要なものだけを配置し、常にデフォルトでオフにし、切り替え可能にするようにしてください。悪い GPU を使用しているプレイヤーは、モニターやカメラを無効にするだけであなたの車を楽しむことができます。

効果

そして、パフォーマンスに影響を与える可能性がある最後の重要な要素はパーティクルです。

泡、排気、水、火など、さまざまなパーティクル エフェクトを生成する多くのコンポーネントがあります。これらのコンポーネントが多ければ多いほど、より多くの粒子が存在します。最適化もありますが、一度にできるエフェクトの数の制限にすぎません。一部の車両の外観が損なわれる可能性があるため、車両を賢く設計することをお勧めします。

流体ポート、ジェット排気口、または SRB ブースターを配置しすぎないようにしてください。通常はパフォーマンスが向上するため、複数の小さなコンポーネントの代わりに、より大きなバージョンを使用することをお勧めします。たとえば、特に排気ガスについては、ゲームの実験的なブランチにある新しい触媒コンバーターを使用できます。