返信先: ARMA3 ミッションエディットスレ

ホーム フォーラム TRI Gaming フォーラム ARMA3 ミッションエディットスレ 返信先: ARMA3 ミッションエディットスレ

#286435
アバター画像michy_REV19
キーマスター

2023/09/22/Friに第08回 新・エディターの集いを開催しました、ご参加いただいた皆さんありがとうございました。(議事録はこちら

今回は周知事項・策定事項ともにそんなに多くないのですが、一つだけこちらのスレでも周知したいことがあります。

Hide Terrain Objectsモジュールを使用するときは、Operate Locallyオプションを有効にしてください

MAP上の建物や植生などのオブジェクトを削除するために、Hide Terrain Objectsモジュールを使用しているミッションは多いかと思います。
このモジュールはMP環境において、クライアント間での同一性保持のためにサーバー側でモジュールを読み込んだ後に、各クライアントにオブジェクトを非表示にするコマンドが送信され処理を実行する、という動作をするようです。
しかし、このモジュールによって一度に大量のオブジェクトに処理を加えた場合、ネットワークに大きな負荷がかかり大人数のMP環境では同期ズレが発生しやすいそうです。
Operate Locallyオプションを有効にすると、モジュールがローカルで直接処理されるため、ネットワークに負荷を掛けないようになります。

これが問題になったのはつい先日で、帽子が素敵な某氏(⇐ガハハ)のミッションを回した際、開始直後にないはずの壁が見えてしまう人が複数いる(2割ほど)という事象が発生しました。
BIフォーラムを見ると、似たような事例が報告されています。
そもそも、Operate LocallyオプションのマウスオーバーTipsにも「大量のオブジェクトを適用するMPミッションでは使用を推奨」って書いてあるんですけど、ガチで検証されたことがないのでノウハウ不足は仕方ないと思います。

また、最近は負荷軽減のためか交戦地域以外のオブジェクトをこのモジュールを使ってごっそり削除しているミッションがちょこちょこあるようですが、そんなに効果ないんじゃないかと思ってます。
というのも、そもそも建物などのオブジェクトはSimple Objects(ポリゴンとテクスチャのみで構成されたオブジェクト)に近い描画パフォーマンスを発揮するうえに、車両やThingsオブジェクト(物理演算を持つ小物)に比べて計算リソースをほとんど消費しないのです。
つまり、物理演算が無いためCPU・RAM・Networkにはほとんど負荷が掛からず、そもそも視界に入らないならGPUにも負荷がかからない、という意味です。
体感では、オブジェクトを消すよりもTerrain Grid(View Distanceメニューで弄れる地形の細かさを調整するやつ)を荒くしたほうが遥かに負荷軽減に寄与します。

蛇足が長くなりましたが、今後ミッションでHide Terrain Objectsモジュールを使用するときは、Operate Locallyオプションを有効にしてください。

最近、MP環境でのバニラのモジュール関連の不具合が散見されるので、サーバー上でのデバッグをしっかりやりましょう。