02.04.2015, 00:21
Isso й dado pelo tempo passado por checkpoint de cada jogador.
Por exemplo, estou correndo contra o joгozinho, e ele acabou no mesmo checkpoint que eu passei б 5 segundos atrбs. Logo, estamos a 5 segundos de distвncia.
Ou vocк pode aplicar бlgebra vetorial, primeiro faзa o calculo da distancia entre os jogadores baseados nas coordenadas deles.
Sendo a minha posiзгo A(100,200,300) e a do joгozinho J(200,400,600)
Sу aplicar na forma de distвncia entre pontos:

DP = raiz quadrada( (200 - 100)І + (400 - 200)І + (600 - 300)І )
DP = raiz quadrada( 10000 + 40000 + 90000)
DP = raiz quadrada( 140000)
DP = 374,16. Esse й o modulo do vetor distвncia.
Sobre o tempo em segundos vocк pode pegar a velocidade do jogador, e entгo calcular quanto tempo leva para ele percorrer o mуdulo do vetor distвncia.
Vocк pode usar GetVehicleVelocity para pegar a velocidade instantвnea de cada eixo do plano cartesiano.

Supondo que o deslocamento seja (100,40,2)
Aplicar a fуrmula de velocidade instвntanea achando o vetor velocidade resultante:
Vi = raiz quadrada ( VxІ + VyІ + VzІ)
Vi = raiz quadrada ( 100І + 40І + 2І)
Vi = raiz quadrada (10000 + 1600 + 4)
Vi = 107,72. Velocidade instвntanea
Mas acontece que velocidade instвntanea й independente do tempo, portando nгo seria possнvel calcular qual seria a velocidade REAL do veнculo.
Tendo esses dados, vocк pode calcular a velocidade do veнculo (sem ser a instвntanea).
Pegando a distвncia de dois pontos em um intervalo de por exemplo 0,5 segundos.
Entгo dividir a distвncia entre dois pontos por 0,5 sendo assim a velocidade seria, em um caso de deslocamento de 100 unidades
100 / 0,5 = 200u/s
Com essa informaзгo, basta dividir a distвncia entre dos dois jogadores pela velocidade
374,16u / 200u/s = 1,87 segundos.
Por exemplo, estou correndo contra o joгozinho, e ele acabou no mesmo checkpoint que eu passei б 5 segundos atrбs. Logo, estamos a 5 segundos de distвncia.
Ou vocк pode aplicar бlgebra vetorial, primeiro faзa o calculo da distancia entre os jogadores baseados nas coordenadas deles.
Sendo a minha posiзгo A(100,200,300) e a do joгozinho J(200,400,600)
Sу aplicar na forma de distвncia entre pontos:

DP = raiz quadrada( (200 - 100)І + (400 - 200)І + (600 - 300)І )
DP = raiz quadrada( 10000 + 40000 + 90000)
DP = raiz quadrada( 140000)
DP = 374,16. Esse й o modulo do vetor distвncia.
Sobre o tempo em segundos vocк pode pegar a velocidade do jogador, e entгo calcular quanto tempo leva para ele percorrer o mуdulo do vetor distвncia.
Vocк pode usar GetVehicleVelocity para pegar a velocidade instantвnea de cada eixo do plano cartesiano.

Supondo que o deslocamento seja (100,40,2)
Aplicar a fуrmula de velocidade instвntanea achando o vetor velocidade resultante:
Vi = raiz quadrada ( VxІ + VyІ + VzІ)
Vi = raiz quadrada ( 100І + 40І + 2І)
Vi = raiz quadrada (10000 + 1600 + 4)
Vi = 107,72. Velocidade instвntanea
Mas acontece que velocidade instвntanea й independente do tempo, portando nгo seria possнvel calcular qual seria a velocidade REAL do veнculo.
Tendo esses dados, vocк pode calcular a velocidade do veнculo (sem ser a instвntanea).
Pegando a distвncia de dois pontos em um intervalo de por exemplo 0,5 segundos.
Entгo dividir a distвncia entre dois pontos por 0,5 sendo assim a velocidade seria, em um caso de deslocamento de 100 unidades
100 / 0,5 = 200u/s
Com essa informaзгo, basta dividir a distвncia entre dos dois jogadores pela velocidade
374,16u / 200u/s = 1,87 segundos.