SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Dúvida NavMesh com UI
(Ajuda) PlayerPrefs
Textura - Envelopamento de Cubos e outras Formas
Salvar estado de bool com PlayerPrefsX.
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[Projeto] Line Battle
[Duvida]3dwarehouse posso usar seus modelos e vender meu jogo ?
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Novo tema fórum - Votação
Bug Animation
avaliem esse trabalho no scupt mode
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Como usar o Getfloat no audio mixer?
Wheel joint 2d e problema com limite de velocidade
[RESOLVIDO]Text não recebe texto do inpult Field
Unity editor lento, mas game final não
Como criar uma conexão externa usando IP do host
[RESOLVIDO] Componente Button em um sprite.
Seleção de botão
GRAFICOS UNITY
[DUVIDA] Textura dentro do objeto com editor gráfico da unity
colisão na particle
Adaptação a Área de Desenvolvimento de Jogos
PRECISO DE UM ANIMADOR
[RESOLVIDO] Qual o Aspect Ratio do celular.
Formação de equipe
pack de animações
Como faço para o personagem entrar e sair do carro?
[DÚVIDA]Como sincronizar os kills e mortes com Unet
[RESOLVIDO]Licença 3d Warehouse
como criar um slime? como fazer para uma mesh ficar mole e colidir com o chao(tipo slime)?
[DÚVIDA]É possível instalar o Unity no Ubuntu e ser ativado sem internet?
[DÚVIDA]Materiais da Unity para objetos do Blender
[AJUDA]Quero Ajuda poque esse script so da erro!
[DÚVIDA]Tempo de espera fora do app
[RESOLVIDO]Script com um pequeno defeito
[RESOLVIDO]Erro com monodevelop
[RESOLVIDO]Como fazer o audio se sobrepor?
aVork - Física realista para veículos
Wheel Collider
Dúvida com void OnTriggerEnter
Blender p/ Unity - Objetos c/ 90º
[AJUDA]Como ativar/desativar todos os GameObjects de uma array
[DÚVIDA]Atributos Network UNET
Asset MS Vehicle System
[ERRO UNITY] Unity 2017
[RESOLVIDO] erro no unity 2017 ao colocar scripts
[DÚVIDA]Problema com Multiplayer UNET
NOVO ANDROID STUDIO COM PROBLEMA NO SDK
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Suzuki Srad 750
[RESOLVIDO]Tem Como eu Fazer uma Float com 2 Numeros após a virgula ?
[RESOLVIDO] Cálculo simples dando errado
Build Para IOS
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
Movimentação no Espaço como Jet Pack
Como selecionar um único filho de um Gameobject?
Numero de itens iguais em uma lista
[RESOLVIDO]Alguém tem alguma dica sobre NavMeshAgent
Problemas com o Unity
[RESOLVIDO]Receber o nome do próprio objeto em uma string
Weslley GameDev
[DÚVIDA]Ajuda para como fazer esse script voltar a funcionar
[Duvida] Collab Excedeu o Seu Limite : Como posso transferir o projeto entre a equipe?
[DUVIDA] Sistema de diario/Livro de notas
[DÚVIDA](Multiplayer) Comando para non-Player object
é Possivel visualizar uma Variavel Estatica no Inspector ?
Physics2D para Physics?
Erro com lista
Como melhorar o desempenho mobile?
[DÚVIDA]Receber e setar texto em um objeto
[DÙVIDA]Problema ao criar build Android
[DÚVIDA]Como fazer um lerp de um determinado valor de maneira gradativa
[DÚVIDA]MULTIPLAYER Unet: Como sincronizar Variaveis(bool)
Novo jogo em desenvolvimento para android
Banco de Dados Cotação
[RESOLVIDO] O fórum é só para Unity?
[RESOLVIDO] Button perdendo a instancia
[RESOLVIDO]UNITY NAO REPRODUZ AUDIO, problema do pc ou da unity?
Atualização do meu jogo estilo Resident Evil 4 + link do APK
Reproduzir vídeos do youtube
Necessito de sua ajuda para uma ideia...
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
Duvida com script !
Criar LAN via bluetooth
[RESOLVIDO]Estou Usando FindGameObjectWithTag Porem....
[TUTORIAL] Mover/Empurrar Objetos, Caixote,etc
Script de Movimentação não funciona
[RESOLVIDO] SDK NÃO FUNCIONA NO WINDOWS 10
Novo jogo - Stackx
Simular tecla com um botao ou touch
Botoes da unity no android e destruir um objeto em qualquer lugar da cena com touch
Dúvida Netwoking
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Ajuda Com Admob
é Possivel Fazer uma FindTag usando um Text ao inves do GameObject ?
[RESOLVIDO] Animação com "Objetos"
Hoje à(s) 2:20 pm
Hoje à(s) 1:58 pm
Hoje à(s) 1:17 pm
Hoje à(s) 12:19 pm
Hoje à(s) 11:46 am
Hoje à(s) 11:45 am
Hoje à(s) 10:10 am
Hoje à(s) 10:00 am
Hoje à(s) 9:04 am
Hoje à(s) 8:52 am
Hoje à(s) 8:46 am
Hoje à(s) 7:59 am
Hoje à(s) 7:50 am
Hoje à(s) 12:23 am
Hoje à(s) 12:09 am
Ontem à(s) 10:35 pm
Ontem à(s) 9:22 pm
Ontem à(s) 8:07 pm
Ontem à(s) 7:55 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:31 pm
Ontem à(s) 6:22 pm
Ontem à(s) 5:44 pm
Ontem à(s) 4:07 pm
Ontem à(s) 2:03 pm
Ontem à(s) 1:13 pm
Ontem à(s) 12:31 pm
Ontem à(s) 10:06 am
Ontem à(s) 9:12 am
Sab Jan 20, 2018 11:57 pm
Sab Jan 20, 2018 10:12 pm
Sab Jan 20, 2018 9:54 pm
Sab Jan 20, 2018 9:36 pm
Sab Jan 20, 2018 9:23 pm
Sab Jan 20, 2018 9:02 pm
Sab Jan 20, 2018 8:46 pm
Sab Jan 20, 2018 8:30 pm
Sab Jan 20, 2018 8:26 pm
Sab Jan 20, 2018 8:23 pm
Sab Jan 20, 2018 8:20 pm
Sab Jan 20, 2018 8:11 pm
Sab Jan 20, 2018 8:10 pm
Sab Jan 20, 2018 8:05 pm
Sab Jan 20, 2018 7:29 pm
Sab Jan 20, 2018 7:08 pm
Sab Jan 20, 2018 4:21 pm
Sab Jan 20, 2018 11:38 am
Sab Jan 20, 2018 11:25 am
Sab Jan 20, 2018 2:05 am
Sab Jan 20, 2018 1:34 am
Sex Jan 19, 2018 9:06 pm
Sex Jan 19, 2018 8:00 pm
Sex Jan 19, 2018 3:10 pm
Sex Jan 19, 2018 1:05 pm
Sex Jan 19, 2018 11:52 am
Sex Jan 19, 2018 10:17 am
Sex Jan 19, 2018 10:13 am
Sex Jan 19, 2018 1:11 am
Qui Jan 18, 2018 9:46 pm
Qui Jan 18, 2018 8:10 pm
Qui Jan 18, 2018 8:00 pm
Qui Jan 18, 2018 7:42 pm
Qui Jan 18, 2018 7:13 pm
Qui Jan 18, 2018 7:09 pm
Qui Jan 18, 2018 5:09 pm
Qui Jan 18, 2018 4:53 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:10 pm
Qui Jan 18, 2018 4:05 pm
Qui Jan 18, 2018 4:03 pm
Qui Jan 18, 2018 3:46 pm
Qui Jan 18, 2018 3:04 pm
Qui Jan 18, 2018 1:28 pm
Qui Jan 18, 2018 1:09 pm
Qui Jan 18, 2018 12:36 pm
Qui Jan 18, 2018 12:23 pm
Qui Jan 18, 2018 11:25 am
Qui Jan 18, 2018 8:23 am
Qui Jan 18, 2018 8:11 am
Qui Jan 18, 2018 2:17 am
Qui Jan 18, 2018 2:14 am
Qua Jan 17, 2018 8:35 pm
Qua Jan 17, 2018 6:41 pm
Qua Jan 17, 2018 4:25 pm
Qua Jan 17, 2018 4:08 pm
Qua Jan 17, 2018 3:30 pm
Qua Jan 17, 2018 3:03 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 1:00 pm
Qua Jan 17, 2018 12:22 pm
Qua Jan 17, 2018 11:31 am
Qua Jan 17, 2018 10:40 am
Qua Jan 17, 2018 8:46 am
Ter Jan 16, 2018 11:17 pm
Ter Jan 16, 2018 11:04 pm
Ter Jan 16, 2018 10:45 pm
Ter Jan 16, 2018 9:31 pm
Ter Jan 16, 2018 8:50 pm
Ter Jan 16, 2018 8:16 pm
BRGC
felipehobs1
azool
Ghosthy
dstaroski
dstaroski
BRGC
BRGC
Phph09
M4theuz
M4theuz
TioUV
TioUV
mayke1040
916anderson
Álefe Kauvyhtz
recagonlei
recagonlei
recagonlei
recagonlei
Mosqueiro
Before Dawn
BRGC
Daniel Pires da Silva
Raphaels
Junim
recagonlei
victorgx22
dstaroski
mafersa
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
recagonlei
MarcosSchultz
MarcosSchultz
Água Sem Hidrogênio
luiz12345
felipehobs1
recagonlei
dazentt55
PatifeCraft
recagonlei
recagonlei
marco.flautista
Pixelizad
MRX
recagonlei
recagonlei
natanael.olimpio
dstaroski
MarcosSchultz
felipehobs1
recagonlei
recagonlei
dstaroski
recagonlei
DuViDoSo
MarcosSchultz
MarcosSchultz
Gwiisk
recagonlei
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MRX
YmKx
recagonlei
recagonlei
ÁguaMineral
Phph09
John Rambo
recagonlei
recagonlei
thiagotmi
natanael.olimpio
cody0033
cody0033
jasondavin
Água Sem Hidrogênio
recagonlei
dstaroski
Água Sem Hidrogênio
recagonlei
googolepton
Phph09
fabriciorsz34
recagonlei
recagonlei
Água Sem Hidrogênio
rafaelllsd
recagonlei

Entrar no carro com ThirdPerson [C#]

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA Entrar no carro com ThirdPerson [C#]

Mensagem por thiagotmi em Ter Dez 19, 2017 6:23 pm

Quero fazer um sistema para entrar no carro em C# com o meu player ThirdPerson(no caso eu tenho um asset chamado Invector TPC).
avatar
thiagotmi
Membro
Membro

Masculino PONTOS : 114
REPUTAÇÃO : 8
Idade : 18
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por recagonlei em Ter Dez 19, 2017 6:49 pm

Se tu quer é só começar então... Qual o problema? Dúvidas? Já começou a criar alguma coisa? Estamos aqui para ajudar a criar e tirar dúvidas, não para criarmos ou pesquisarmos a criação para ti! Abraços, sucesso velho!
avatar
recagonlei
Instrutor

Masculino PONTOS : 1045
REPUTAÇÃO : 157
Idade : 48
Áreas de atuação : ~Programação (C#, HTML, CSS3)
~Spriter
~Modelagem
~E acredita que também beatmaker? Maybe
Respeito as regras :

Ver perfil do usuário http://stwodio.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por thiagotmi em Ter Dez 19, 2017 9:14 pm

recagonlei escreveu:Se tu quer é só começar então... Qual o problema? Dúvidas? Já começou a criar alguma coisa? Estamos aqui para ajudar a criar e tirar dúvidas, não para criarmos ou pesquisarmos a criação para ti! Abraços, sucesso velho!
Opa eu esqueci de adicionar a duvida... É que eu tenho um asset de controle (se chama invector TPC) mas não consigo acoplar um script que o faça entrar no carro, ou um script sei lá que desative os scripts do Player e ative os scripts do Carro.
avatar
thiagotmi
Membro
Membro

Masculino PONTOS : 114
REPUTAÇÃO : 8
Idade : 18
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por recagonlei em Ter Dez 19, 2017 11:19 pm

Entendi velho... Puts, ai fica complicado cara, pois é um assets de terceiros! Tu deveria pedir suporte para os criadores, que eles entendem melhor do asset e conseguem te ajudar. Mas como tu não consegue desativar os scripts do player? Cacheie todos eles em um outro script e passe uma função para desativa-los... Qual seria o erro?
avatar
recagonlei
Instrutor

Masculino PONTOS : 1045
REPUTAÇÃO : 157
Idade : 48
Áreas de atuação : ~Programação (C#, HTML, CSS3)
~Spriter
~Modelagem
~E acredita que também beatmaker? Maybe
Respeito as regras :

Ver perfil do usuário http://stwodio.ga

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por Phph09 em Qua Dez 20, 2017 6:41 pm

Mande uma foto dos scripts do player e outra dos scripts do carro para podermos te ajudar;
avatar
Phph09
ProgramadorMaster

Masculino PONTOS : 909
REPUTAÇÃO : 119
Idade : 12
Áreas de atuação : Programação em C#(C-Sharp)
Unity
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por thiagotmi em Qui Dez 21, 2017 6:17 pm

Código:
using UnityEngine;
using System.Collections;

namespace Invector.CharacterController
{
    [vClassHeader("Third Person Controller")]
    public class vThirdPersonController : vThirdPersonAnimator
    {
        #region Variables

        public static vThirdPersonController instance;

        #endregion
     
        protected virtual void Awake()
        {
            StartCoroutine(UpdateRaycast()); // limit raycasts calls for better performance           
        }

        protected virtual void Start()
       {
          if (instance == null)
          {
             instance = this;
             DontDestroyOnLoad(this.gameObject);
             this.gameObject.name = gameObject.name + " Instance";
          }
          else
          {
             Destroy(this.gameObject);
             return;
          }             

            #if !UNITY_EDITOR
                Cursor.visible = false;
            #endif
        }               
     
        #region Locomotion Actions
       
        public virtual void Sprint(bool value)
        {
            if(value)
            {
                if (currentStamina > 0 && input.sqrMagnitude > 0.1f)
                {
                    if (isGrounded && !isCrouching)
                        isSprinting = !isSprinting;
                }
            }
            else if (currentStamina <= 0 || input.sqrMagnitude < 0.1f || actions || isStrafing && !strafeWalkByDefault && (direction >= 0.5 || direction <= -0.5 || speed <= 0))
            {               
                isSprinting = false;
            }               
        }

        public virtual void Crouch()
        {                                   
            if (isGrounded && !actions)
            {
                if (isCrouching && CanExitCrouch())
                    isCrouching = false;
                else
                    isCrouching = true;
            }               
        }

        public virtual void Strafe()
        {
            isStrafing = !isStrafing;
        }

        public virtual void Jump()
        {
            if (customAction) return;
                     
            // know if has enough stamina to make this action
           bool staminaConditions = currentStamina > jumpStamina;
            // conditions to do this action
            bool jumpConditions = !isCrouching && isGrounded && !actions && staminaConditions && !isJumping;
            // return if jumpCondigions is false
            if (!jumpConditions) return;          
           // trigger jump behaviour
           jumpCounter = jumpTimer;
           isJumping = true;
            // trigger jump animations
            if (input.sqrMagnitude < 0.1f)
               animator.CrossFadeInFixedTime("Jump", 0.1f);
            else
               animator.CrossFadeInFixedTime("JumpMove", .2f);          
           // reduce stamina
            ReduceStamina(jumpStamina, false);
            currentStaminaRecoveryDelay = 1f;
        }

        public virtual void Roll()
        {
            if (animator.IsInTransition(0)) return;

           bool staminaCondition = currentStamina > rollStamina;
            // can roll even if it's on a quickturn or quickstop animation
            bool actionsRoll = !actions || (actions && (quickStop));
            // general conditions to roll
            bool rollConditions = (input != Vector2.zero || speed > 0.25f) && actionsRoll && isGrounded && staminaCondition && !isJumping;

           if (!rollConditions || isRolling) return;
          
           animator.SetTrigger("ResetState");
            animator.CrossFadeInFixedTime("Roll", 0.1f);
            ReduceStamina(rollStamina, false);
            currentStaminaRecoveryDelay = 2f;
        }     

        /// <summary>
        /// Use another transform as  reference to rotate
        /// </summary>
        /// <param name="referenceTransform"></param>
        public virtual void RotateWithAnotherTransform(Transform referenceTransform)
        {
            var newRotation = new Vector3(transform.eulerAngles.x, referenceTransform.eulerAngles.y, transform.eulerAngles.z);
            transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(newRotation), strafeRotationSpeed * Time.fixedDeltaTime);
            targetRotation = transform.rotation;
        }

        #endregion

        #region Check Action Triggers
       
        /// <summary>
        /// Call this in OnTriggerEnter or OnTriggerStay to check if enter in triggerActions   
        /// </summary>
        /// <param name="other">collider trigger</param>                       
        public virtual void CheckTriggers(Collider other)
        {
            try
            {
                CheckForAutoCrouch(other);
            }
            catch (UnityException e)
            {
                Debug.LogWarning(e.Message);
            }
        }

        /// <summary>
        /// Call this in OnTriggerExit to check if exit of triggerActions
        /// </summary>
        /// <param name="other"></param>
        public virtual void CheckTriggerExit(Collider other)
        {           
            AutoCrouchExit(other);
        }

        #region Update Raycasts 

        protected IEnumerator UpdateRaycast()
        {
            while (true)
            {
                yield return new WaitForEndOfFrame();

                AutoCrouch();
                StopMove();
            }
        }   
     
        #endregion

        #region Crouch Methods

        protected virtual void AutoCrouch()
        {
            if (autoCrouch)
                isCrouching = true;

            if (autoCrouch && !inCrouchArea && CanExitCrouch())
            {
                autoCrouch = false;
                isCrouching = false;
            }
        }

        protected virtual bool CanExitCrouch()
        {
            // radius of SphereCast
            float radius = _capsuleCollider.radius * 0.9f;
            // Position of SphereCast origin stating in base of capsule
            Vector3 pos = transform.position + Vector3.up * ((colliderHeight * 0.5f) - colliderRadius);
            // ray for SphereCast
            Ray ray2 = new Ray(pos, Vector3.up);

            // sphere cast around the base of capsule for check ground distance
            if (Physics.SphereCast(ray2, radius, out groundHit, headDetect - (colliderRadius * 0.1f), autoCrouchLayer))
                return false;
            else
                return true;
        }

        protected virtual void AutoCrouchExit(Collider other)
        {
            if (other.CompareTag("AutoCrouch"))
            {
                inCrouchArea = false;
            }
        }

        protected virtual void CheckForAutoCrouch(Collider other)
        {
            if (other.gameObject.CompareTag("AutoCrouch"))
            {
                autoCrouch = true;
                inCrouchArea = true;
            }
        }

        #endregion

        #endregion
    }
}


Esse aqui é o controller do Player
avatar
thiagotmi
Membro
Membro

Masculino PONTOS : 114
REPUTAÇÃO : 8
Idade : 18
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por thiagotmi em Qui Dez 21, 2017 6:19 pm

Código:
//----------------------------------------------
//            Realistic Car Controller
//
// Copyright ©️ 2015 BoneCracker Games
// http://www.bonecrackergames.com
//
//----------------------------------------------

using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;

[AddComponentMenu("BoneCracker Games/Realistic Car Controller/AI/AI Controller")]
public class RCC_AICarController : MonoBehaviour {

   private RCC_CarControllerV3 carController;
   private Rigidbody rigid;
   
   // Waypoint Container.
   private RCC_AIWaypointsContainer waypointsContainer;
   public int currentWaypoint = 0;
   
   // Raycast distances.
   public LayerMask obstacleLayers = -1;
   public int wideRayLength = 20;
   public int tightRayLength = 20;
   public int sideRayLength = 3;
   private float rayInput = 0f;
   private bool  raycasting = false;
   private float resetTime = 0f;
   
   // Steer, motor, and brake inputs.
   private float steerInput = 0f;
   private float gasInput = 0f;
   private float brakeInput = 0f;

   public bool limitSpeed = false;
   public float maximumSpeed = 100f;

   public bool smoothedSteer = true;
   
   // Brake Zone.
   private float maximumSpeedInBrakeZone = 0f;
   private bool inBrakeZone = false;
   
   // Counts laps and how many waypoints passed.
   public int lap = 0;
   public int totalWaypointPassed = 0;
   public int nextWaypointPassRadius = 40;
   public bool ignoreWaypointNow = false;
   
   // Unity's Navigator.
   private UnityEngine.AI.NavMeshAgent navigator;
   private GameObject navigatorObject;

   void Awake() {

      carController = GetComponent<RCC_CarControllerV3>();
      rigid = GetComponent<Rigidbody>();
      carController.AIController = true;
//      carController.canEngineStall = false;
//      carController.autoReverse = true;
      waypointsContainer = FindObjectOfType(typeof(RCC_AIWaypointsContainer)) as RCC_AIWaypointsContainer;

      navigatorObject = new GameObject("Navigator");
      navigatorObject.transform.parent = transform;
      navigatorObject.transform.localPosition = Vector3.zero;
      navigatorObject.AddComponent<UnityEngine.AI.NavMeshAgent>();
      navigatorObject.GetComponent<UnityEngine.AI.NavMeshAgent>().radius = 1;
      navigatorObject.GetComponent<UnityEngine.AI.NavMeshAgent>().speed = 1f;
      navigatorObject.GetComponent<UnityEngine.AI.NavMeshAgent>().height = 1;
      navigatorObject.GetComponent<UnityEngine.AI.NavMeshAgent>().avoidancePriority = 99;
      navigator = navigatorObject.GetComponent<UnityEngine.AI.NavMeshAgent>();

   }
   
   void Update(){
      
      navigator.transform.localPosition = new Vector3(0, carController.FrontLeftWheelCollider.transform.localPosition.y, carController.FrontLeftWheelCollider.transform.localPosition.z);
      
   }
   
   void  FixedUpdate (){

      if(!carController.canControl)
         return;

      Navigation();
      FixedRaycasts();
      ApplyTorques();
      Resetting();

   }
   
   void Navigation (){
      
      if(!waypointsContainer){
         Debug.LogError("Waypoints Container Couldn't Found!");
         enabled = false;
         return;
      }
      if(waypointsContainer && waypointsContainer.waypoints.Count < 1){
         Debug.LogError("Waypoints Container Doesn't Have Any Waypoints!");
         enabled = false;
         return;
      }
      
      // Next waypoint's position.
      Vector3 nextWaypointPosition = transform.InverseTransformPoint( new Vector3(waypointsContainer.waypoints[currentWaypoint].position.x, transform.position.y, waypointsContainer.waypoints[currentWaypoint].position.z));
      float navigatorInput = Mathf.Clamp(transform.InverseTransformDirection(navigator.desiredVelocity).x * 1.5f, -1f, 1f);

      navigator.SetDestination(waypointsContainer.waypoints[currentWaypoint].position);

      //Steering Input.
      if(carController.direction == 1){
         if(!ignoreWaypointNow)
            steerInput = Mathf.Clamp((navigatorInput + rayInput), -1f, 1f);
         else
            steerInput = Mathf.Clamp(rayInput, -1f, 1f);
      }else{
         steerInput = Mathf.Clamp((-navigatorInput - rayInput), -1f, 1f);
      }
      
      if(!inBrakeZone){
         if(carController.speed >= 25){
            brakeInput = Mathf.Lerp(0f, .25f, (Mathf.Abs(steerInput)));
         }else{
            brakeInput = 0f;
         }
      }else{
         brakeInput = Mathf.Lerp(0f, 1f, (carController.speed - maximumSpeedInBrakeZone) / maximumSpeedInBrakeZone);
      }

      if(!inBrakeZone){
         
         if(carController.speed >= 10){
            if(!carController.changingGear)
               gasInput = Mathf.Clamp(1f - (Mathf.Abs(navigatorInput / 5f)  - Mathf.Abs(rayInput / 5f)), .5f, 1f);
            else
               gasInput = 0f;
         }else{
            if(!carController.changingGear)
               gasInput = 1f;
            else
               gasInput = 0f;
         }

      }else{
         
         if(!carController.changingGear)
            gasInput = Mathf.Lerp(1f, 0f, (carController.speed) / maximumSpeedInBrakeZone);
         else
            gasInput = 0f;

      }
      
      // Checks for the distance to next waypoint. If it is less than written value, then pass to next waypoint.
      if (nextWaypointPosition.magnitude < nextWaypointPassRadius){
         currentWaypoint ++;
         totalWaypointPassed ++;
         
         // If all waypoints are passed, sets the current waypoint to first waypoint and increase lap.
         if (currentWaypoint >= waypointsContainer.waypoints.Count){
            currentWaypoint = 0;
            lap ++;
         }
      }
      
   }
   
   void Resetting (){
      
      if(carController.speed <= 5 && transform.InverseTransformDirection(rigid.velocity).z < 1f)
         resetTime += Time.deltaTime;
      
      if(resetTime >= 4)
         carController.direction = -1;

      if(resetTime >= 6 || carController.speed >= 25){
         carController.direction = 1;
         resetTime = 0;
      }
      
   }
   
   void FixedRaycasts(){
      
      Vector3 forward = transform.TransformDirection ( new Vector3(0, 0, 1));
      Vector3 pivotPos = new Vector3(transform.localPosition.x, carController.FrontLeftWheelCollider.transform.position.y, transform.localPosition.z);
      RaycastHit hit;
      
      // New bools effected by fixed raycasts.
      bool  tightTurn = false;
      bool  wideTurn = false;
      bool  sideTurn = false;
      bool  tightTurn1 = false;
      bool  wideTurn1 = false;
      bool  sideTurn1 = false;
      
      // New input steers effected by fixed raycasts.
      float newinputSteer1 = 0f;
      float newinputSteer2 = 0f;
      float newinputSteer3 = 0f;
      float newinputSteer4 = 0f;
      float newinputSteer5 = 0f;
      float newinputSteer6 = 0f;
      
      // Drawing Rays.
      Debug.DrawRay (pivotPos, Quaternion.AngleAxis(25, transform.up) * forward * wideRayLength, Color.white);
      Debug.DrawRay (pivotPos, Quaternion.AngleAxis(-25, transform.up) * forward * wideRayLength, Color.white);
      
      Debug.DrawRay (pivotPos, Quaternion.AngleAxis(7, transform.up) * forward * tightRayLength, Color.white);
      Debug.DrawRay (pivotPos, Quaternion.AngleAxis(-7, transform.up) * forward * tightRayLength, Color.white);

      Debug.DrawRay (pivotPos, Quaternion.AngleAxis(90, transform.up) * forward * sideRayLength, Color.white);
      Debug.DrawRay (pivotPos, Quaternion.AngleAxis(-90, transform.up) * forward * sideRayLength, Color.white);
      
      // Wide Raycasts.
      if (Physics.Raycast (pivotPos, Quaternion.AngleAxis(25, transform.up) * forward, out hit, wideRayLength, obstacleLayers) && !hit.collider.isTrigger && hit.transform.root != transform) {
         Debug.DrawRay (pivotPos, Quaternion.AngleAxis(25, transform.up) * forward * wideRayLength, Color.red);
         newinputSteer1 = Mathf.Lerp (-.5f, 0f, (hit.distance / wideRayLength));
         wideTurn = true;
      }
      
      else{
         newinputSteer1 = 0f;
         wideTurn = false;
      }
      
      if (Physics.Raycast (pivotPos, Quaternion.AngleAxis(-25, transform.up) * forward, out hit, wideRayLength, obstacleLayers) && !hit.collider.isTrigger && hit.transform.root != transform) {
         Debug.DrawRay (pivotPos, Quaternion.AngleAxis(-25, transform.up) * forward * wideRayLength, Color.red);
         newinputSteer4 = Mathf.Lerp (.5f, 0f, (hit.distance / wideRayLength));
         wideTurn1 = true;
      }else{
         newinputSteer4 = 0f;
         wideTurn1 = false;
      }
      
      // Tight Raycasts.
      if (Physics.Raycast (pivotPos, Quaternion.AngleAxis(7, transform.up) * forward, out hit, tightRayLength, obstacleLayers) && !hit.collider.isTrigger && hit.transform.root != transform) {
         Debug.DrawRay (pivotPos, Quaternion.AngleAxis(7, transform.up) * forward * tightRayLength , Color.red);
         newinputSteer3 = Mathf.Lerp (-1f, 0f, (hit.distance / tightRayLength));
         tightTurn = true;
      }else{
         newinputSteer3 = 0f;
         tightTurn = false;
      }
      
      if (Physics.Raycast (pivotPos, Quaternion.AngleAxis(-7, transform.up) * forward, out hit, tightRayLength, obstacleLayers) && !hit.collider.isTrigger && hit.transform.root != transform) {
         Debug.DrawRay (pivotPos, Quaternion.AngleAxis(-7, transform.up) * forward * tightRayLength, Color.red);
         newinputSteer2 = Mathf.Lerp (1f, 0f, (hit.distance / tightRayLength));
         tightTurn1 = true;
      }else{
         newinputSteer2 = 0f;
         tightTurn1 = false;
      }

      // Side Raycasts.
      if (Physics.Raycast (pivotPos, Quaternion.AngleAxis(90, transform.up) * forward, out hit, sideRayLength, obstacleLayers) && !hit.collider.isTrigger && hit.transform.root != transform) {
         Debug.DrawRay (pivotPos, Quaternion.AngleAxis(90, transform.up) * forward * sideRayLength , Color.red);
         newinputSteer5 = Mathf.Lerp (-1f, 0f, (hit.distance / sideRayLength));
         sideTurn = true;
      }else{
         newinputSteer5 = 0f;
         sideTurn = false;
      }
      
      if (Physics.Raycast (pivotPos, Quaternion.AngleAxis(-90, transform.up) * forward, out hit, sideRayLength, obstacleLayers) && !hit.collider.isTrigger && hit.transform.root != transform) {
         Debug.DrawRay (pivotPos, Quaternion.AngleAxis(-90, transform.up) * forward * sideRayLength, Color.red);
         newinputSteer6 = Mathf.Lerp (1f, 0f, (hit.distance / sideRayLength));
         sideTurn1 = true;
      }else{
         newinputSteer6 = 0f;
         sideTurn1 = false;
      }
      
      if(wideTurn || wideTurn1 || tightTurn || tightTurn1 || sideTurn || sideTurn1)
         raycasting = true;
      else
         raycasting = false;
      
      if(raycasting)
         rayInput = (newinputSteer1 + newinputSteer2 + newinputSteer3 + newinputSteer4 + newinputSteer5 + newinputSteer6);
      else
         rayInput = 0f;
      
      if(raycasting && Mathf.Abs(rayInput) > .5f)
         ignoreWaypointNow = true;
      else
         ignoreWaypointNow = false;
      
   }

   void ApplyTorques(){

      if(carController.direction == 1){
         if(!limitSpeed){
            carController.gasInput = gasInput;
         }else{
            carController.gasInput = gasInput * Mathf.Clamp01(Mathf.Lerp(10f, 0f, (carController.speed) / maximumSpeed));
         }
      }else{
         carController.gasInput = 0f;
      }

      if(smoothedSteer)
         carController.steerInput = Mathf.Lerp(carController.steerInput, steerInput, Time.deltaTime * 20f);
      else
         carController.steerInput = steerInput;

      if(carController.direction == 1)
         carController.brakeInput = brakeInput;
      else
         carController.brakeInput = gasInput;

   }
   
   void OnTriggerEnter (Collider col){
      
      if(col.gameObject.GetComponent<RCC_AIBrakeZone>()){
         inBrakeZone = true;
         maximumSpeedInBrakeZone = col.gameObject.GetComponent<RCC_AIBrakeZone>().targetSpeed;
      }
      
   }
   
   void OnTriggerExit (Collider col){
      
      if(col.gameObject.GetComponent<RCC_AIBrakeZone>()){
         inBrakeZone = false;
         maximumSpeedInBrakeZone = 0;
      }
      
   }
   
}

E esse é do Carro
avatar
thiagotmi
Membro
Membro

Masculino PONTOS : 114
REPUTAÇÃO : 8
Idade : 18
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por Madness em Qui Dez 21, 2017 11:14 pm

Esses sistemas possuem suporte através dos desenvolvedores, e tenho certeza que se pedir eles vão ajudar você Very Happy aqui é o lugar errado para pedir isso!
avatar
Madness
Designer

Masculino PONTOS : 1028
REPUTAÇÃO : 186
Áreas de atuação : Designer
Iniciante C++
Quase um programador C#



Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Entrar no carro com ThirdPerson [C#]

Mensagem por thiagotmi em Sex Dez 22, 2017 3:48 am

Madness escreveu:Esses sistemas possuem suporte através dos desenvolvedores, e tenho certeza que se pedir eles vão ajudar você Very Happy aqui é o lugar errado para pedir isso!


Ok! Obrigado!
avatar
thiagotmi
Membro
Membro

Masculino PONTOS : 114
REPUTAÇÃO : 8
Idade : 18
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum