Перейти к содержанию

Рекомендуемые сообщения

Всем здрастите.У меня такая беде кароч решил найти значение скрости в гонках.Искал с помощью "уменьшилось увеличилось" но нужное значение скорости так и не нашёл хотя там были значения влияющие на скорость, но самого значения скорости нет.Три раза пробовал. Скажите может я что то не так делаю?

Изменено пользователем vlad2033
Ссылка на комментарий
Поделиться на другие сайты

Всем здрастите.У меня такая беде кароч решил найти значение скрости в гонках.Искал с помощью "уменьшилось увеличилось" но нужное значение скорости так и не нашёл хотя там были значения влияющие на скорость, но самого значения скорости нет.Три раза пробовал. Скажите может я что то не так делаю?

По-поводу скорости - https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C

----

Тебе нужно искать коэффициент ускорения. Значения содержащие смещение относительно твоего текущего местоположения (X, Y, Z) (в состоянии покоя это 0) и через них выходить на коэффициент ускорения и прочие параметры.

Ссылка на комментарий
Поделиться на другие сайты

По-поводу скорости - https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C

----

Тебе нужно искать коэффициент ускорения. Значения содержащие смещение относительно твоего текущего местоположения (X, Y, Z) (в состоянии покоя это 0) и через них выходить на коэффициент ускорения и прочие параметры.

Скажи плиз последовательность действий координаты нашёл а дальше что?

Ссылка на комментарий
Поделиться на другие сайты

Дальше нужно поставить брейкпоинт на запись и читать код, который меняет координаты. Скорость меняется ускорением, за определенные кусочки времени, то есть сначала игре нужно все это дело посчитать, а потом записать новую координату вместо старой:

 

post-6695-0-04414200-1438496509_thumb.pn

 

Картинку видишь? Вот там, где стрелочка, отладчик игру и останавливает. Там, по сути, происходит запись новых координат, которые рассчитала игра, поверх старых. Тебе надо выяснить, какой код отрабатывает до этого и поменять там коэффициент (speed или elapsed в данном случае).

Ссылка на комментарий
Поделиться на другие сайты

Надо искать функцию, которая читает и пишет физическое ускорение физическому телу. Актуально для физических движков типа PhysX

 

В Unity3d это свойство velocity

 

rigibody.velocity 

 

Надо найти у машины "rigibody.velocity " или подобное ему и за физический кадр умножать его физический вектор скорости многократно на желаемую величину по дельте времени между физическими кадрами.

 

 

Vector3 myAccel = new Vector3(2f,0f,2f); // двукратное увеличение физической скорости для X,Z, но не для Y. Где Y это высота. В других движках может быть вместо Y ось Zvoid FixedUpdate(){    carRigibody.velocity *= myAccel * Time.FixedDeltaTime;}carRigibody.velocity  - скорость физического тела машиныmyAccel - это Vector3 ускорениеTime.FixedDeltaTime - постоянная дельта в физическом кадре
Ссылка на комментарий
Поделиться на другие сайты

Надо искать функцию, которая читает и пишет физическое ускорение физическому телу. Актуально для физических движков типа PhysX

 

В Unity3d это свойство velocity

 

rigibody.velocity 

 

Надо найти у машины "rigibody.velocity " или подобное ему и за физический кадр умножать его физический вектор скорости многократно на желаемую величину по дельте времени между физическими кадрами.

 

 

Vector3 myAccel = new Vector3(2f,0f,2f); // двукратное увеличение физической скорости для X,Z, но не для Y. Где Y это высота. В других движках может быть вместо Y ось Zvoid FixedUpdate(){    carRigibody.velocity *= myAccel * Time.FixedDeltaTime;}carRigibody.velocity  - скорость физического тела машиныmyAccel - это Vector3 ускорениеTime.FixedDeltaTime - постоянная дельта в физическом кадре

о спасиб я просто удвоил функцию  ускорения=)

Ссылка на комментарий
Поделиться на другие сайты

Для интересующихся. Любая машина в большинстве гонок это физическое тело. Скорость физического тела рассчитывается по трем локальным осям X,Y,Z физического тела.

 

Ниже скрипт из стандартной машинки из стандартного набора игрового движка Unity3D (включает движок PhysX)

 

Vector3.magnitude

Vector3.Normalize

Vector3.normalized

Rigidbody Manual

Rigidbody

Ну еще и Wheel Collider (вращающаяся коллизия колеса, позволит сделать передний и задний привод, готовые скрипты в стандартной машине)

Wheel Collider

Inspector-WheelCollider.png

 // Ограничение по скорости с рассчетом скоростиprivate void CapSpeed(){	float speed = m_Rigidbody.velocity.magnitude; // текущая скорость	switch (m_SpeedType)	{		case SpeedType.MPH: // мили в час			speed *= 2.23693629f;			if (speed > m_Topspeed) // если текущая скорость больше максимальной				m_Rigidbody.velocity = (m_Topspeed/2.23693629f) * m_Rigidbody.velocity.normalized; // ограничиваем текущую скорость		case SpeedType.KPH: // километры в час			speed *= 3.6f;			if (speed > m_Topspeed) // если текущая скорость больше максимальной				m_Rigidbody.velocity = (m_Topspeed/3.6f) * m_Rigidbody.velocity.normalized;// ограничиваем текущую скорость			break;	}}
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.