A jogabilidade do simulador de veículo consiste em controlar o movimento de um objeto no espaço com vários graus de liberdade. As ações do jogador mudam o vetor do estado instantâneo do sistema na direção desejada ou não exatamente desejada. É improvável que o jogo seja interessante se o objeto estiver mal adaptado ao controle do jogador.
A adaptabilidade de um sistema técnico ao controle humano ( controlabilidade ) é uma característica bastante complexa e multifacetada. O modelo matemático do comportamento de um objeto controlado é tratado pela teoria do controle automático (TAU). Os modelos adotados no TAU também podem descrever o comportamento do jogador - sistemas “homem-operador” e “homem-máquina”.
Deve-se notar que os modelos humanos criados são sempre relevantes para uma gama limitada de condições. Por esta razão, a solução de problemas práticos no campo da controlabilidade muitas vezes vai além do escopo do TAU.
A controlabilidade de uma máquina refere-se às suas propriedades ergonômicas, que perdem seu significado isoladas do contexto da atividade humana. No corte, é apresentada uma abordagem para montar um modelo de simulador, a partir de um estudo experimental do processo do jogo.
Para simuladores que pretendem simular sistemas existentes com precisão, a semelhança com o protótipo é importante, não importa o quão ruim seja seu manuseio. A otimização das mesmas características é relevante para jogos que não possuem um determinado modelo, por exemplo, simuladores de objetos fantásticos.
Deixando de lado o problema de simular um objeto real com um determinado conjunto de características, notamos que o simulador certamente não perderá com a presença de uma fisicalidade determinada subjetivamente. Em outras palavras, mesmo um objeto que não existe na natureza pode ou não corresponder às expectativas do jogador em relação ao seu comportamento (objeto). O fator de comportamento natural do objeto deve ser levado em consideração.
Formulação do problema
Para o simulador, é necessário ajustar os coeficientes do modelo matemático do veículo de forma a garantir seu melhor manuseio. A otimização deve ser realizada com base em dados experimentais. É desejável obter um modelo que pareça natural para o jogador.
Descrição do sistema
Em nossos experimentos usaremos um simulador com gráficos 3D .
A complexidade do modelo matemático de um veículo real é limitada apenas pelo nível aceito de abstração e a aspereza das suposições usadas. A complexidade do modelo no problema a ser resolvido aqui é determinada pelo nível racional de naturalidade do jogo.
As seguintes simplificações serão aplicadas a seguir:
1. A direção do movimento do objeto é considerada coincidente com seu eixo longitudinal.
2. O movimento rotacional de um objeto pode ser considerado como a soma de componentes independentes - movimentos rotacionais relativos aos três eixos do sistema de coordenadas (CSC) associados ao objeto.
3. A aceleração angular em um canal de controle separado (em torno de um eixo CCS separado) é determinada por uma combinação linear dos valores atuais da ação de controle e da velocidade angular neste canal.
A aceitabilidade da primeira simplificação na modelagem de objetos reais é determinada pelas propriedades do sistema e do problema a ser resolvido. Por exemplo, uma propriedade bem conhecida dos dardos é a habilidade de voar depois de ser lançada "com a ponta para a frente". Este modelo simples é suficiente para tirar uma conclusão útil: não jogue o dardo em cima de você.
Mas se um modelo preciso é necessário para determinar as consequências do contato de um dardo com um alvo, então deve-se ter em mente que em vôo seu vetor velocidade forma um certo ângulo com o eixo longitudinal.
A constância da direção do vetor velocidade no sistema de coordenadas do objeto corresponde à biomecânica do caminhar: é mais fácil para uma pessoa caminhar, mantendo o estado de "olhar para frente". O movimento em direções incomuns, ao contrário, prejudica a visão do jogador e requer esforço mental adicional dele.
O item 2 estabelece o isolamento mútuo dos canais de controle “acoplados” aos eixos do SSC.
Eixos SSC: longitudinal ( X ) é direcionado da cauda ao nariz do objeto, vertical ( Y ) é direcionado para cima no plano de simetria do objeto em sua posição inicial, lateral ( Z ) é direcionado perpendicularmente aos dois primeiros à direita. Consequentemente, a rotação em torno do eixo X- canal lateral, em torno do eixo Y - canal da trilha, em torno do eixo Z - canal longitudinal.
De acordo com a cláusula 2 das simplificações adotadas, não há cross-links entre os canais de controle do objeto. Os sistemas reais sempre correspondem a tal modelo com algum erro causado, por exemplo, pela presença de momentos giroscópicos. A falta de links cruzados é uma vantagem do ponto de vista do jogador.
O item 3 estabelece a presença de apenas dois torques em cada canal de controle:
- controle de torque proporcional ao sinal do controle do jogador;
- momento de amortecimento proporcional à velocidade angular atual.
A equação diferencial de rotação em torno do eixo i é a seguinte:
aqui, ômega é a velocidade angular de rotação, t é o tempo, x é o sinal de controle e os coeficientes no lado direito da equação são as derivadas parciais da aceleração angular do sinal de controle e da velocidade angular.
O primeiro coeficiente será chamado de coeficiente de eficiência de controle , o segundo - o coeficiente de amortecimento .
A aceleração angular é medida em [rad / s 2], a velocidade angular está em [rad / s]. O sinal de controle é geralmente medido em unidades de movimento das alavancas ou esforços sobre elas, menos frequentemente em unidades da posição dos elementos intermediários do sistema de controle, mas para o controle do teclado consideraremos este valor como adimensional. A dimensão do fator de amortecimento é [1 / s], e o fator de eficiência de controle é [rad / s 2 ], levando em consideração a dimensão adotada do sinal de controle.
Informação teórica necessária
, (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) .
Condições experimentais e critérios de qualidade do modelo
Uma melhor controlabilidade do objeto deve fornecer uma solução mais eficiente para o problema pelo jogador. Mas tarefas diferentes requerem controlabilidade diferente: a aderência exata aos parâmetros de um determinado modo de movimento difere significativamente das manobras intensas.
Encontrar um modelo universal para qualquer tarefa está inevitavelmente associado a um compromisso. As condições experimentais determinam a mudança subjetiva de equilíbrio em favor de certas tarefas. No entanto, as condições específicas do jogo devem ser escolhidas.
Para o estudo, usaremos o problema de visitar um objeto controlado do número máximo de locais especificados em um tempo limitado. Uma solução eficaz para este problema requer manobras intensas.
O veículo será controlado com restrições nos ângulos de roll e pitch ( 60 graus em ambas as direções para ambos os ângulos): ultrapassar os limites acarretará em acidente. Além disso, uma colisão com uma superfície horizontal localizada acima do objeto leva a um acidente. Esta parte das condições é responsável pela componente de manutenção dos parâmetros na tarefa do jogador.
O valor do módulo de velocidade linear do objeto é considerado constante. Isso significa que o controle do acelerador, assim como o desnível da resistência média, está ausente no simulador.
Indicador de eficiência do jogador - o número de locais visitados antes do final do tempo ( 60segundos) ou antes do acidente. Quanto mais locais visitados, melhor o modelo é considerado. Cada modelo (conjunto de valores de coeficientes) fornece três passagens do jogo com a pontuação média levada em consideração.
Ao planejar experimentos, é importante minimizar a influência do fator de aprendizagem. Para isso, foi determinada a ordem dos experimentos, em que cada modelo é lançado no primeiro, segundo e terceiro terços do estudo:
A, B, C ... N, O,
A, B, C ... N, O,
A, B, C ... N, O ...
Cada jogo experimental foi precedido por um jogo de prática com o modelo correspondente.
Simulador
Você mesmo pode experimentar os coeficientes do modelo aqui .
O gerenciamento de probabilidades está no canto superior direito da tela. O parâmetro "eficiência" é o coeficiente de eficiência de controle, o parâmetro "amortecimento" é o coeficiente de amortecimento obtido com o sinal oposto.
Controle do jogo:
- Espaço - início do jogo;
- W / S - rotação em torno do eixo Z do SSC, nariz para baixo / nariz para cima;
- A / D - rotação em torno do eixo Y da SSK, virar à esquerda / virar à direita;
- 4/6 no teclado numérico - rotação em torno do eixo X do SSK, role para a esquerda / role para a direita.
O indicador do pára-brisa vê o horizonte artificial e o valor atual da direção ( «direção» ) e a profundidade ( «profundidade» ), ou seja, a distância até a superfície perigosa. Também mostra o resto do tempo do jogo e o resultado atual ( "pontuação" ) - o número de locais visitados.
O código do simulador é escrito em JavaScript usando a biblioteca Three.js . Os valores dos parâmetros do movimento do objeto são atualizados no loop do jogo integrando numericamente a equação (1) usando o método de Euler. Em cada iteração, o método update () do objeto é chamado veículo que realiza cálculos para cada canal de controle:
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;
// ...
}
Os campos epsilonX , epsilonY e epsilonZ do objeto de veículo contêm os componentes de aceleração angular na ausência de amortecimento. O valor de cada um desses campos é obtido pela "multiplicação" do sinal de entrada pelo fator de eficiência de controle:
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;
}
});
// ...
}
Resultados da Experiência
O indicador de qualidade do modelo será considerado em função de duas variáveis. Assim, os resultados do estudo representam graficamente uma superfície 3D , cada ponto que define seu próprio modelo do objeto controlado.
Vamos considerar os principais recursos de alguns modelos. No gráfico, os modelos discutidos são indicados em letras latinas.
Com o valor mínimo do coeficiente de eficiência de controle ( 0,5 rad / s 2 ), existe um modelo com o melhor valor do coeficiente de amortecimento (ponto A ). O modelo A é caracterizado por uma capacidade fraca do objeto para manobras dinâmicas.
Mudar o modelo A em direção a um amortecimento maior leva à criação de modelos com valores de velocidade angular máxima extremamente baixos. O objeto finalmente perde sua capacidade de manobra.
Mudar o modelo A na direção de diminuir o amortecimento melhora parcialmente a capacidade de manobra do objeto, mas a qualidade geral do sistema diminui devido à deterioração de suas propriedades dinâmicas: surge um problema de acúmulo, o controle requer ações de compensação constantes do jogador.
Na ausência de amortecimento, existe um modelo com ótima eficiência de controle ( B ). Sua eficiência de gestão é superior à do modelo A, o que fornece boa manobrabilidade. Nesse caso, o problema de acúmulo é exacerbado em relação ao modelo A , totalmente desprovido de amortecimento.
Mudar o modelo B para um controle mais eficiente leva o problema do swing a um nível em que toda a atenção do jogador é dada para combatê-lo. Além disso, manobrar sem ir além das restrições torna-se impossível.
O modelo C combina as vantagens dos modelos A e Cama e . O objeto é gerenciado com eficiência suficiente, mas sem balançar. O valor do indicador de desempenho do jogo para o modelo Csignificativamente maior do que os modelos anteriores. No entanto, este modelo não é o mais eficaz.
O jogo de desempenho das isolinhas de forma em torno do ponto C mostra que a melhoria no resultado corresponde ao modelo D de direção do movimento .
Este movimento corresponde a uma diminuição no valor de T enquanto mantém k em um nível constante (cerca de 0,6 rad / s). Modelos entre C e D superam Csobre a eficácia do jogo. Ao jogar com esses modelos, o objeto de controle segue os pressionamentos de tecla mais de perto.
Ao passar do modelo C para o modelo D , outra mudança ocorre: a deterioração do comportamento natural do objeto. A constante de tempo se aproxima do nível no qual a duração do transiente e a mudança de fase do sinal de saída não são mais perceptíveis para o usuário.
Mudar o modelo D em direção a uma diminuição adicional no valor de T , mantendo o valor de k, não dá mais melhorias significativas, porque a mudança de fase do sinal de saída e a duração do processo transiente no modelo D já é pequeno o suficiente para o jogador perceber.
Os modelos obtidos por "aprimoramento" posterior de D , do ponto de vista do jogador, não diferem da implementação do elo amplificador: não há aceleração angular do objeto no jogo, a velocidade angular assume instantaneamente um valor constante quando a tecla é pressionada.
A análise permitiu tirar as seguintes conclusões :
1. Os valores ótimos dos parâmetros do modelo correspondem à sua degeneração em elo amplificador (o valor de k é cerca de 0,6 rad / s, T = 0 s) e à perda do comportamento natural do objeto.
2. O modelo que proporciona boa controlabilidade com o comportamento natural do objeto corresponde ao ponto C do gráfico (coeficiente de eficiência de controle: de 2 a 3 rad / s 2 ; coeficiente de amortecimento: de -4,5 a -3,5 1 / s).
3. Mudar o modelo C no sentido de diminuir o valor de T em k = const permite obter um objeto com melhor controlabilidade devido à deterioração da naturalidade de seu comportamento.
Fatores não contabilizados
Junto com as simplificações da física do objeto controlado, a qualidade dos resultados da pesquisa é influenciada por outras simplificações das condições de pesquisa:
1. O modelo de controlabilidade foi descrito por dois valores dos parâmetros; o objeto se comportou da mesma forma em todos os canais de controle. Para obter uma imagem precisa, os valores de seis parâmetros devem ser variados, uma vez que não há razão para considerar as propriedades do reprodutor iguais para todos os canais.
2. Os resultados obtidos são relevantes para as configurações do campo de visão da câmera usada no jogo. Alterar este parâmetro terá um efeito perceptível na interação do jogador com o objeto.
A falha mais séria do estudo é a falta de estatísticas. Qualquer pesquisa ergonômica deve enfocar as propriedades do público-alvo como um todo. Resultados mais completos podem ser obtidos com a participação de um grupo de jogadores.