Mudar Scene quando o player colidir com um trigger
+6
Phph09
Bruno
ruanzikaad
DuViDoSo
NKKF
thiagotmi
10 participantes
Página 1 de 1
Mudar Scene quando o player colidir com um trigger
Galera, estou com um problema. Fiz um script para mudar de cenário quando o player colidir com um trigger, mas o mesmo não está fazendo efeito pois o cenário não muda, alguém pode me ajudar?
script
script
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OntriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Você marcou o isTrigger no Collider? Colocou a cena no Build?thiagotmi escreveu:Galera, estou com um problema. Fiz um script para mudar de cenário quando o player colidir com um trigger, mas o mesmo não está fazendo efeito pois o cenário não muda, alguém pode me ajudar?
script
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OntriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Souris escreveu:Você marcou o isTrigger no Collider? Colocou a cena no Build?thiagotmi escreveu:Galera, estou com um problema. Fiz um script para mudar de cenário quando o player colidir com um trigger, mas o mesmo não está fazendo efeito pois o cenário não muda, alguém pode me ajudar?
script
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OntriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
Sim sim! mesmo assim não funciona...
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Application.LoadLevel é obsoleto, o certo é SceneManager.LoadScene ("Level1");
Substitua o Level1 pelo nome de sua cena. E não se esqueça de abrir o menu de Build e jogar sua cena lá. só assim irá funcionar.
Substitua o Level1 pelo nome de sua cena. E não se esqueça de abrir o menu de Build e jogar sua cena lá. só assim irá funcionar.
Última edição por DuViDoSo em Qui Fev 01, 2018 11:29 pm, editado 2 vez(es)
Re: Mudar Scene quando o player colidir com um trigger
DuViDoSo escreveu:Application.LoadLevel é obsoleto, o certo é SceneManager.LoadScene ("Level1");
eu tinha usado este aqui SceneManager.LoadScene(LoadLevel); isto implica em alguma coisa?
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
DuViDoSo escreveu:Jogou sua cena na Build?
Sim já está lá!
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Então tenta colocar o nome da cena entre aspas assim: SceneManager.LoadScene ("FaseInicial"); e veja se funciona..
Re: Mudar Scene quando o player colidir com um trigger
Não funcionou '-'DuViDoSo escreveu:Então tenta colocar o nome da cena entre aspas assim: SceneManager.LoadScene ("FaseInicial"); e veja se funciona..
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Estranho.. tente fazer um Debug, ver se a variável Fase Inical não é nula.thiagotmi escreveu:Não funcionou '-'DuViDoSo escreveu:Então tenta colocar o nome da cena entre aspas assim: SceneManager.LoadScene ("FaseInicial"); e veja se funciona..
Também vê se a Tag do player é colocada.
Recomendo que você use: if(other.name == "Player")
SceneManager.LoadScene(LoadLevel);
Ps.: Vê se também você não está na cena que você deseja.
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
void OnTriggerEnter (){
SceneManager.LoadScene("nomedacena");
}
é só jogar isso em cima do seu trigger.
Verifique se as duas cenas estão na build. Só ir em file > build settings > add open scenes
SceneManager.LoadScene("nomedacena");
}
é só jogar isso em cima do seu trigger.
Verifique se as duas cenas estão na build. Só ir em file > build settings > add open scenes
ruanzikaad- Mestre
- PONTOS : 3187
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
void OnTriggerEnter (){
SceneManager.LoadScene("nomedacena");
}
é só jogar isso em cima do seu trigger.
Verifique se as duas cenas estão na build. Só ir em file > build settings > add open scenes
SceneManager.LoadScene("nomedacena");
}
é só jogar isso em cima do seu trigger.
Verifique se as duas cenas estão na build. Só ir em file > build settings > add open scenes
ruanzikaad- Mestre
- PONTOS : 3187
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Ruan, você se esqueceu dos parâmetros do OnTriggerEnter() que é Collider other.ruanzikaad escreveu:void OnTriggerEnter (){
SceneManager.LoadScene("nomedacena");
}
é só jogar isso em cima do seu trigger.
Verifique se as duas cenas estão na build. Só ir em file > build settings > add open scenes
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour {
public int loadLevel;
void OnTriggerEnter(Collider other) {
if (other.tag == "Player") {
SceneManager.LoadScene (loadLevel);
}
}
}
Bruno- ProgramadorMaster
- PONTOS : 3414
REPUTAÇÃO : 142
Idade : 22
Áreas de atuação : C# Avançado, SQL Intermediário, Unity3D Intermediário, HTML Iniciante, CSS Iniciante e ASP.NET
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Bruno escreveu:Se esse script não fucionar o problema esta dentro da unity, lembrando que uns dos dois tem que ter um RigidBody ou o player ter o Character Controller.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour {
public int loadLevel;
void OnTriggerEnter(Collider other) {
if (other.tag == "Player") {
SceneManager.LoadScene (loadLevel);
}
}
}
Não funcionou, eu acho que vou cancelar o projeto... se a função necessária n funciona como vou continuar?
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
1- O player tem que ter a tag "Player"
2- O collider do objeto com esse script tem que estar marcado como: IsTrigger
3- O objeto com esse script deve ter um rigodBody, caso nao queira simular fisicas, marque o isTrigger
Agora tente o Script Abaixo:
(esse eh o seu mesmo script mas corrigindo 1 Erro: Você escrever "OntriggerEnter" sendo o correto "OnTriggerEnter")
2- O collider do objeto com esse script tem que estar marcado como: IsTrigger
3- O objeto com esse script deve ter um rigodBody, caso nao queira simular fisicas, marque o isTrigger
Agora tente o Script Abaixo:
(esse eh o seu mesmo script mas corrigindo 1 Erro: Você escrever "OntriggerEnter" sendo o correto "OnTriggerEnter")
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Primeiramente Boa noite a todos, sou novo no forum e essa é minha primeira interação.Phph09 escreveu:1- O player tem que ter a tag "Player"
2- O collider do objeto com esse script tem que estar marcado como: IsTrigger
3- O objeto com esse script deve ter um rigodBody, caso nao queira simular fisicas, marque o isTrigger
Agora tente o Script Abaixo:
(esse eh o seu mesmo script mas corrigindo 1 Erro: Você escrever "OntriggerEnter" sendo o correto "OnTriggerEnter")
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
Eu tenho uma duvida aqui nesse post, por que usar "[SerializeField]" em void OnTriggerEnter
Kodi- Iniciante
- PONTOS : 2491
REPUTAÇÃO : 0
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Kodi escreveu:Primeiramente Boa noite a todos, sou novo no forum e essa é minha primeira interação.Phph09 escreveu:1- O player tem que ter a tag "Player"
2- O collider do objeto com esse script tem que estar marcado como: IsTrigger
3- O objeto com esse script deve ter um rigodBody, caso nao queira simular fisicas, marque o isTrigger
Agora tente o Script Abaixo:
(esse eh o seu mesmo script mas corrigindo 1 Erro: Você escrever "OntriggerEnter" sendo o correto "OnTriggerEnter")
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
Eu tenho uma duvida aqui nesse post, por que usar "[SerializeField]" em void OnTriggerEnter
Bem vindo, ele não usou no OnTrigger, ele usou no valor Inteiro LoadLevel
Lteo- Avançado
- PONTOS : 2967
REPUTAÇÃO : 27
Idade : 24
Áreas de atuação : Desenvolvedor web
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Sim Desculpe foi um erro meu ao dizer que ele usou na função, eu tentei editar o post mas não achei uma função para editar desculpe eu confundi mesmo. Continuando com minha duvida e corrigindo minha pergunta rs, por que ele usou na variável.Lteo escreveu:Kodi escreveu:Primeiramente Boa noite a todos, sou novo no forum e essa é minha primeira interação.Phph09 escreveu:1- O player tem que ter a tag "Player"
2- O collider do objeto com esse script tem que estar marcado como: IsTrigger
3- O objeto com esse script deve ter um rigodBody, caso nao queira simular fisicas, marque o isTrigger
Agora tente o Script Abaixo:
(esse eh o seu mesmo script mas corrigindo 1 Erro: Você escrever "OntriggerEnter" sendo o correto "OnTriggerEnter")
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
Eu tenho uma duvida aqui nesse post, por que usar "[SerializeField]" em void OnTriggerEnter
Bem vindo, ele não usou no OnTrigger, ele usou no valor Inteiro LoadLevel
Kodi- Iniciante
- PONTOS : 2491
REPUTAÇÃO : 0
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
É um atributo que faz com que variáveis privadas possam ser vistas no Inspector da unity
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Phph09 escreveu:É um atributo que faz com que variáveis privadas possam ser vistas no Inspector da unity
Eu não tinha conhecimento desse atributo, eu costumava usar variáveis publicas para visualizar no Inspector. :D Obrigado
Kodi- Iniciante
- PONTOS : 2491
REPUTAÇÃO : 0
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Seja muito bem findo ao fórum
Quanto à editar o post, somente membros de classe membro avançado ou superior podem editar suas mensagens e seus topicos
Quanto à editar o post, somente membros de classe membro avançado ou superior podem editar suas mensagens e seus topicos
- Regras do forum(Clique nessa caixinha para ver):
1- Moderadores e Instrutores tem a mesma autoridade do Administrador, e portanto, devem ser respeitados em suas colocações em relação ao comportamento no fórum.
2- Nomes de usuário impróprios terão seus nicks mudados sem aviso prévio. Nomes ofensivos serão banidos de imediato do fórum.
3- Não é permitido postar novamente em um tópico mais de três vezes seguidas. Caso queira adicionar algo depois de três posts consecutivos, aguarde 24h.
4- Os Moderadores tem autoridade para punir qualquer membro que, mesmo depois de avisado, continuar a desobedecer alguma regra.
5- Membros que continuarem a desobedecer regras mesmo após serem avisados, perderão sua categoria(Programador, Modelador, etc) caso tenham.
6- O fórum é para resolução de dúvidas, portanto, venham com dúvidas. Pedir scripts prontos ou resoluções milagrosas sem querer aprender, apenas levará o usuário a ser ignorado posteriormente.
7- Membros que insistirem em pedir scripts prontos ou soluções milagrosas sem sequer tentar aprender, terão o tópico fechado e a questão dada como resolvida.
8- Caso queira criar um tópico, crie-o na área correta. Se for uma dúvida, poste em "Dúvidas em geral". Se for tutorial, poste em "Tutorial dos membros", e assim por diante.
9- Não poste dúvidas em tópicos não relacionados ao assunto. Se tiver uma dúvida, crie um tópico na área "Dúvidas em geral".
10- Para aderir a uma categoria (Moderador, Programador, etc), consulte o link: Aderir em categorias
11- Só serão aceitos anúncios de canais próprios ou sites próprios, se os mesmos forem sobre programação ou desenvolvimento de games com Unity 3D
12- Flood em tópicos (mensagens repetidas) sofrerá repreensão da Staff... Caso o membro continue com o flood, perderá pontos de respeito as regras
13- Regras sobre flood, posts exagerados, dentre outras, não são válidas para os membros da staff
14- Tópicos com títulos inúteis, ou que nada tenham a ver com o assunto do tópico, podem ser excluídos sem aviso
15- Usar contas duplas acarretará em banimento das mesmas e também, ban por IP
16- Qualquer tipo de ofensa a membros será punido com ban temporário. Post de pornografia ou conteúdo impróprio será punido com ban permanente.
17- Não é permitido pirataria ou divulgação de assets e códigos pagos de terceiros. Conteúdo pago de terceiros deve ser respeitado, então não deve ser repassado.
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Phph09 escreveu:1- O player tem que ter a tag "Player"
2- O collider do objeto com esse script tem que estar marcado como: IsTrigger
3- O objeto com esse script deve ter um rigodBody, caso nao queira simular fisicas, marque o isTrigger
Agora tente o Script Abaixo:
(esse eh o seu mesmo script mas corrigindo 1 Erro: Você escrever "OntriggerEnter" sendo o correto "OnTriggerEnter")
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SceneScript : MonoBehaviour
{
[SerializeField] int LoadLevel;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Application.LoadLevel(LoadLevel);
}
}
}
Não tinha visto este erro, obrigado por informar! rsrs
caso o script não funcione, pensei em criar cenários e deixa-los ocultos e fazer um script para mostrá-los e desativa o anterior,mas assim o scene ficaria pesado com os assets....ou não
thiagotmi- Avançado
- PONTOS : 2638
REPUTAÇÃO : 14
Idade : 25
Áreas de atuação : Design, animação, programação básica.
Respeito as regras :
Re: Mudar Scene quando o player colidir com um trigger
Voce tambem pode usar assim
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class Carregar : MonoBehaviour {
public string CenaACarregar;//Nome de qualquer cena
void OnTriggerEnter(Collider other){
if(other.gameObject.tag == "Player"){
SceneManager.LoadScene (CenaACarregar);
}
}
}
Re: Mudar Scene quando o player colidir com um trigger
Eu fiz todos os procedimentos, e no meu não deu certo, o player passa pelo objeto marcado com "Is Trigger" e com o script e não muda a cena
anomaly160- Membro
- PONTOS : 1934
REPUTAÇÃO : 1
Idade : 39
Respeito as regras :
Tópicos semelhantes
» Como mudar de camera assim que o player entrar no Trigger
» Como mudar de Scene sem perder os valores das variáveis
» player pulando eternamente quando dentro de um trigger colllider, como corrigir isso? 2D
» Trigger Abre a Porta quando Entra mas nao Fecha quando Sai!
» Cut Scene com video player
» Como mudar de Scene sem perder os valores das variáveis
» player pulando eternamente quando dentro de um trigger colllider, como corrigir isso? 2D
» Trigger Abre a Porta quando Entra mas nao Fecha quando Sai!
» Cut Scene com video player
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos