Четверг, 18 Апреля 2024, 18:49

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблемы по добавление авто , сильною глючит управление , ил
Проблемы по добавление авто , сильною глючит управление , ил
denisik10Дата: Воскресенье, 14 Августа 2011, 18:13 | Сообщение # 1
участник
Сейчас нет на сайте
Проблемы по добавление авто , сильною глючит управление , или , что.
Короче Вот видео , а здесь под видео я напишу параметры , модераторы не удаляйте тему, говорите модераторы , и я исправлю это , вот видео глюка : .
Так корпус весит 540 кг;
Колеса 18 кг;
Так вроде еще , что-то надо , ну ладно спросите вы меня , я вам отвечу , а пока предоставлю код :
Code
using UnityEngine;
using System.Collections;

public class CarController : MonoBehaviour {

public WheelCollider[] WColForward;
public WheelCollider[] WColBack;

public Transform[] wheelsF; //1
public Transform[] wheelsB; //1

public float wheelOffset = 0.1f; //2
public float wheelRadius = 0.13f; //2

public float maxSteer = 30;
public float maxAccel = 25;
public float maxBrake = 50;

public Transform COM;

public class WheelData{ //3
public Transform wheelTransform; //4
public WheelCollider col; //5
public Vector3 wheelStartPos; //6
public float rotation = 0.0f; //7
}

protected WheelData[] wheels; //8

// Use this for initialization

void Start () {
rigidbody.centerOfMass = COM.localPosition;

wheels = new WheelData[WColForward.Length+WColBack.Length]; //8

for (int i = 0; i<WColForward.Length; i++){ //9
wheels[i] = SetupWheels(wheelsF[i],WColForward[i]); //9
}

for (int i = 0; i<WColBack.Length; i++){ //9
wheels[i+WColForward.Length] = SetupWheels(wheelsB[i],WColBack[i]); //9
}

}

private WheelData SetupWheels(Transform wheel, WheelCollider col){ //10
WheelData result = new WheelData();

result.wheelTransform = wheel; //10
result.col = col; //10
result.wheelStartPos = wheel.transform.localPosition; //10

return result; //10

}

void FixedUpdate () {

float accel = 0;
float steer = 0;

accel = Input.GetAxis("Vertical");
steer = Input.GetAxis("Horizontal");

CarMove(accel,steer);
UpdateWheels(); //11
}

private void UpdateWheels(){ //11
float delta = Time.fixedDeltaTime; //12

foreach (WheelData w in wheels){ //13
WheelHit hit; //14

Vector3 lp = w.wheelTransform.localPosition; //15
if(w.col.GetGroundHit(out hit)){ //16
lp.y -= Vector3.Dot(w.wheelTransform.position - hit.point, transform.up) - wheelRadius; //17
}else{ //18

lp.y = w.wheelStartPos.y - wheelOffset; //18
}
w.wheelTransform.localPosition = lp; //19

w.rotation = Mathf.Repeat(w.rotation + delta * w.col.rpm * 360.0f / 60.0f, 360.0f); //20
w.wheelTransform.localRotation = Quaternion.Euler(w.rotation, w.col.steerAngle, 90.0f); //21
}

}

private void CarMove(float accel,float steer){

foreach(WheelCollider col in WColForward){
col.steerAngle = steer*maxSteer;
}

if(accel == 0){
foreach(WheelCollider col in WColBack){
col.brakeTorque = maxBrake;
}

}else{

foreach(WheelCollider col in WColBack){
col.brakeTorque = 0;
col.motorTorque    = accel*maxAccel;
}

}

}

}


Добавлено (14.08.2011, 18:13)
---------------------------------------------
делалось по уроку : http://habrahabr.ru/blogs/gdev/115557/


я родился 25.08.1993 ,почему после ника стоит 10 ? А просто , у меня просто не было пк , у меня когда появился тел , я зарегался , мне было около 13 лет , а почем "10" ? Просто , по правилам округление математики ...

Сообщение отредактировал denisik10 - Понедельник, 15 Августа 2011, 04:02
xXx996Дата: Воскресенье, 14 Августа 2011, 21:38 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Кошмар срочно скрипт спрячь в code .

Добавлено (14.08.2011, 21:38)
---------------------------------------------
+ видео кошмарного качества из того что разглядел понял то что у тебя проблема с центром тяжести.


Сообщение отредактировал xXx996 - Воскресенье, 14 Августа 2011, 21:40
DemeronДата: Понедельник, 15 Августа 2011, 01:13 | Сообщение # 3
User created in C++
Сейчас нет на сайте
Боже... Ну и код... Еще и синий... surprised
denisik10Дата: Понедельник, 15 Августа 2011, 04:00 | Сообщение # 4
участник
Сейчас нет на сайте
Quote (xXx996)
Кошмар срочно скрипт спрячь в code .

Добавлено (14.08.2011, 21:38)
---------------------------------------------
у тебя проблема с центром тяжести.

Я прятать не умею sad , да нет проблема не с центром тяжести , я его всяко располагал , и еще как ты видел , там у меня колеса могут вибрировать , едешь , а несколько колес подпрыгнут или еще , что-то короче , я озадачен , ну и код мне как не очень


я родился 25.08.1993 ,почему после ника стоит 10 ? А просто , у меня просто не было пк , у меня когда появился тел , я зарегался , мне было около 13 лет , а почем "10" ? Просто , по правилам округление математики ...
xXx996Дата: Понедельник, 15 Августа 2011, 13:55 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Сделай оба урока и самое главное ДЕЛАЙ ВСЁ КАК ТАМ ищи причину проблемы как будет работать уже переделывай под свой проект. И где-то в интернете видел нормальную физику авто эта погугли.

Добавлено (15.08.2011, 13:55)
---------------------------------------------
И сделай нормальное видео и закинь на youtube.

denisik10Дата: Понедельник, 15 Августа 2011, 14:21 | Сообщение # 6
участник
Сейчас нет на сайте
Quote (xXx996)
оба урока и самое главное ДЕЛАЙ ВСЁ КАК ТАМ

Я делал урок , потом начал вое


я родился 25.08.1993 ,почему после ника стоит 10 ? А просто , у меня просто не было пк , у меня когда появился тел , я зарегался , мне было около 13 лет , а почем "10" ? Просто , по правилам округление математики ...
xXx996Дата: Понедельник, 15 Августа 2011, 14:55 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Quote (xXx996)
оба урока
denisik10Дата: Понедельник, 15 Августа 2011, 15:07 | Сообщение # 8
участник
Сейчас нет на сайте
Quote (xXx996)
Quote (xXx996)
оба уро

2 урок танк ,а зачем мне танк , если мне авто надо ?

Добавлено (15.08.2011, 15:07)
---------------------------------------------

Quote (xXx996)
И сделай нормальное видео и закинь на youtube.

блин , чем мне снять , если ты хорошо знаешь юните , может быть , я те дам проект и ты глянешь ?


я родился 25.08.1993 ,почему после ника стоит 10 ? А просто , у меня просто не было пк , у меня когда появился тел , я зарегался , мне было около 13 лет , а почем "10" ? Просто , по правилам округление математики ...
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблемы по добавление авто , сильною глючит управление , ил
  • Страница 1 из 1
  • 1
Поиск:

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