ビークルシミュレーターのゲームプレイは、空間内のオブジェクトの動きをさまざまな自由度で制御することです。プレイヤーのアクションは、システムの瞬間的な状態ベクトルを望ましい方向またはまったく望ましくない方向に変更します。オブジェクトがプレイヤーのコントロールにうまく適合していない場合、ゲームは面白くないでしょう。
技術システムの人間による制御への適応性( 制御可能性)は、かなり複雑で多面的な特性です。制御対象の動作の数学モデルは、自動制御(TAU)の理論によって処理されます。 TAUで採用されているモデルは、プレーヤーの動作、つまり「ヒューマンオペレーター」および「ヒューマンマシン」システムを記述することもできます。
作成された人間のモデルは、限られた範囲の条件に常に関連していることに注意してください。このため、制御性の分野で実際的な問題を解決することは、TAUを超えることがよくあります。
機械の制御性とは、人間の活動の文脈から切り離してその意味を失う人間工学的特性を指します。カットの下で、ゲームプロセスの実験的研究に基づいて、シミュレータモデルを設定するためのアプローチが提示されます。
既存のシステムを正確にシミュレートすると主張するシミュレーターにとって、プロトタイプとの類似性は、その処理がどれほど劣っていても重要です。同じ特性の最適化は、特定のモデルを持たないゲーム、たとえば、幻想的なオブジェクトのシミュレーターに関連します。
与えられた特性のセットで実際のオブジェクトをシミュレートする問題は別として、シミュレーターは主観的に決定された物理性の存在から確実に失われないことに注意してください。言い換えれば、自然界に存在しないオブジェクトでさえ、プレーヤーの(オブジェクト)動作に関するプレーヤーの期待に応える場合と満たさない場合があります。オブジェクトの動作の自然性要因を考慮に入れる必要があります。
問題の定式化
シミュレーターの場合、車両の数学モデルの係数を調整して、最良のハンドリングを確保する必要があります。最適化は、実験データに基づいて実行する必要があります。プレイヤーにとって自然に見えるモデルを入手することが望ましい。
システムの説明
私たちの実験では、3Dグラフィックスを備えたシミュレーターを使用します 。
実際の車両の数学モデルの複雑さは、受け入れられる抽象化のレベルと使用される仮定の粗さによってのみ制限されます。ここで解決される問題のモデルの複雑さは、ゲームの自然さの合理的なレベルによって決定されます。
以下の簡略化を以下に適用します
。1。オブジェクトの移動方向は、その縦軸と一致するように取られます。
2.オブジェクトの回転運動は、独立したコンポーネントの合計と見なすことができます。つまり、オブジェクトに関連付けられた座標系(CCS)の3つの軸に対する回転運動です。
3.別の制御チャネル(別のCCS軸の周り)の角加速度は、制御アクションの現在の値とこのチャネルの角速度の線形の組み合わせによって決定されます。
実際のオブジェクトのモデリングにおける最初の単純化の受容性は、システムのプロパティと解決される問題によって決まります。たとえば、ダーツのよく知られた特性は、「前方に向けて」投げられた後に飛ぶ能力です。この単純なモデルは、有用な結論を引き出すのに十分です。ダーツをあなたの上に投げないでください。
ただし、ダーツとターゲットの接触の結果を判断するために正確なモデルが必要な場合は、飛行中の速度ベクトルが縦軸と特定の角度をなすことに留意する必要があります。
オブジェクトの座標系における速度ベクトルの方向の一定性は、歩行の生体力学に対応します。状態を「前向き」に保ちながら、人が歩くのが最も簡単です。それどころか、異常な方向への動きは、プレーヤーの視界を損ない、彼からの追加の精神的努力を必要とします。
項目2は、SSCの軸に「接続された」制御チャネルの相互分離を確立します。
SSC軸:縦( X)はオブジェクトの尾から鼻に向けられ、垂直( Y)は初期位置でのオブジェクトの対称面で上向きに向けられ、横( Z)は最初の2つに垂直に右に向けられます。したがって、X軸を中心とした回転 -横方向チャネル、Y軸の周り -トラックチャネル、Z軸の周り -縦方向チャネル。
採用された簡略化の第2項に従って、オブジェクトの制御チャネル間に相互接続はありません。実際のシステムは常にそのようなモデルに対応しますが、たとえばジャイロスコープモーメントの存在によって何らかのエラーが発生します。クロスリンクがないことは、プレイヤーの観点からの利点です。
項目3は、各制御チャネルに2つのトルクのみが存在することを確認します。
- プレイヤーのコントロールからの信号に比例するコントロールトルク。
- 現在の角速度に比例する減衰モーメント。
i軸周りの微分回転方程式は 次のとおりです。
ここで、 オメガは回転の角速度、 tは時間、 xは制御信号、方程式の右辺の係数は制御信号からの角加速度と角速度の部分導関数です。
最初の係数は制御効率係数と呼ばれ、2番目の係数は減衰係数 と呼ばれ ます。
角加速度は[ラジアン/秒で測定される 2]、角速度は[rad / s]単位です。制御信号は通常、レバーの動きまたはレバーへの力の単位で測定され、制御システムの中間要素の位置の単位で測定されることはあまりありませんが、キーボードからの制御では、この値を無次元と見なします。減衰係数の次元は[1 / s]であり、制御効率係数は[ラジアン/ sで 2考慮制御信号の採用寸法を取って、]。
必要な理論情報
, (1), . , . , :
(1) – x, – . :
(t) – , y(t) – , y – , k – , T – , .
(1) (2) :
( ) , . () – . – .
:
:
:
1. ( ), , .
2. , , .
3. , , , k.
, . k T.
. .
. , : — , — , – . — - , .
, - , . .
, , . .
, . .
( ) k. .
T ( ). T .
( T).
, /2. T.
: ( T) .
- ;
- ();
- ().
(1) – x, – . :
(t) – , y(t) – , y – , k – , T – , .
(1) (2) :
( ) , . () – . – .
:
:
- k ;
- T « », , t = 3T 0,95k.
:
1. ( ), , .
2. , , .
3. , , , k.
, . k T.
. .
. , : — , — , – . — - , .
, - , . .
, , . .
, . .
( ) k. .
T ( ). T .
( T).
, /2. T.
: ( T) .
実験条件とモデル品質基準
オブジェクトのより良い制御性は、プレイヤーによる問題に対してより効率的な解決策を提供するはずです。ただし、タスクが異なれば、必要な制御性も異なります。特定の移動モードのパラメーターを正確に順守することは、集中的な操作とは大きく異なります。
あらゆるタスクのユニバーサルモデルを見つけることは、必然的に妥協と関連しています。実験条件は、特定のタスクに有利な主観的なバランスシフトを決定します。ただし、ゲームの特定の条件を選択する必要があります。
調査では、限られた時間内に指定された最大数の制御対象物を訪問するという問題を使用します。この問題を効果的に解決するには、集中的な操作が必要です。
車両はロールとピッチの角度を制限して制御されます( 両角度で両方向に60度)。制限を超えると事故につながります。また、物体の上にある水平面との衝突は事故につながります。条件のこの部分は、プレーヤーのタスクのパラメーターを維持するコンポーネントを担当します。
オブジェクトの線形速度モジュールの値は一定であると想定されます。これは、加速器制御、および中程度の抵抗の不均一性がシミュレーターに存在しないことを意味します。
プレーヤー効率インジケーター-時間の終了前に訪問した場所の数( 60秒)または事故の前に。訪問する場所が多いほど、モデルはより適切に考慮されます。各モデル(係数値のセット)は、スコアの中央値を考慮したゲームの3つのパスを提供します。
実験を計画するときは、学習要因の影響を最小限に抑えることが重要です。このために、実験の順序が決定されました。各モデルは、調査の1番目、2番目、3番目の3分の1で起動されます:
A、B、C ... N、O、
A、B、C ... N、O、
A、B、C ... N、O ..。
各実験的なプレイスルーの前に、対応するモデルを使用した1つの練習ゲームが行われました。
シミュレーター
ここでモデル係数を自分で試すことができ ます。
オッズ管理は画面の右上隅にあります。「効率」パラメータ は制御効率係数であり、「減衰」パラメータ は反対の符号で取られた減衰係数です。
ゲームコントロール:
- スペース-ゲームの開始。
- W / S - SSC Z軸を中心とした回転、ノーズダウン/ノーズアップ;
- A / D - SSKのY軸を中心に回転し、左に曲がる/右に曲がる。
- 数字パッドの4 / 6 - SSKのX軸を中心に回転し、左に回転/右に回転します。
インジケーターウィンドシールドプレーヤーは 、人工的な地平線と、現在の方位値( «方位»)と深さ( «深度»)、つまり危険な表面までの距離を確認します。また、残りのゲーム時間と現在の結果(「スコア」)(訪問した場所の数)も表示され ます。
シミュレータコードは、Three.jsライブラリを使用 してJavaScriptで記述されてい ます。オブジェクトの動きのパラメーターの値は、オイラー法を使用して式(1)を数値的に統合することにより、ゲームループで更新されます。各反復で、オブジェクトの update()メソッドが呼び出されます 各制御チャネルの計算を実行する車両:
vehicle.update = function () {
// :
game.elapsed = (new Date() - game.time) / 1000;
game.time = new Date();
// ...
// :
vehicle.omegaX += (vehicle.epsilonX - vehicle.omegaX * vehicle.damping) * game.elapsed;
vehicle.omegaY += (vehicle.epsilonY - vehicle.omegaY * vehicle.damping) * game.elapsed;
vehicle.omegaZ += (vehicle.epsilonZ - vehicle.omegaZ * vehicle.damping) * game.elapsed;
// ...
}
車両オブジェクトの epsilonX、 epsilonY、および epsilonZフィールドには、減衰がない場合の角加速度成分が含まれています 。これらの各フィールドの値は、入力信号に制御効率係数を「乗算」することによって取得されます。
function init() {
// ...
// :
document.addEventListener('keydown', function (event) {
if (game.state == "READINESS")
if (event.code == "Space") {
// ...
}
if (game.state == "RUN")
switch (event.code) {
case "KeyW":
vehicle.epsilonZ = vehicle.efficiency;
break;
case "KeyS":
vehicle.epsilonZ = -vehicle.efficiency;
break;
case "KeyA":
vehicle.epsilonY = -vehicle.efficiency;
break;
case "KeyD":
vehicle.epsilonY = vehicle.efficiency;
break;
case "Numpad4":
vehicle.epsilonX = vehicle.efficiency;
break;
case "Numpad6":
vehicle.epsilonX = -vehicle.efficiency;
break;
}
});
document.addEventListener('keyup', function (event) {
switch (event.code) {
case "KeyW":
vehicle.epsilonZ = 0;
break;
case "KeyS":
vehicle.epsilonZ = 0;
break;
case "KeyA":
vehicle.epsilonY = 0;
break;
case "KeyD":
vehicle.epsilonY = 0;
break;
case "Numpad4":
vehicle.epsilonX = 0;
break;
case "Numpad6":
vehicle.epsilonX = 0;
break;
}
});
// ...
}
実験結果
モデルの品質指標は、2つの変数の関数と見なされます。したがって、調査の結果は3Dサーフェスをグラフィカルに表し、 その各ポイントが制御対象の独自のモデルを定義します。
いくつかのモデルの主な機能を考えてみましょう。チャートでは、議論されたモデルはラテン文字で示されています。
制御効率係数の最小値( 0.5 rad / s 2)で、減衰係数の値が最も良いモデルがあります(ポイント A)。モデル Aは、動的操作に対するオブジェクトの能力が弱いという特徴があります。
モデルAを減衰の増加に向けて変更 すると、最大角速度値が非常に低いモデルが作成されます。オブジェクトは最終的に操作する能力を失います。
モデルAを減衰を減少させる方向に変更 すると、オブジェクトの操作性が部分的に向上しますが、動的特性の低下により、システムの全体的な品質が低下します。スイングの問題が発生し、制御にはプレーヤーからの一定の補正アクションが必要です。
減衰がない場合、最適な制御効率を持つモデルがあります( B)。その管理効率はモデルAよりも高い 、優れた操作性を提供します。この場合、完全に減衰がないモデルAと比較して、蓄積の問題が悪化し ます。
モデルBをより効率的な制御に変更すると 、スイングの問題は、プレイヤーがそれと戦うことに十分な注意を払うレベルになります。さらに、制限を超えずに操縦することは不可能になります。
モデル Cは、モデルAと ベッドおよびの利点を組み合わせたもの です。オブジェクトは十分に効率的に管理されますが、揺れることはありません。モデルCのゲームパフォーマンスインジケーターの値 以前のモデルよりも大幅に高くなっています。ただし、このモデルは最も効果的なモデルではありません。
ポイントC周辺のフォームアイソラインパフォーマンスゲーム は、結果の改善が運動方向モデルDに対応することを示してい ます。
この動きは、kを一定レベル(約 0.6 rad / s)に維持しながら 、Tの値が減少することに対応し ます。間モデル Cと Dは上回る Cをゲームの有効性について。これらのモデルで遊ぶとき、コントロールオブジェクトはキーストロークにさらに厳密に従います。
モデルCからモデル Dに移動すると 、別の変化が発生します。それは、オブジェクトの自然な動作の劣化です。時間定数は、トランジェントの持続時間と出力信号の位相シフトがユーザーに気付かなくなるレベルに近づきます。 kの値を維持しながら Tの値をさらに減少させる方向に
モデルDを 変更して も、出力信号の位相シフトとモデルの過渡プロセスの期間が大幅に改善されることはなくなりました。 Dは、プレーヤーが認識できるほど十分に小さいです。 プレイヤーの観点から、Dの
さらなる「改善」によって得られたモデル は、増幅リンクの実装と同じです。ゲーム内のオブジェクトの角加速度はなく、キーを押すと角速度は瞬時に安定した値になります。 実行された分析により、次の結論を導き出すことができます : 1。モデルパラメータの最適値は、増幅リンクへの縮退(kの値 は約 0.6 rad / s、 T = 0 s)およびオブジェクトの自然な動作の喪失に対応します。
ポイントへのオブジェクトの対応する天然の挙動との良好な制御を提供2.モデル Cグラフ上(制御効率係数は:から 2まで 3ラジアン/秒 2、減衰係数を:から -4.5と -3.5 1 / S)。
モデルの変更3. Cの値が減少する方向に Tを時 kは=定数は、その行動の自然の劣化に改善された制御を有するオブジェクトを取得することを可能にします。
考慮されていない要因
制御対象の物理学の単純化に加えて、研究結果の品質は、研究条件の他の単純化によって影響を受けます:
1。可制御性モデルは、パラメーターの2つの値によって記述されました;オブジェクトはすべての制御チャネルで同じように動作しました。正確な画像を取得するには、プレーヤーのプロパティをすべてのチャネルで同じと見なす理由がないため、6つのパラメーターの値を変更する必要があります。
2.得られた結果は、ゲームで使用されるカメラの視野の設定に関連しています。このパラメータを変更すると、プレーヤーとオブジェクトの相互作用に顕著な影響があります。
この研究で最も深刻な欠陥は、統計の欠如です。人間工学的研究は、ターゲットオーディエンス全体の特性に焦点を当てる必要があります。プレイヤーのグループが参加することで、より完全な結果を得ることができます。