LoginSignup
4
0

自作アセットでPlayable!のコリジョンチェックやってみた

Last updated at Posted at 2023-12-27

株式会社ベリサーブの清水と申します。
表題について、導入時から結果に至るまでの流れを記事にいたしました。
よければご一読下さい。

「Playable!」は、AIQVE ONE株式会社が提供する、ゲーム QA に特化した自動テストツールスイートです。

今回は、このPlayable!を使用して、ゲームアセットの衝突判定(以下コリジョンという)が必要な場所に設定されているかをチェックしてみます。

初めに、Playable!公式サイトにも導入手順の例としてある、Unreal Engine(以下UEという)のTemplate Assetである「Third Person Template」を用いて導入をしてみました。

スクリーンショット 2023-12-27 101357.png

御覧の通り、味気のないTemplateなので、自作してみたassetでコリジョンチェックしてみました。

スクリーンショット 2023-12-27 100520.png

「Third Person Template」では、もとよりコリジョンが設定されており、有無を調べるには完成されているので、下のうにょうにょしたドアオブジェクトが抜けるように、コリジョンを無しにして導入します。

Videotogif.gif

まず、コリジョンチェックをするためのマップデータをスキャンして取り込む作業から行います。
スキャンするゲームの仕様に応じて、ツールのコードを少し書き換えます。

スキャンを開始するとこんな感じになります。

2.gif

その後、経路探索の事前計算結果をファイル生成します。
これまでのスキャン等は数十分かかりましたが、結果をファイル生成するというツールなので、こちらはすぐに終わりました。

マップを選択してsearch mapを押すだけ

スクリーンショット 2023-12-26 141101.png

次に、結果をプロットするためのマップ画像を用意します。
今回はUEで上から見たものをそのままスクショして使いました。

2Dのビューワがあるので、テストで用いるだけなら十分確認できます。

スクリーンショット 2023-12-26 145739.png

ここまでできれば、ついにキャラクターを自動で動かしてコリジョンチェックをします。

これまでで取得したマップのスキャンデータや動作させるプロジェクトexeを割り当てて
並列で動作するスレッドを立ち上げます。
同時進行で自動コリジョンチェックを開始です。

今回使用しているPCのスペックにより、3スレッドでテスト開始
2.png

自動動作はこんな感じで動いています。

4.gif

壁にぶつかり、コリジョンが抜けていないかを調べています。

放置していると、以下の結果が得られました。

3.png
キャラクターが動いて接触した接触点の表示画面

4.png
目標点の表示画面

5.png
到達できた場所を表示する画面

以上の結果からこのコリジョン抜けを確認することができました。
6.png
一歩踏み出すと永遠に落ちていく地点
ゲームであればバグとなります。

今回用いたマップは小規模にして行いましたが、大規模なマップとなれば、デバッグ作業に多数の人員を弄することになります。
コスト削減と高効率化に一役買うことになるツールですね。

ご一読いただきありがとうございました。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0