[TUTORIAL] Teleporte
+4
João Ricardo
idelton
ismarspn
MarcosSchultz
8 participantes
Página 1 de 1
[TUTORIAL] Teleporte
TELEPORTAR O PLAYER
crie um cubo ou um game object e adicione um box collider a ele.... marque a opção trigger deste collider.... e coloque este script nele...
- Código:
var destino : Transform;
function OnTriggerEnter (other : Collider) {
if (other.CompareTag ("Player")) {
other.transform.position=destino.transform.position;
}
}
depois disto crie um game object que deve ficar no lugar de destino do teleporte, e adicione ele a variavel "destino"
pronto, toda vez que você colidir com este cubo você será teleportado para onde o gameObject que foi linkado na variavel " destino " está...
TELEPORTAR OBJETOS
complementando um pouco mais, se você quiser teleportar um objeto ao encostar nele, adicione este script a ele... ( detalhe, o objeto deve ter a opção trigger marcada no collider)
- Código:
var destino : Transform;
function OnTriggerEnter (other : Collider) {
transform.position=destino.transform.position;
}
TELEPORTAR COM AUDIO
este é facil também... apenas adicione a função
audio.Play(); no seu script, como por ex:
- Código:
var destino : Transform;
function OnTriggerEnter (other : Collider) {
audio.Play();
transform.position=destino.transform.position;
}
agora arraste um som para dentro do cubo ou do gameobject que contem o script... deixe o som sem com a opção "PlayOnawake" desativada... e de preferencia desmarque a opção 3D do audio...
OBS: Se você estiver utilizando a Unity 5, terá que utilizar este comando para um teleporte com áudio :
- Código:
GetComponent.<AudioSource>().Play();
em vez do simples audio.Play ();
TELEPORTE ALEATÓRIO
Jogue este script dentro de um game object com collider ( a opção trigger do collider deve estar marcada)
- Código:
var destinos : Transform[];
function OnTriggerEnter (other : Collider) {
if (other.CompareTag ("Player")) {
other.transform.position = destinos[Random.Range(0,destinos.Length)].transform.position;
}
}
agora adicione 5 gameObjects para as variaveis e pronto... toda vez que você colidir com o collider, você sera teleportado para o lugar de um dos gameObjects que voce linkou na variavel...
adapte os scripts como bem intender, qualquer duvida, poste no topico que responderei o mais breve possivel...
Última edição por MarcosSchultz em Ter Jun 07, 2016 9:21 pm, editado 1 vez(es)
Re: [TUTORIAL] Teleporte
Tem esse script em C#?
ismarspn- Programador
- PONTOS : 3998
REPUTAÇÃO : 147
Idade : 30
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :
Re: [TUTORIAL] Teleporte
O de teleportar objetos ao entrar no Trigger
ismarspn- Programador
- PONTOS : 3998
REPUTAÇÃO : 147
Idade : 30
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :
Re: [TUTORIAL] Teleporte
- Código:
public Transform destino;
void OnTriggerEnter () {
transform.position=destino.transform.position;
}
Re: [TUTORIAL] Teleporte
Funcionou aqui, amigo! Obrigado!
ismarspn- Programador
- PONTOS : 3998
REPUTAÇÃO : 147
Idade : 30
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :
Re: [TUTORIAL] Teleporte
Como ficaria esse tutorial com UNITY 5 e no c#?????
idelton- Iniciante
- PONTOS : 2993
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Teleporte
@ Up, vou gravar um vídeo sobre isto... até tinha esquecido que não tem nada sobre isto no canal.
Re: [TUTORIAL] Teleporte
"crie um game object que deve ficar no lugar de destino do teleporte, e adicione ele a variavel "destino""
Como add uma variável nesse game object? Criei um cubo e chamei ele de destino.
Como add uma variável nesse game object? Criei um cubo e chamei ele de destino.
João Ricardo- Iniciante
- PONTOS : 2768
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Teleporte
Esqueci de falar que tô usando a versão 5.5.0f3 do Unity.
João Ricardo- Iniciante
- PONTOS : 2768
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Teleporte
Ele funciona para teleportar de uma cena pra outra?
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Como faz pra ele teleportar se apertar uma tecla, como se fosse uma porta por exemplo. Ao apertar certa tecla ele é teleportado de um local de uma cena para outra cena, em determinado local. Sou novo e não sei como fazer isso.
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
[list=linenums]
[*]var destino : Transform;
[*]function OnTriggerEnter (other : Collider) {
[*]if (other.CompareTag ("Player")) {
[*] other.transform.position=destino.transform.position;
[*] }
[*]}
[/list]
Tentei aqui e este código está dando varios erros...
[*]var destino : Transform;
[*]function OnTriggerEnter (other : Collider) {
[*]if (other.CompareTag ("Player")) {
[*] other.transform.position=destino.transform.position;
[*] }
[*]}
[/list]
Tentei aqui e este código está dando varios erros...
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
O Unity mudou sua linguagem padrão para C#, o código que voce escreveu está em JavaScript e provavelmente seu arquivo é .cs, em C#. Para voce clicar uma tecla e carregar a cena, voce faz assim:
Para saber mais sobre cenas e como colaca-las para funcionar veja o video do Marcos Schultz
- Código:
using UnitEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.SceneManagement; //importe esta biblioteca para conseguir acessar configurações de cenas
public class yourScript : MonoBehvaiour
{
void Update()
{
if(Input.GetKeyDown(KeyCode.E)) //se apertar a tecla "E", voce pode mudar colocando na frente do KeyCode
{
SceneManager.LoadScene("nomeDaSuaCena"); //coloque o nome da sua cena entre aspas
}
}
}
Para saber mais sobre cenas e como colaca-las para funcionar veja o video do Marcos Schultz
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: [TUTORIAL] Teleporte
Kkkk é verdade vlw
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: [TUTORIAL] Teleporte
Valeu amigo, vou tentar aqui. Só mais uma pergunta: eu quero que ele se teleporte a um gameobject com o nome de Destino. Vc pode me ajudar? Desculpa, sou burro. To começando agora.Pokedlg escreveu:O Unity mudou sua linguagem padrão para C#, o código que voce escreveu está em JavaScript e provavelmente seu arquivo é .cs, em C#. Para voce clicar uma tecla e carregar a cena, voce faz assim:
- Código:
using UnitEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.SceneManagement; //importe esta biblioteca para conseguir acessar configurações de cenas
public class yourScript : MonoBehvaiour
{
void Update()
{
if(Input.GetKeyDown(KeyCode.E)) //se apertar a tecla "E", voce pode mudar colocando na frente do KeyCode
{
SceneManager.LoadScene("nomeDaSuaCena"); //coloque o nome da sua cena entre aspas
}
}
}
Para saber mais sobre cenas e como colaca-las para funcionar veja o video do Marcos Schultz
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Use:
kk, nao se preocupe, com o tempo vc vai melhorando
- Código:
transform.position=destino.transform.position;
kk, nao se preocupe, com o tempo vc vai melhorando
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Pokedlg- ProgramadorMaster
- PONTOS : 2336
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: [TUTORIAL] Teleporte
Pra que é iniciante em programação é bom estudarem primeiro a logica de programação, depois a linguagem que será usada e depois conceitos de orientação a objeto e depois as funções da engine a ser usada. Nessa ordem você entendera muito melhor o funcionamento das coisas.
rr indie games- MembroAvançado
- PONTOS : 1445
REPUTAÇÃO : 16
Respeito as regras :
Re: [TUTORIAL] Teleporte
a parte do gameobject com o nome do destino não deu certo.
\Teleportedestinosalinhaparamapa.cs(14,38): error CS0103: The name 'destino' does not exist in the current context
o que sera que pode ser? Ja criei o gameobject tudo certo...
\Teleportedestinosalinhaparamapa.cs(14,38): error CS0103: The name 'destino' does not exist in the current context
o que sera que pode ser? Ja criei o gameobject tudo certo...
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Isto é porque você não criou uma variável chamada destino tente fazer assimTriskal escreveu:a parte do gameobject com o nome do destino não deu certo.
\Teleportedestinosalinhaparamapa.cs(14,38): error CS0103: The name 'destino' does not exist in the current context
o que sera que pode ser? Ja criei o gameobject tudo certo...
- Código:
public Transform destino; // Jogue seu objeto de destino aqui
void Update()
{
if (Input.GetKeyDown(KeyCode.E)) // se você apertar a tecla E do teclado
{
transform.position = destino.transform.position;
}
}
Re: [TUTORIAL] Teleporte
Valeu amigo, obrigado. Vou tentar aqui.
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Infelizmente não eu certo ainda, uma vez que o script pede o gameobject e ele só aceita se estiver na mesma cena. Não consigo colocar o gameobject da cena que vai ser teleportado, assim o personagem não se teleporta pro local do gameobject...
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
cara... eu tentei aqui e consegui fazendo deste jeito:
1- vá para a cena que vc quer que o player seja teleportado e pegue o objeto de destino e arraste ele para a paste de assets para criar um prefab
2- volte para a primeira cena e jogue este script na sua camera:
ficou confuso??
quer que eu grave um vídeo para ficar mais claro??
1- vá para a cena que vc quer que o player seja teleportado e pegue o objeto de destino e arraste ele para a paste de assets para criar um prefab
2- volte para a primeira cena e jogue este script na sua camera:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class nomeDoSeuScript : MonoBehaviour
{
public Transform destino; // nesta variável vc coloca o prefab do objeto de destino que vc arrastou para a pasta de assets
public Transform _camera; // aqui vc coloca a mesma camera na qual vc jogou o script
void Start()
{
DontDestroyOnLoad(_camera);
}
void Update()
{
if(Input.GetKeyDown(KeyCode.E)) // se vc apertar a tecla E do teclado...
{
// na linha de baixo vc vai para a cena
SceneManager.LoadScene("nomeDaCena"); // coloque entre as aspas o nome da cena que vc quer que a camera seja teleportada
// na linha de baixo logo depois de ter carregado a cena, a posicao da camera vai para a posicao do objeto de destino
_camera.position = destino.transform.position;
}
}
}
ficou confuso??
quer que eu grave um vídeo para ficar mais claro??
Re: [TUTORIAL] Teleporte
Se vc puder fazer o video, amigo, tentei aqui e não deu. Agora ele se teletransporta em qualquer lugar do mapa quando aperto E, sem precisar entrar em contato com o colider que iria fazer o teletransporte. E quando teleporta não sai no lugar do gameobject, mas no lugar que o player esta. O gameobject destino nem aparece na asset pra eu adiocionar ele no script na cena que seria teletransportado...
Isso ta me dando uma dor de cabeça...
Isso ta me dando uma dor de cabeça...
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Eu só nao desisto pq ja fiz muita coisa do jogo. Mas como pode algo que era pra ser simples ser tão dificil. Minhas cenas tem mais de um lugar de teleporte para outros mapas, e alguns são portas, então preciso que se teleporte ao pressionar a tecla E e para certo local do mapa. Mas ja fiz de tudo, procurei por tudo e nada...
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
video:
o que eu fiz nesse vídeo foi não destruir a câmera e jogar uma posição nela e não deixar teleportar mais vezes ao apertar de novo. se quiser que teleporte mais vezes é só tirar a variavel jaApertou e tirar o if(jaApertou == true) {...}
script:
o que eu fiz nesse vídeo foi não destruir a câmera e jogar uma posição nela e não deixar teleportar mais vezes ao apertar de novo. se quiser que teleporte mais vezes é só tirar a variavel jaApertou e tirar o if(jaApertou == true) {...}
script:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class NomeDoScript : MonoBehaviour
{
public bool jaApertou = false;
public Transform destino;
public Transform _camera;
void Start()
{
DontDestroyOnLoad(_camera);
}
void Update()
{
if(Input.GetKeyDown(KeyCode.E))
{
jaApertou = true;
SceneManager.LoadScene("NomeDaSuaCena");
_camera.position = destino.transform.position;
}
if(jaApertou == true)
{
GetComponent<NomeDoScript>().enabled = false;
}
}
}
Re: [TUTORIAL] Teleporte
se for para teleportar para destinos aleatórios sorteados troque por isto
- Código:
public Transform[] destino;
void Update()
{
if(Input.GetKeyDown(KeyCode.E))
{
SceneManager.LoadScene("NomeDaSuaCena");
_camera.position = destino[Random.Range(0, destino.Length)].position;
}
}
Re: [TUTORIAL] Teleporte
OBIRGADO, AMIGO.
Vou tentar aqui de novo pra ver. Não quero aleatório. É uma porta, ele vai passar varias vezes por ela, indo e voltando entre os dois cenarios.
Vou tentar aqui de novo pra ver. Não quero aleatório. É uma porta, ele vai passar varias vezes por ela, indo e voltando entre os dois cenarios.
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Fiz assim, retirando a parte em que destroi o teleporter e mesmo assim não funcionou...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class destino : MonoBehaviour
{
public Transform destino;
public Transform _camera;
void Start()
{
DontDestroyOnLoad(_camera);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.E))
{
SceneManager.LoadScene("destinosalapmapa");
_camera.position = destino.transform.position;
}
{
GetComponent<destino>().enabled = false;
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class destino : MonoBehaviour
{
public Transform destino;
public Transform _camera;
void Start()
{
DontDestroyOnLoad(_camera);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.E))
{
SceneManager.LoadScene("destinosalapmapa");
_camera.position = destino.transform.position;
}
{
GetComponent<destino>().enabled = false;
}
}
}
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
No codigo não aparece as opções pra inserir a camera e o gameobject
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Com outros códigos eu consegui que teletransportasse ao apertar E no cubo, mas nunca q teletransportasse na posição do gameobject.
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Isso. Vc lembra as portas de passar fase de Resident Evil 4? Que ao apertar certa tecla na porta (aqui quero ao apertar E) o player era teleportado para outra cena em determinado local.
Isso eu consigo fazer mais ou menos. Mas não consigo fazer ele se teleportar a determinado ponto na cena, o qual estou usando um gameobject como referencia chamado destinocasferr, porque nesse mesmo mapa há outros lugares de teleporte como onde a fase começa, por exemplo. Esse teleporte ocorre ao entrar em uma casa. ele é teleportado para dentro da casa que é outra cena, e ao voltar quero que ao aperta E na porta ele volte ao mapa no ponto onde esta a casa no mapa, não no ponto inicial onde o player foi colocado na fase para inicia-la.
Isso eu consigo fazer mais ou menos. Mas não consigo fazer ele se teleportar a determinado ponto na cena, o qual estou usando um gameobject como referencia chamado destinocasferr, porque nesse mesmo mapa há outros lugares de teleporte como onde a fase começa, por exemplo. Esse teleporte ocorre ao entrar em uma casa. ele é teleportado para dentro da casa que é outra cena, e ao voltar quero que ao aperta E na porta ele volte ao mapa no ponto onde esta a casa no mapa, não no ponto inicial onde o player foi colocado na fase para inicia-la.
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Teleporte
Vou por pra exemplo essa imagem. Imagine que isso seja a Cena 1, e o interior da casa esteja na Cena 2. O player começa no canto a esquerda do mapa, onde ele foi colocado. Eu queria que ao clicar na porta da casa ele fosse teletransportado para dentro dela ao apertar E, que é a Cena 2, e ao apertar E do lado de dentro da casa na porta, ele volte a Cena 1, mas do lado da porta, e não no ponto inicial que o player estava.
Triskal- Avançado
- PONTOS : 1458
REPUTAÇÃO : 7
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Teleporte com tempo.
» [TUTORIAL] Como fazer um TELEPORTE
» [TUTORIAL] Teleporte de camera em sequencia com tempo (cutscene)
» Fade In/Out em Teleporte
» SISTEMA DE TELEPORTE
» [TUTORIAL] Como fazer um TELEPORTE
» [TUTORIAL] Teleporte de camera em sequencia com tempo (cutscene)
» Fade In/Out em Teleporte
» SISTEMA DE TELEPORTE
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos