ブログ / チュートリアル

Interaction System はプレイヤーが見ているものをどう判定するか

インタラクションシステムが最初に答えるべき問いは、言うのは簡単でも間違えやすいものです。プレイヤーは何を見ているのか。Rookspire Interaction System は、キャラクターに付ける 1 つのコンポーネント AC_Interactor でこれに答えます。

ラインではなく球

カメラからの単一のライントレースは細いものを見逃し、数ピクセルずれて狙ったプレイヤーに不利になります。そこでインタラクターは代わりに小さな球をスイープします。キャラクターの目の位置から、設定した到達距離まで前方へ進み、最初に当たったインタラクト可能なものがフォーカスになります。

カメラではなく目の位置から始めるため、一人称でも三人称でも、カメラコンポーネントのない任意のポーンでも動作します。

毎秒 20 回

スイープはデフォルトで毎フレームではなく、毎秒 20 回実行されます。プロンプトが即座に感じられるほど速く、負荷を気にしなくてよいほど軽い頻度です。到達距離、半径、頻度はコンポーネントの設定です。

状態は毎回読み直す

検出のたびに、対象の状態を読み直します。プロンプト、動詞、有効かどうか、無効ならその理由です。そのため、プレイヤーが見ている間にチェストのロックを解除すると、イベントを配線しなくてもプロンプトがすぐに変わります。

目をそらすとホールドはキャンセル

時間指定のホールドでは、キーを離すか別のものを見るとホールドがキャンセルされます。そのため、薬草の採取を始めたまま、進行が溜まり続ける状態で立ち去ることはできません。

ここで説明した内容はすべて、Interaction System のクイックスタートとマニュアルに記載されています。