[RESOLVIDO] Como eu faço o player sair do carro?
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Como eu faço o player sair do carro?
Gente, eu estou com uma duvida, como eu posso fazer o player sair do carro? É que quando o personagem entra, ele não sai, pois o playerInCar ele se desativa quando o personagem entra, pfv, se souberem me ajudem
Meu Script:
Meu Script:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ChangeCarToPlayer : MonoBehaviour
{
public GameObject player;
public GameObject playerEntryInCar;
public bool playerInCar;
public GameObject playerM;
public LayerMask playerMask;
public LayerMask playerInCarMask;
public GameObject car;
public GameObject playerCam;
public GameObject carCam;
public GameObject carSpawn;
public GameObject playerSpawnWithCar;
public float exitEntry;
public float entryCarDis;
public float exitCarDis;
public bool checkEntryCar;
// Start is called before the first frame update
void Start()
{
car.GetComponentInChildren<ThirdPersonControllerCar>().enabled = false;
player.GetComponentInChildren<ThirdPersonControllerPlayer>().enabled = true;
playerM.SetActive(true);
carCam.SetActive(false);
playerCam.SetActive(true);
}
// Update is called once per frame
void Update()
{
checkEntryCar = Physics.CheckSphere(carSpawn.transform.position, exitCarDis, playerMask);
playerInCar = Physics.CheckSphere(playerEntryInCar.transform.position, entryCarDis, playerInCarMask);
if (Input.GetKeyDown(KeyCode.E) && checkEntryCar)
{
exitEntry++;
car.GetComponentInChildren<ThirdPersonControllerCar>().enabled = true;
player.GetComponentInChildren<ThirdPersonControllerPlayer>().enabled = false;
playerM.SetActive(true);
carCam.SetActive(true);
playerCam.SetActive(false);
}
if (exitEntry == 2 && playerInCar)
{
exitEntry = 0;
car.GetComponentInChildren<ThirdPersonControllerCar>().enabled = false;
player.GetComponentInChildren<ThirdPersonControllerPlayer>().enabled = true;
playerM.SetActive(true);
carCam.SetActive(false);
playerCam.SetActive(true);
player.transform.position = new Vector3(carSpawn.transform.position.x, carSpawn.transform.position.y, carSpawn.transform.position.z);
}
}
}
Kind0ShadeBR- Iniciante
- PONTOS : 1504
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Como eu faço o player sair do carro?
Seu script parece estar correto, acredito que seja apenas uma linha que causa esse problema todos, que é
Tente fazer assim:
- Código:
exitEntry = 0;
Tente fazer assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ChangeCarToPlayer : MonoBehaviour
{
public GameObject player;
public GameObject playerEntryInCar;
public bool playerInCar;
public GameObject playerM;
public LayerMask playerMask;
public LayerMask playerInCarMask;
public GameObject car;
public GameObject playerCam;
public GameObject carCam;
public GameObject carSpawn;
public GameObject playerSpawnWithCar;
public float exitEntry;
public float entryCarDis;
public float exitCarDis;
public bool checkEntryCar;
// Start is called before the first frame update
void Start()
{
car.GetComponentInChildren<ThirdPersonControllerCar>().enabled = false;
player.GetComponentInChildren<ThirdPersonControllerPlayer>().enabled = true;
playerM.SetActive(true);
carCam.SetActive(false);
playerCam.SetActive(true);
}
// Update is called once per frame
void Update()
{
checkEntryCar = Physics.CheckSphere(carSpawn.transform.position, exitCarDis, playerMask);
playerInCar = Physics.CheckSphere(playerEntryInCar.transform.position, entryCarDis, playerInCarMask);
if (Input.GetKeyDown(KeyCode.E) && checkEntryCar)
{
exitEntry++;
car.GetComponentInChildren<ThirdPersonControllerCar>().enabled = true;
player.GetComponentInChildren<ThirdPersonControllerPlayer>().enabled = false;
playerM.SetActive(true);
carCam.SetActive(true);
playerCam.SetActive(false);
}
if (exitEntry == 2 && playerInCar)
{
car.GetComponentInChildren<ThirdPersonControllerCar>().enabled = false;
player.GetComponentInChildren<ThirdPersonControllerPlayer>().enabled = true;
playerM.SetActive(true);
carCam.SetActive(false);
playerCam.SetActive(true);
player.transform.position = new Vector3(carSpawn.transform.position.x, carSpawn.transform.position.y, carSpawn.transform.position.z);
exitEntry = 0;
}
}
}
Pokedlg- ProgramadorMaster
- PONTOS : 2338
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: [RESOLVIDO] Como eu faço o player sair do carro?
Eu acho que seja o problema do player não seguir o carro, você saberia como colocar ele como filho do carro via scriipt?
Kind0ShadeBR- Iniciante
- PONTOS : 1504
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Como eu faço o player sair do carro?
Pois o problema foi resolvido parcialmente
Kind0ShadeBR- Iniciante
- PONTOS : 1504
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Como eu faço o player sair do carro?
Sim, utilize SetParent()
- Código:
player.transform.SetParent(car.transform);
Pokedlg- ProgramadorMaster
- PONTOS : 2338
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como faço para o personagem entrar e sair do carro?
» [RESOLVIDO] Player Sair Da animaçao
» [RESOLVIDO] Como faço para uma plataforma cair ao player colidir com ela?
» Entra e sair do carro ativando e desativando camera e player
» Como faço pro carro só se mover quando eu engra no carro?
» [RESOLVIDO] Player Sair Da animaçao
» [RESOLVIDO] Como faço para uma plataforma cair ao player colidir com ela?
» Entra e sair do carro ativando e desativando camera e player
» Como faço pro carro só se mover quando eu engra no carro?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos