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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Como GTA o primeiro da saga foi pensado inicialmente......
Como mover persongaem (terceira pessoa) ignorando para onde a câmera aponta
Animação do jogador
[RESOLVIDO] Lista e ativar e desativar funções do script
[RESOLVIDO] Probleminha com ScriptableObject e Dictonary
movimentação de inimigo junto ao cenário
[RESOLVIDO] Unity - Vídeos não são rodados. Faço vídeos ou as Animações?
[RESOLVIDO] Ativação de objetos de acordo com a direção do inimigo
Problema ao tornar personagem filho de outro objeto
Colissão e destruição
[RESOLVIDO] Inventário para iniciantes
Unity3D - Problema de sincronização de armas em jogo multiplayer
War Core FPS - Recrutamento
[RESOLVIDO] Bool que decide se o inimigo tirar voce do jogo ou não
Unity - Giro da câmera ao redor do tabulerio
[RESOLVIDO] Problema no check-in do Plastic SCM
Lançamento Oficial War Core Fps
Qual versão da Unity é mais rápida?
Respawnar O Inimigo em Pontos Aleatórios
DÚVIDA COM OBJETOS TRANSPARENTES, COMO QUE A GPU TRABALHA COM ESSE MODELO?
Divulgação do meu jogo e Canal
Ajuda com logica entre namespace e classes
Dúvida sobre os botões UI,comando de troca de texto por Quest não funciona.
Particle System e Animation Criados no Blender não funciona na Unity
Objeto UI interagir com GameObject
[TUTORIAL] Como criar o MENU INICIAL
JOGO DE RPG COM PET E MUITO MAIS
Animar parte do corpo do personagem dentro do Armature na Unity?
Divulgação do meu primeiro jogo
[____ENQUETE____] Eleições para presidente 2022 (2º turno)
Pegar Objeto
SLOW MOTION EFFECT
Objeto que abre arquivos ao encostar
Fazer objeto sumir após perda de contato com a imagem.
Impedir ação do jogador(a) num local específico
Posição das bordas de um plane referentes as bordas de outro
Sistema de Yu-Gi-Oh! - ATT [2020]
Plataforma Móvel 3D
Interrogação, jogo de puzzle 3D
JOGO ANDROID OPINIAO DE VOCES?
ajuda dados Json não carrega no celular
Imagem VR Quest 2 Screenshot - Salvar a imagem no VR
Converter um script de otimização 3D para 2D
PRoblema com IsGrounded
Música contínua mais transições.
Pedestre se movimentado muito rápido.
sistema de atropelamento
Ajuda com Prefab Urgente!!
Espada ficando TORTA
comparar string e int
UNITY - BRCA AFUNDANDO NA AGUA
Unity - Os ícones da Tela ficam fora do lugar nos simuladores
[____ENQUETE____] Eleições para presidente 2022
Unity - Scene Pesada são os Scripts. Ajuda!
Camera fps (unity) alguem me ajuda pls
Jogador não esta sendo validado em rede multijogador
Unity - Áudios deixam a Scene pesada pra abrir
Alguém ai sabe como fazer a build de um app para android com mais de 150mb?
sensibilidade do mouse
Animação completa em personagem rotacionável pelo mouse
Alguém pode me ajudar
Como fazer com que as partículas sejam puxadas para um ponto específico?
Adicionar png
Lançamento de mais um jogo Dangerous crossing
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Ativar um objeto quando desativar outro e vice-versa (Unity)
[GRATIS] PACK DE MODELOS 3D PARA JOGO DE TERROR
Upbge gameplay travada
Como ARRUMAR ISSO!
Quem tem JOGO publicado na steam e que fazer parceria para publicação!
RECRUTAMENTO PARA JOGO DE FPS MULTIPLAYER
Unity configurar para compilar para linux
Tamanho da câmera
[RESOLVIDO] ativar isKinematic por 3 segundos e depois desativar
Vídeo sobre problemas comuns em jogos e suas possíveis soluções
[Lançamento] YODA RUNNER DISPONÍVEL PARA ANDROID
[Em Desenvolvimento] App Razor Downloader
Ativar animação de porta abrindo sozinha com trigger n funciona!
Veiculo não esta causando dano ao jogador, após ser destruído.
Preciso de ajuda para importar personagem estilo Minecraft no mixamo
Como fazer um sistema simulando desmembramento dos NPCs em combate?
Progresso jogo clicker
Multiplayer com Network ou Photon?
Baixos de Quebrada, novo jogo para android confiram!
img aparecer so a primeira vez que entra no game
[ASSET] Sistema completo de Auto Save para Editor
Problema com sincronização jogo multiplayer - Photon
Problema no Parallax
Enviar valor de variável para outro script ao apertar um botão.
Melhorar script de som de impacto
Ajuda erro em bool IsGrounded()
PRECISO DE UM PROGRAMADOR PARA AJUDAR NO PROJETO DE FPS (IREI PAGAR)
Serializar Dictionary no Scriptable Object
Quem aqui tem jogos publicados no Steam?
[TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
Intancias
Adicionar backface culling em um shader
Alguem me ajuda com script simples?
NullReferenceException Object reference not set to an instance of an object
Ontem à(s) 7:42 pm
Ontem à(s) 7:27 pm
Ontem à(s) 3:09 pm
Ter Nov 29, 2022 11:52 pm
Ter Nov 29, 2022 4:15 pm
Seg Nov 28, 2022 9:13 am
Sex Nov 25, 2022 11:59 am
Qui Nov 24, 2022 11:07 pm
Qui Nov 24, 2022 11:05 pm
Qui Nov 24, 2022 10:33 pm
Qua Nov 23, 2022 10:51 am
Sab Nov 19, 2022 11:10 pm
Qua Nov 16, 2022 8:08 pm
Qua Nov 16, 2022 5:23 pm
Qua Nov 16, 2022 5:20 pm
Ter Nov 15, 2022 10:28 am
Seg Nov 14, 2022 3:15 pm
Seg Nov 14, 2022 2:19 pm
Dom Nov 13, 2022 3:34 pm
Sab Nov 12, 2022 6:17 pm
Qua Nov 09, 2022 7:05 pm
Dom Nov 06, 2022 10:16 am
Sab Nov 05, 2022 6:37 pm
Qui Nov 03, 2022 10:04 pm
Qui Nov 03, 2022 9:42 am
Qua Nov 02, 2022 10:28 pm
Qua Nov 02, 2022 12:09 pm
Ter Nov 01, 2022 6:27 pm
Seg Out 31, 2022 10:58 am
Dom Out 30, 2022 7:42 pm
Dom Out 30, 2022 11:46 am
Sab Out 29, 2022 1:47 pm
Qui Out 27, 2022 6:07 pm
Qua Out 26, 2022 7:28 pm
Ter Out 25, 2022 4:33 pm
Qui Out 20, 2022 6:57 pm
Qui Out 20, 2022 11:51 am
Qua Out 19, 2022 7:34 pm
Qua Out 19, 2022 7:06 pm
Qua Out 19, 2022 3:38 pm
Qua Out 19, 2022 3:35 pm
Qua Out 19, 2022 12:24 am
Ter Out 18, 2022 11:13 am
Seg Out 17, 2022 5:16 pm
Seg Out 17, 2022 2:06 pm
Seg Out 17, 2022 1:57 pm
Sab Out 15, 2022 5:29 pm
Sex Out 14, 2022 12:06 pm
Qui Out 13, 2022 9:20 pm
Seg Out 10, 2022 8:22 pm
Sex Out 07, 2022 11:04 pm
Sex Out 07, 2022 9:32 pm
Qui Out 06, 2022 4:34 pm
Qua Out 05, 2022 8:55 pm
Dom Out 02, 2022 8:24 pm
Sab Out 01, 2022 7:05 pm
Sex Set 30, 2022 10:58 pm
Qui Set 29, 2022 10:35 am
Seg Set 26, 2022 6:42 pm
Seg Set 26, 2022 4:55 pm
Dom Set 25, 2022 2:31 pm
Sab Set 24, 2022 8:58 am
Sab Set 24, 2022 8:31 am
Qui Set 22, 2022 9:58 pm
Qua Set 21, 2022 4:34 pm
Qua Set 21, 2022 11:47 am
Qua Set 21, 2022 11:21 am
Qua Set 21, 2022 11:17 am
Seg Set 19, 2022 2:25 pm
Dom Set 18, 2022 6:59 am
Sab Set 17, 2022 1:01 pm
Sab Set 17, 2022 10:35 am
Qua Set 14, 2022 5:44 pm
Ter Set 13, 2022 6:39 pm
Ter Set 13, 2022 9:11 am
Ter Set 13, 2022 9:00 am
Seg Set 12, 2022 11:26 pm
Seg Set 12, 2022 4:40 pm
Dom Set 11, 2022 10:49 pm
Dom Set 11, 2022 5:21 pm
Sex Set 09, 2022 8:10 pm
Qui Set 08, 2022 9:13 pm
Qua Set 07, 2022 10:34 pm
Qua Set 07, 2022 10:09 pm
Ter Set 06, 2022 6:30 pm
Ter Set 06, 2022 11:01 am
Seg Set 05, 2022 7:33 pm
Sex Set 02, 2022 5:50 pm
Sex Set 02, 2022 10:28 am
Qui Set 01, 2022 1:27 pm
Qua Ago 31, 2022 12:49 am
Ter Ago 30, 2022 11:44 am
Seg Ago 29, 2022 2:03 pm
Dom Ago 28, 2022 6:31 pm
Qui Ago 25, 2022 4:58 pm
Sab Ago 20, 2022 3:27 pm
Sex Ago 19, 2022 5:50 pm
Sex Ago 19, 2022 10:03 am
Sex Ago 19, 2022 2:35 am
Rangel Oblivion
Rangel Oblivion
AGAMENOM
AGAMENOM
dutrabr100
MarcosSchultz
WLCS22
AGAMENOM
MarcosSchultz
MarcosSchultz
erickfabio366
ProBrStalker
Sheyk
AGAMENOM
WLCS22
gabrimo
Sheyk
WLCS22
leetmz
Crash Psycho
Crash Psycho
stratengine
Fluttershy28
WLCS22
Fluttershy28
Snorre
IgorFporto
WLCS22
Fluttershy28
stratengine
stratengine
stratengine
AGAMENOM
joaovictori00
Rangel Oblivion
gabrimo
Insurgente
Rangel Oblivion
Rangel Oblivion
claudiano2020
claudiano2020
c4stor
rafaelllsd
Fluttershy28
Fluttershy28
HaresHent
dutrabr100
claudiano2020
dutrabr100
claudiano2020
Magic D
WLCS22
MarcosSchultz
WLCS22
dutrabr100
ProBrStalker
WLCS22
Fluttershy28
CelU93
Leonardo2700
Weslley
dutrabr100
dutrabr100
Patrick
MarcosSchultz
Weslley
Weslley
Weslley
lovuxd
thales.ulisses
Sheyk
NoctisDregon
dutrabr100
ApcRaffs
Rangel Oblivion
Rangel Oblivion
rafaelllsd
lovuxd
Weslley
Crash Psycho
CelU93
Weslley
Édipo
Édipo
Andrewkeny
Rangel Oblivion
Caio Cesar Miguel
Hohenheim
dutrabr100
Rangel Oblivion
RenanHero
Édipo
Weslley
thales.ulisses
Rangel Oblivion
JoaoVitwoh
SteveRogers
Rangel Oblivion
Sheyk

[Script] Abrir porta de correr... Erro ao abri.

5 participantes

Ir para baixo

DÚVIDA [Script] Abrir porta de correr... Erro ao abri.

Mensagem por NoctisDregon Dom Ago 29, 2021 4:29 pm

Primeira mente, é meu primeiro Script, eu me baseei (Porta Automática, para mover a porta lateralmente e na Interruptor para saber como eu faria para checar a posição do player em relação a porta e abrir ela).
Meu problema é que a porta não abre corretamente, para abri ela eu uso o eixo Y, mas quando executo a ação ela move a porta para cima e não para o lado, o mesmo vale se local o pivo como global e mexer no eixo Z, vai fazer a mesma coisa. Ela só funciona se eu mexer no eixo X, mas não nele que preciso mexer.

Alguém ai sabe onde errei, não endento (praticamente nada) de programação, eu fiz me baseando nos dois scripts acima e no sistema de porta completo também (tive alguns duvidas e vendo como o script da porta estava achei onde tinha errado).
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Porta2 : MonoBehaviour
{
    public Transform jogador;
    public GameObject porta1, posAberto1;
    [Space(15)]
    public KeyCode abrir = KeyCode.E;
    public float distanciaMinima = 2;
    public float velocidade = 2;
    public float distancia;

    public bool aberto = false;

    Vector3 posicInicP1;
    
    void Start()
    {
        posicInicP1 = porta1.transform.localPosition;
    }

    void Update()
    {
        if (jogador)
            {
                distancia = Vector3.Distance(transform.position, jogador.transform.position);
                if (distancia < distanciaMinima)
                {
                    if (Input.GetKeyDown(abrir))
                {
                    if (aberto == false)
                    {
                        porta1.transform.localPosition = Vector3.Lerp(porta1.transform.localPosition, posAberto1.transform.localPosition, velocidade * Time.deltaTime);

                        aberto = true;
                    }

                    else
                    {
                        porta1.transform.localPosition = Vector3.Lerp(porta1.transform.localPosition, posicInicP1, velocidade * Time.deltaTime);

                        aberto = false;
                    }
                }
                }
            }
        }
  
}

Se alguém souber onde errei e puder falar agradeço, ou souber de uma maneira mais facil de fazer ia ajudar, desde já agradeço pela atenção.
NoctisDregon
NoctisDregon
Iniciante
Iniciante

PONTOS : 1177
REPUTAÇÃO : 3
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por Charlesoff Dom Ago 29, 2021 5:24 pm

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

public class porta : MonoBehaviour
{
    public Transform jogador;
    public GameObject porta1;
    [Space(15)]
    public KeyCode abrir = KeyCode.E;
    public float distanciaMinima = 2;
    public float velocidade = 2;
    public float distancia;
    [Space(30)]
    public float eixoX = 3;
    public float eixoZ;

    public bool aberto = false;

    Vector3 posicInicP1;
    public Vector3 portaV;
    private Vector3 portaPInt;

    void Start()
    {
        portaPInt = gameObject.transform.position;
        portaV = gameObject.transform.position;
        posicInicP1 = porta1.transform.localPosition;
    }

    void Update()
    {
        porta1.transform.localPosition = Vector3.Lerp(porta1.transform.localPosition, portaV, velocidade * Time.deltaTime);
        if (jogador)
        {
            distancia = Vector3.Distance(transform.position, jogador.transform.position);
            if (distancia < distanciaMinima)
            {
                if (Input.GetKeyDown(abrir))
                {
                    if (aberto == false)
                    {
                        portaV.x += eixoX;
                        portaV.z += eixoZ;
                        aberto = true;
                    }

                    else
                    {
                        portaV.x = portaPInt.x;
                        portaV.z = portaPInt.z;

                        aberto = false;
                    }
                }
            }
        }
    }
}

Tenta isso aí, você pode escolher quando ele se mexe nos eixos.
Charlesoff
Charlesoff
MembroAvançado

Masculino PONTOS : 1059
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por Charlesoff Dom Ago 29, 2021 5:29 pm

Charlesoff
Charlesoff
MembroAvançado

Masculino PONTOS : 1059
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por classicandsimple Dom Ago 29, 2021 6:12 pm

Está um tanto confuso, porém, vamos lá.
O eixo Y é encarregado pela altura (seja essa positiva ou negativa), no caso, usar o eixo Y é pedir para um objeto ir, ou para cima, ou para baixo, isso quando não estamos com um objeto rotacionado, se supomos que eu rotacionei meu objeto em 90° isso significa que meu objeto deverá, agora, ir, ou para esquerda, ou para a direita (Aviso: ainda assim, esse pensamento não funciona como que está escrito aqui, pois a a classe Transform da Unity pode (e o faz) separar ambos como fatores independentes (altura e rotação), assim se eu rotacionar meu objeto não significaria que usar o eixo Y faria o objeto ir para os lados).

Bom, alegando isso, se tu estas usando o eixo Y, o correto é seu objeto ir mesmo para cima (ou para baixo), exceto se está aplicando algo de forma anormal (ou está fazendo algum arranjo com as posições e rotações).

Por que tu não queres usar o eixo X?!

Eu desconheço qual tutorial usou, não sei se foi o do Marcos Schultz (TUTORIAL Unity 5 - Porta automática), porém perceba que no tutorial dele ele pôe posições específicas (para ter um abertura lateral da porta) em que o único valor alterado é o do eixo x na variável position do objeto.

Fui mais lento que o Charlesoff, porém, segue a resposta. Exemplo incrível, Charlesoff.
classicandsimple
classicandsimple
ProgramadorMaster

Outro / Não divulgar PONTOS : 545
REPUTAÇÃO : 26
Áreas de atuação : Desenvolvimento de software (iniciante com linguagem C).
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. Aad8pUi

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por Charlesoff Dom Ago 29, 2021 6:31 pm

classicandsimple escreveu:Está um tanto confuso, porém, vamos lá.
O eixo Y é encarregado pela altura (seja essa positiva ou negativa), no caso, usar o eixo Y é pedir para um objeto ir, ou para cima, ou para baixo, isso quando não estamos com um objeto rotacionado, se supomos que eu rotacionei meu objeto em 90° isso significa que meu objeto deverá, agora, ir, ou para esquerda, ou para a direita (Aviso: ainda assim, esse pensamento não funciona como que está escrito aqui, pois a a classe Transform da Unity pode (e o faz) separar ambos como fatores independentes (altura e rotação), assim se eu rotacionar meu objeto não significaria que usar o eixo Y faria o objeto ir para os lados).

Bom, alegando isso, se tu estas usando o eixo Y, o correto é seu objeto ir mesmo para cima (ou para baixo), exceto se está aplicando algo de forma anormal (ou está fazendo algum arranjo com as posições e rotações).

Por que tu não queres usar o eixo X?!

Eu desconheço qual tutorial usou, não sei se foi o do Marcos Schultz (TUTORIAL Unity 5 - Porta automática), porém perceba que no tutorial dele ele pôe posições específicas (para ter um abertura lateral da porta) em que o único valor alterado é o do eixo x na variável position do objeto.

Fui mais lento que o Charlesoff, porém, segue a resposta. Exemplo incrível, Charlesoff.


Excelente explicação  @classicandsimple 

Aliás,  @NoctisDregon, você consegue fazer uma boa limpeza nesse script. Eu só fiz por cima do seu [Script] Abrir porta de correr... Erro ao abri. 1f605
Charlesoff
Charlesoff
MembroAvançado

Masculino PONTOS : 1059
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por NoctisDregon Seg Ago 30, 2021 12:39 pm

Obrigado 



o script deu certo, mas achei melhor mudar ele, em fez de fechar a posição do player, pro meu projeto ficou melhor usar um trigger para isso. Ele ficou assim agora: 
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PortaCorrer : MonoBehaviour
{
    public GameObject porta1;
    [Space(15)]
    public KeyCode botao = KeyCode.E;
    public float velocidade = 2;
    [Space(30)]
    public float eixoX = 3;
    public float eixoZ;

    public bool fechar = false;
    private bool abrir = true;

    Vector3 posicInicP1;
    public Vector3 portaV;
    private Vector3 portaPInt;
      
    void Start()
    {
        portaPInt = gameObject.transform.position;
        portaV = gameObject.transform.position;
        posicInicP1 = porta1.transform.localPosition;
    }

    void Update()
    {
        porta1.transform.localPosition = Vector3.Lerp(porta1.transform.localPosition, portaV, velocidade * Time.deltaTime);

        if (Input.GetKeyDown(botao))
        {
            if (abrir == true)
            {

                if (fechar == false)
                {
                    portaV.x += eixoX;
                    portaV.z += eixoZ;

                    fechar = true;
                }

                else
                {
                    portaV.x = portaPInt.x;
                    portaV.x = portaPInt.x;
                    portaV.z = portaPInt.z;

                    fechar = false;
                }
            }
        }
    }

    void OnTriggerEnter()
    {
        abrir = true;
    }

    void OnTriggerExit()
    {
        abrir = false;
    }
}

Não só isso, mas tá fácil de mexer se for preciso mais para frente (algo que talvez ache que seria melhor se player sair do trigger a porta fechar, mas por enquanto não fazer eu mesmo ter que fechar ela é melhor.

Eu to rindo aqui, porque to usando a Unity depois de alguns anos usando a UE, então fazer esse tipo coisa nela pra mim é bem dificil, já que UE era bem mais facil (tanto na UE3 e UE4).

Obrigado pela ajuda pessoal, se chegar a mudar o script para fechar quando saio do trigger eu atualizo. Sinta-se livre para usar se achar util.
NoctisDregon
NoctisDregon
Iniciante
Iniciante

PONTOS : 1177
REPUTAÇÃO : 3
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por BubuDev Sex Set 03, 2021 3:03 am

Boa noite!

Inclui o eixoY no codigo, assim podendo usar com porta de loja!


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

public class PortaDeCorrer : MonoBehaviour
{
    public Transform jogador;
    public GameObject porta1;
    [Space(15)]
    public KeyCode abrir = KeyCode.F;
    public float distanciaMinima = 2;
    public float velocidade = 2;
    public float distancia;
    [Space(30)]
    public float eixoX = 3;
    public float eixoZ;
    public float eixoY;

    public bool aberto = false;

    Vector3 posicInicP1;
    public Vector3 portaV;
    private Vector3 portaPInt;

    void Start()
    {
        portaPInt = gameObject.transform.position;
        portaV = gameObject.transform.position;
        posicInicP1 = porta1.transform.localPosition;
    }

    void Update()
    {
        porta1.transform.localPosition = Vector3.Lerp(porta1.transform.localPosition, portaV, velocidade * Time.deltaTime);
        if (jogador)
        {
            distancia = Vector3.Distance(transform.position, jogador.transform.position);
            if (distancia < distanciaMinima)
            {
                if (Input.GetKeyDown(abrir))
                {
                    if (aberto == false)
                    {
                        portaV.x += eixoX;
                        portaV.z += eixoZ;
                        portaV.y += eixoY;
                        aberto = true;
                    }

                    else
                    {
                        portaV.x = portaPInt.x;
                        portaV.z = portaPInt.z;
                        portaV.y = portaPInt.y;

                        aberto = false;
                    }
                }
            }
        }
    }
}

BubuDev
Iniciante
Iniciante

PONTOS : 585
REPUTAÇÃO : 1
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por BubuDev Sex Set 03, 2021 3:06 am

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

public class PortaDeCorrer : MonoBehaviour
{
    public Transform jogador;
    public GameObject porta1;
    [Space(15)]
    public KeyCode abrir = KeyCode.F;
    public float distanciaMinima = 2;
    public float velocidade = 2;
    public float distancia;
    [Space(30)]
    public float eixoX = 3;
    public float eixoZ;
    public float eixoY;

    public bool aberto = false;

    Vector3 posicInicP1;
    public Vector3 portaV;
    private Vector3 portaPInt;

    void Start()
    {
        portaPInt = gameObject.transform.position;
        portaV = gameObject.transform.position;
        posicInicP1 = porta1.transform.localPosition;
    }

    void Update()
    {
        porta1.transform.localPosition = Vector3.Lerp(porta1.transform.localPosition, portaV, velocidade * Time.deltaTime);
        if (jogador)
        {
            distancia = Vector3.Distance(transform.position, jogador.transform.position);
            if (distancia < distanciaMinima)
            {
                if (Input.GetKeyDown(abrir))
                {
                    if (aberto == false)
                    {
                        portaV.x += eixoX;
                        portaV.z += eixoZ;
                        portaV.y += eixoY;
                        aberto = true;
                    }

                    else
                    {
                        portaV.x = portaPInt.x;
                        portaV.z = portaPInt.z;
                        portaV.y = portaPInt.y;

                        aberto = false;
                    }
                }
            }
        }
    }
}

formatado:

BubuDev
Iniciante
Iniciante

PONTOS : 585
REPUTAÇÃO : 1
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por WLO GAMES Sab Set 11, 2021 10:53 am

sem maldado mais uma dica de ouro, constrói um protótipo para melhor testar o sistema uma porta no vazio complica para ver o que está dando errado.

WLO GAMES
Iniciante
Iniciante

PONTOS : 451
REPUTAÇÃO : 0
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: [Script] Abrir porta de correr... Erro ao abri.

Mensagem por WLO GAMES Sab Set 11, 2021 10:55 am

coloca por animação melhora e muito a sua vida

WLO GAMES
Iniciante
Iniciante

PONTOS : 451
REPUTAÇÃO : 0
Respeito as regras : [Script] Abrir porta de correr... Erro ao abri. WvDYdlf

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos