Четверг, 28 Марта 2024, 17:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » labrob2013 [5]
Результаты поиска
labrob2013Дата: Вторник, 16 Августа 2016, 23:48 | Сообщение # 1 | Тема: Переключение передач?
был не раз
Сейчас нет на сайте
я знаю уже давно изучил основы, только что то я не могу найти куда вставлять помогите

Добавлено (16 августа 2016, 23:48)
---------------------------------------------
а какие могут ещё быть варианты, как у игры (Need For Speed Underground 1).
примерно:
0 - 10
10 - 40
40 -80
80 - 120
120 -180
180 -250
?


Email: labrob2013@yandex.ru
labrob2013Дата: Понедельник, 15 Августа 2016, 19:21 | Сообщение # 2 | Тема: Переключение передач?
был не раз
Сейчас нет на сайте
https://vk.com/doc223105033_437768010
Помогите разобраться в этом файле где ГАЗ и где нужно менять скорость ?

Добавлено (15 августа 2016, 16:16)
---------------------------------------------
помогите пожалуйста

Добавлено (15 августа 2016, 19:21)
---------------------------------------------
куда вставить код в файл?

labrob2013Дата: Воскресенье, 14 Августа 2016, 23:25 | Сообщение # 3 | Тема: Переключение передач?
был не раз
Сейчас нет на сайте
[Edy's vehicle physics] а куда код написать переключение передач (файл...), куда вставлять место ?

Добавлено (14 августа 2016, 23:25)
---------------------------------------------
куда вписать?

Код

...
  void Update ()
  {
   if (spinUpdateRate == UpdateRate.Disabled)
   {
    foreach (WheelData wd in m_wheelData)
    {
     UpdateSteering(wd);
    }
   }
   else
    if (spinUpdateRate == UpdateRate.OnUpdate || wheelPositionMode == PositionMode.Accurate)
   {
    bool needDisableColliders =    m_rigidbody.interpolation != RigidbodyInterpolation.None
     && wheelPositionMode == PositionMode.Accurate;
    
    if (needDisableColliders)
     DisableCollidersRaycast();
    
    foreach (WheelData wd in m_wheelData)
    {
     UpdateSteering(wd);
     UpdateTransform(wd);
    }
    
    if (needDisableColliders)
     EnableCollidersRaycast();
   }
   
   // Drag state is smoothly faded to zero. It gets raised/modified from the drag contacts.
   
   if (processContacts)
   {
    UpdateDragState(Vector3.zero, Vector3.zero, m_localDragHardness);
    // debugText = string.Format("Drag Pos: {0}  Drag Velocity: {1,5:0.00}  Drag Friction: {2,4:0.00}", localDragPosition, localDragVelocity.magnitude, localDragFriction);
   }
  }
  
  
  void FixedUpdate ()
  {
   // Ensure input values within range
   
   throttleInput = Mathf.Clamp (throttleInput, -1.0f, +1.0f);
   brakeInput = Mathf.Clamp01(brakeInput);
   handbrakeInput = Mathf.Clamp01(handbrakeInput);
   
   // Update common variables
   
   m_speed = Vector3.Dot(m_rigidbody.velocity, m_transform.forward);
   m_speedAngle = Vector3.Angle(m_rigidbody.velocity, m_transform.forward) * Mathf.Sign(m_speed);
   
   // Prepare common data
   
   float referenceDownforce =
    computeExtendedTireData? (m_rigidbody.mass * Physics.gravity.magnitude) / m_wheelData.Length : 1.0f;
   
   // Apply wheel physics
   
   bool needUpdateVisuals =
    spinUpdateRate == UpdateRate.OnFixedUpdate && wheelPositionMode == PositionMode.Fast;
   
   int groundedWheels = 0;
   
   foreach (WheelData wd in m_wheelData)
   {
    if (!disallowRuntimeChanges)
     UpdateWheelCollider(wd.collider);
    
    if (needUpdateVisuals)
     UpdateSteering(wd);
    
    UpdateSuspension(wd);
    UpdateLocalFrame(wd);
    UpdateGroundMaterial(wd);
    
    ComputeTireForces(wd);
    ApplyTireForces(wd);
    
    UpdateWheelSleep(wd);
    
    // Update visual wheel object
    
    if (needUpdateVisuals)
     UpdateTransform(wd);
    
    if (wd.grounded) groundedWheels++;
    
    // Calculate extended tire data
    
    if (computeExtendedTireData)
     ComputeExtendedTireData(wd, referenceDownforce);
   }
   
   // Apply aerodynamic properties
   
   float sqrVelocity = m_rigidbody.velocity.sqrMagnitude;
   
   Vector3 dragForce = -aeroDrag * sqrVelocity * m_rigidbody.velocity.normalized;
   Vector3 loadForce = -aeroDownforce * sqrVelocity * m_transform.up;
   Vector3 aeroAppPoint = m_transform.position + m_transform.forward * aeroAppPointOffset;
   
   m_rigidbody.AddForceAtPosition(dragForce, aeroAppPoint);
   if (groundedWheels > 0) m_rigidbody.AddForceAtPosition(loadForce, aeroAppPoint);
   
   // debugText = string.Format("AeroDrag: {0,6:0.} AeroForce: {1,6:0.}", dragForce.magnitude, loadForce.magnitude);
   
   // Handle impacts
   
   if (processContacts)
    HandleImpacts();
  }
...

?


Email: labrob2013@yandex.ru

Сообщение отредактировал labrob2013 - Воскресенье, 14 Августа 2016, 22:55
labrob2013Дата: Воскресенье, 14 Августа 2016, 20:20 | Сообщение # 4 | Тема: Переключение передач?
был не раз
Сейчас нет на сайте
Нужно сделать переключение передач как в "Need For Speed Underground 1", т.е если с первой передачи переключится на третью будет долго разгонятся машина... Можете видео посмотреть этой игры "Need For Speed Underground 1" драг рейсинг

Email: labrob2013@yandex.ru
labrob2013Дата: Воскресенье, 14 Августа 2016, 19:46 | Сообщение # 5 | Тема: Переключение передач?
был не раз
Сейчас нет на сайте
Как реализовать переключение передач у машины, может есть примеры кода(Unity 5) ?

Email: labrob2013@yandex.ru
Форум игроделов » Записи участника » labrob2013 [5]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг