プログラミング、ガジェット、趣味ネタを配信するブログ

ゲーム開発 雑記

【GCC_2019】「大規模ゲーム開発におけるフリーラン実装事例 ~気持ちよく走り続けさせるために~」の感想

投稿日:2019年4月1日 更新日:

今回はGCCで見てきた講演の1つ「大規模ゲーム開発におけるフリーラン実装事例 ~気持ちよく走り続けさせるために~」について
ざっくりとですが、書いていこうと思います。

スライドはこちら

概要

実際のゲームで実装したフリーランの話になります。
下記のアクションに関してどのように対応したかの話をしておりました。

  1. 走り
  2. 方向転換
  3. 段差越え
  4. ホッピング
  5. 壁走り

基本的にスフィアトレースを使用して下記の3つのポイントを考えて
対応していけば、対応できるとのこと

  1. 空きスペースをチェック
  2. 可能フラグをチェック
  3. 実行ポイントをチェック

1.走りについて

昔は走りを実装するときには、走りのループモーション1つで対応していたが、
最近では、「走り始め」「走りループ」「走り終わり」の3つで対応することが多くなったとのこと。

実装の問題点としては「もたつき」が発生してしまったため、その改善として初めに尺を短くしたが
見た目の問題上そこまでもたつきを解決できなかった。

そこで、入力結果をすぐに返すように対応して解決したとのこと。
具体的には、「走り始め」にキャラを残しつつルートの移動を行うように対応。

2.方向転換

こちら入力の問題で、チャタリングが発生(レバー反転時に数フレーム、小さい値がどうしても入ってしまう)
そのため、「走り > 方向転換」ではなく「走り > 走り終わり > 方向転換」といった感じになってしまうので、
タイマーを用意して誤動作をなくした。

また、方向転換の回転不足の問題もあったが、収束率をかけて対応

3.段差越え

初めに、AIのウェイポイントの流用を考えたが、手動で配置するのは面倒なのと、
背景ができないと対応できないため、下記の対応をとることにした。

  1. 足元と少し前方の地面座標をとり、地面に沿ったベクトルを算出
  2. 天井チェック
    単純に上に向かってスフィアトレースを行い天井チェックを行っていた
  3. 前方の壁チェック(空きスペースがあるか、越える壁があるか確認し、壁との距離を出す)
    ※ ここではラインを飛ばしていた。 高、中、低の3か所から前方に向かってレイを飛ばしていた
    ※ 段差越えできる壁フラグも用意してチェックも行っていました。
  4. 高さチェック
    3番で当たった位置の上空から、スフィアトレースを行って、壁の高さ(壁の角の位置を出していた)
    ※ 段差の高さなので、3の壁チェックの低い位置から飛ばしたレイでヒットした高さと上記の高さの差で高さを算出したとのこと

また、モーションの移動値で段差越えをさせようとしたが、壁に引っかかる問題も発生したので下記の対応で解決したとのこと

4.ホッピング

ホッピング用の専用コンポーネントを作成していました。

ジャンプする位置から、ホッピングで乗る棒の位置までは、線形補間で移動させているとのこと。
それだけだと、距離によってスピードが変わるので、走っている速さを最低速度にして移動させて対応したとのこと。

モーションに関しては必ず、ホッピングの頂点で止まるようにする。

5.壁走り

正面壁走りと、側面壁走りの2種で移動させている。

ある一定の高さがある壁に対して、一定の角度で壁に向かって走ると壁走りになるようにしている。
また、壁走り可能フラグもチェックしている。

単純に走らせると壁から浮いてしまったりするため、壁に吸い付く処理を実装。
壁走り中は、壁方向に重力を入れているとのこと。

壁の出っ張りに関しては、3番の段差チェックを使用して、壁走り中でも段差を越えれるように対応していました。

-ゲーム開発, 雑記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

VisualStudioでIncrediBuild FreeDev版を使用する方法

IncrediBuildを個人で使用する方法を説明します。 まず初めにIncrediBuildとは何かということをざっくりと説明しようと思います。   〇 IncrediBuildとは ソー …

no image

【Jenkins】VisualStudioのビルドジョブの作成

シェルの設定 シェルの実行ファイルを設定します。 「コントロールパネル > プログラム > Windowsの機能の有効化または無効化」を選択します。 「Linux用Windowsサブシステ …

no image

GameCreatorsConference2019に行ってきました!

ゲームの大規模勉強会「ゲームクリエイターズカンファレンス2019」に行ってきました! 勉強会といっても、講演を聞いて質疑応答などを行う感じです。 チケット代は4000円とちょっとお高め。 参加した講演 …

C#オープンソース次世代型ゲームエンジン「Xenko」がリリースしてました!

「シリコンスタジオ株式会社」C#オープンソース次世代型ゲームエンジン「Xenko」を正式リリースしたとのことです。 シリコンスタジオでエフェクトツール「BISHAMON」なども作っている会社ですね。 …

no image

瞑想セミナーを受講した感想

最近、瞑想って集中力アップやストレス緩和などに効果があるとのことで、 気になり瞑想セミナーを受講してみました。 大体何をしたのかと感想をメモ書き程度に書いていこうと思います。 瞑想セミナーの流れ 瞑想 …

スポンサー 人気記事 最近の投稿