Rodas Saem do carro e da moto
2 participantes
Página 1 de 1
Rodas Saem do carro e da moto
OLA ESTOU COM PROBLEMAS NAS RODAS DO CARRO E DA MOTO ELES QUANDO DOU PLAY ELES VOOAM PARA O ESPAÇO OU PARA O LIMBO
ESSE E O SCRIPT QUE ESTOU USANDO
NA MOTO: AS RODAS SAEM SEM O CORPO (BANCO GUIDOM...) E DPS CAEM
NO CARRO: AO DAR PLAY AS RODAS KIKAM E VAO EMBORA DEIXANDO APENAS O CARRO (JA OLHEI RIGIDIBODY)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Carro : MonoBehaviour {
public WheelCollider[] wcsRodasTraseiras;
public Transform[] meshRodasTraseiras;
public WheelCollider[] wcsRodasFrontais;
public Transform[] meshRodasFrontais;
public bool traccaoTraseira, rodasTraseirasGiraveis , freiosTraseiros, traccaoFrontal, rodasFrontaisGiraveis, freiosFrontais, traccaoComQuatroRodas, freioComQuatroRodas, todasRodasGiraveis;
public float Velocidade, anguloVolante, freio, friccao;
// Use this for initialization
void Start (){
}
void RodasTraseiras(){
Vector3 posTraseiro;
Quaternion rotTraseiro;
for(int i=0; i<wcsRodasTraseiras.Length; i++){
wcsRodasTraseiras[i].GetWorldPose(out posTraseiro,out rotTraseiro);
meshRodasTraseiras[i].position = posTraseiro;
meshRodasTraseiras[i].rotation = rotTraseiro;
if (traccaoTraseira == true){
wcsRodasTraseiras[i].motorTorque = Input.GetAxis("Vertical")*Velocidade;
}
if(traccaoTraseira == false && rodasTraseirasGiraveis == true){
wcsRodasTraseiras[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (traccaoTraseira == true && rodasTraseirasGiraveis == true){
wcsRodasTraseiras[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
wcsRodasTraseiras[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (freiosTraseiros == true){
wcsRodasTraseiras[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (freioComQuatroRodas == true){
wcsRodasTraseiras[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (traccaoComQuatroRodas == true)
{
wcsRodasTraseiras[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
}
if (todasRodasGiraveis == true)
{
wcsRodasTraseiras[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
}
}
void RodasFrontais()
{
Vector3 posFrontal;
Quaternion rotFrontal;
for (int i = 0; i < wcsRodasFrontais.Length; i++)
{
wcsRodasFrontais[i].GetWorldPose(out posFrontal, out rotFrontal);
meshRodasFrontais[i].position = posFrontal;
meshRodasFrontais[i].rotation = rotFrontal;
if (traccaoFrontal == true)
{
wcsRodasFrontais[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
}
if (traccaoFrontal == false && rodasFrontaisGiraveis == true)
{
wcsRodasFrontais[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (traccaoFrontal == true && rodasFrontaisGiraveis == true)
{
wcsRodasFrontais[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
wcsRodasFrontais[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (freiosFrontais == true)
{
wcsRodasFrontais[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (freioComQuatroRodas == true)
{
wcsRodasFrontais[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (traccaoComQuatroRodas == true)
{
wcsRodasFrontais[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
}
if (todasRodasGiraveis == true)
{
wcsRodasFrontais[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
}
}
// Update is called once per frame
void Update () {
RodasTraseiras();
RodasFrontais();
if (traccaoTraseira == true)
{
traccaoFrontal = false;
}
else
{
traccaoFrontal = true;
}
if (rodasFrontaisGiraveis == true)
{
rodasTraseirasGiraveis = false;
}
else{
rodasFrontaisGiraveis = true;
}
if (freiosFrontais == true && freiosTraseiros == true){
freioComQuatroRodas = true;
freiosTraseiros = false;
freiosFrontais = false;
if (freioComQuatroRodas == true){
freiosTraseiros = false;
freiosFrontais = false;
}
}
}
}
ALGUEM PODERIA ME AJUDAR ???
ESSE E O SCRIPT QUE ESTOU USANDO
NA MOTO: AS RODAS SAEM SEM O CORPO (BANCO GUIDOM...) E DPS CAEM
NO CARRO: AO DAR PLAY AS RODAS KIKAM E VAO EMBORA DEIXANDO APENAS O CARRO (JA OLHEI RIGIDIBODY)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Carro : MonoBehaviour {
public WheelCollider[] wcsRodasTraseiras;
public Transform[] meshRodasTraseiras;
public WheelCollider[] wcsRodasFrontais;
public Transform[] meshRodasFrontais;
public bool traccaoTraseira, rodasTraseirasGiraveis , freiosTraseiros, traccaoFrontal, rodasFrontaisGiraveis, freiosFrontais, traccaoComQuatroRodas, freioComQuatroRodas, todasRodasGiraveis;
public float Velocidade, anguloVolante, freio, friccao;
// Use this for initialization
void Start (){
}
void RodasTraseiras(){
Vector3 posTraseiro;
Quaternion rotTraseiro;
for(int i=0; i<wcsRodasTraseiras.Length; i++){
wcsRodasTraseiras[i].GetWorldPose(out posTraseiro,out rotTraseiro);
meshRodasTraseiras[i].position = posTraseiro;
meshRodasTraseiras[i].rotation = rotTraseiro;
if (traccaoTraseira == true){
wcsRodasTraseiras[i].motorTorque = Input.GetAxis("Vertical")*Velocidade;
}
if(traccaoTraseira == false && rodasTraseirasGiraveis == true){
wcsRodasTraseiras[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (traccaoTraseira == true && rodasTraseirasGiraveis == true){
wcsRodasTraseiras[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
wcsRodasTraseiras[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (freiosTraseiros == true){
wcsRodasTraseiras[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (freioComQuatroRodas == true){
wcsRodasTraseiras[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (traccaoComQuatroRodas == true)
{
wcsRodasTraseiras[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
}
if (todasRodasGiraveis == true)
{
wcsRodasTraseiras[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
}
}
void RodasFrontais()
{
Vector3 posFrontal;
Quaternion rotFrontal;
for (int i = 0; i < wcsRodasFrontais.Length; i++)
{
wcsRodasFrontais[i].GetWorldPose(out posFrontal, out rotFrontal);
meshRodasFrontais[i].position = posFrontal;
meshRodasFrontais[i].rotation = rotFrontal;
if (traccaoFrontal == true)
{
wcsRodasFrontais[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
}
if (traccaoFrontal == false && rodasFrontaisGiraveis == true)
{
wcsRodasFrontais[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (traccaoFrontal == true && rodasFrontaisGiraveis == true)
{
wcsRodasFrontais[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
wcsRodasFrontais[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
if (freiosFrontais == true)
{
wcsRodasFrontais[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (freioComQuatroRodas == true)
{
wcsRodasFrontais[i].brakeTorque = Input.GetKey(KeyCode.Space) ? freio : friccao - Mathf.Abs(Input.GetAxis("Vertical") * friccao);
}
if (traccaoComQuatroRodas == true)
{
wcsRodasFrontais[i].motorTorque = Input.GetAxis("Vertical") * Velocidade;
}
if (todasRodasGiraveis == true)
{
wcsRodasFrontais[i].steerAngle = anguloVolante * Input.GetAxis("Horizontal");
}
}
}
// Update is called once per frame
void Update () {
RodasTraseiras();
RodasFrontais();
if (traccaoTraseira == true)
{
traccaoFrontal = false;
}
else
{
traccaoFrontal = true;
}
if (rodasFrontaisGiraveis == true)
{
rodasTraseirasGiraveis = false;
}
else{
rodasFrontaisGiraveis = true;
}
if (freiosFrontais == true && freiosTraseiros == true){
freioComQuatroRodas = true;
freiosTraseiros = false;
freiosFrontais = false;
if (freioComQuatroRodas == true){
freiosTraseiros = false;
freiosFrontais = false;
}
}
}
}
ALGUEM PODERIA ME AJUDAR ???
EricknhYT- Avançado
- PONTOS : 2045
REPUTAÇÃO : 8
Idade : 20
Áreas de atuação : Programando Patrulha Ostensiva - Msc Studios
Respeito as regras :
Re: Rodas Saem do carro e da moto
Você adicionou colisor principal no veículo?
E qual a massa do veículo?
E qual a massa do veículo?
Tópicos semelhantes
» Rodas do carro nao ficao presas ao carro
» ERRO NAS RODAS DO CARRO
» [AJUDA] Controle das rodas do carro
» TROCAR RODAS DO CARRO NA OFICINA
» Script para andar no Carro/Moto
» ERRO NAS RODAS DO CARRO
» [AJUDA] Controle das rodas do carro
» TROCAR RODAS DO CARRO NA OFICINA
» Script para andar no Carro/Moto
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos