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:
Time.timeScale continua em 0
Baixar Unity ?
Script de imã
colocar um botão na tela e corresponder ao teclado do pc
materiais unity
É assim que se começa um "novo mundo" na era medieval? kkjk
[Duvida] Sobre cena de carregamento.
Formação de Equipe Battle of Worlds
Unity remote play android 6.0
Pegar uma informação do banco de dados e visualizar na scene da Unity
Procuro membros para minha Equipe (Programadores, designers, etc)
[TUTORIAL] Unity 5.5 - Splash Screen
[TUTORIAL] Unity 5 - Como utilizar o Animator
Recrutamento de equipe
Movimentação de inimigo
Thomblers VS Pimblers - Teste
DUVIDA SOBRE REFLECTION PROBE OU ALGO Q DEIXE CROMADO A PINTURA
[____TÓPICO LIVRE____] FALE O QUE QUISER
Criar Simulador de Sinuca
Dúvida aplicando tutorial do Angry Birds em camera perspective e veiculo em movimento
Dash2D
Coroutines Loop
R7 - GOOH (resident evil 7)
InputField/String Com formato para data XX/XX/XXXX
Estou com varias duvidas sobre o inputfield do ui canvas
(Dúvida) Setar ultima string de uma array
[Ajuda] Unity 5.5.0 não abre
Destruindo objeto em uma outra cena
modo desenvolvedor xbox one?
como usar o Lookat com o addforce do rigidibody?
Cryengine 3?
Transferência de valores.
Teste de usuário para um jogo
Ajuda com variaveis multiplas?
Animação da arma (Mirar/Recarregar)
script
[TUTORIAL] Barra de VIDA / HP contínua
Tornar objeto filho por script
Animacao2D
Duvida Animation Play não faz nada
Unity 5 Bugado
Escolher que resoluções jogo vai ter
Baixar Documentaçao Unity 3D?
COMO DESATIVAR O SCRIPT "FisrtPersonController" DO PLAYER ATRAVÉS DE OUTRO SCRIPT
Ajuda Movimento2D
AJUDA COM BAKE EM LUZES
Tem como editar o inspector?
[TUTORIAL] Como Abrir e Fechar Gavetas - Unity 5
Números aleatorios
[TUTORIAL]Save Load Criptografado (Atualizado 07/12/16)
Trocar de true pra false em uma animação bool
[TUTORIAL] Alterarando o ícone do Executável do Jogo
Unity 5 + um pouco de conhecimento ou Skyrim?
Procuro vagas em equipes [Programador]
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Asset de FPS - AU FPS Kit [unity 5] v1.5
[TUTORIAL] Dicas de otimização
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Integração PHP e Unity
Ideia Inovadora
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Forma uma equipe
Hoje à(s) 10:05 am
Hoje à(s) 9:15 am
Ontem à(s) 10:24 pm
Ontem à(s) 10:14 pm
Ontem à(s) 9:26 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:45 pm
Ontem à(s) 7:05 pm
Ontem à(s) 1:05 pm
Ontem à(s) 10:55 am
Ontem à(s) 9:45 am
Ontem à(s) 6:34 am
Ontem à(s) 6:28 am
Sex Dez 09, 2016 10:28 pm
Sex Dez 09, 2016 10:26 pm
Sex Dez 09, 2016 10:19 pm
Sex Dez 09, 2016 10:11 pm
Sex Dez 09, 2016 9:02 pm
Sex Dez 09, 2016 5:57 pm
Sex Dez 09, 2016 3:07 pm
Sex Dez 09, 2016 12:12 pm
Sex Dez 09, 2016 12:03 pm
Qui Dez 08, 2016 10:37 pm
Qui Dez 08, 2016 7:40 pm
Qui Dez 08, 2016 7:39 pm
Qui Dez 08, 2016 6:44 pm
Qui Dez 08, 2016 6:26 pm
Qui Dez 08, 2016 11:42 am
Qui Dez 08, 2016 11:15 am
Qui Dez 08, 2016 8:45 am
Qui Dez 08, 2016 6:17 am
Qua Dez 07, 2016 11:58 pm
Qua Dez 07, 2016 11:55 pm
Qua Dez 07, 2016 10:57 pm
Qua Dez 07, 2016 10:22 pm
Qua Dez 07, 2016 10:03 pm
Qua Dez 07, 2016 8:51 pm
Qua Dez 07, 2016 8:47 pm
Qua Dez 07, 2016 8:42 pm
Qua Dez 07, 2016 8:36 pm
Qua Dez 07, 2016 8:32 pm
Qua Dez 07, 2016 8:30 pm
Qua Dez 07, 2016 8:22 pm
Qua Dez 07, 2016 7:47 pm
Qua Dez 07, 2016 5:54 pm
Qua Dez 07, 2016 5:50 pm
Qua Dez 07, 2016 4:31 pm
Qua Dez 07, 2016 4:16 pm
Qua Dez 07, 2016 3:40 pm
Qua Dez 07, 2016 3:26 pm
Qua Dez 07, 2016 3:01 pm
Qua Dez 07, 2016 2:31 pm
Ter Dez 06, 2016 10:46 pm
Ter Dez 06, 2016 10:30 pm
Ter Dez 06, 2016 6:02 pm
Ter Dez 06, 2016 5:01 pm
Ter Dez 06, 2016 3:31 am
Seg Dez 05, 2016 11:52 pm
Seg Dez 05, 2016 6:52 pm
Seg Dez 05, 2016 6:48 pm
Seg Dez 05, 2016 6:32 pm
Seg Dez 05, 2016 6:17 pm
Seg Dez 05, 2016 6:15 pm
Seg Dez 05, 2016 4:08 pm
Seg Dez 05, 2016 3:10 pm
Seg Dez 05, 2016 1:36 pm
Seg Dez 05, 2016 12:35 pm
Dom Dez 04, 2016 10:52 pm
Dom Dez 04, 2016 6:37 pm
Dom Dez 04, 2016 6:33 pm
Dom Dez 04, 2016 5:46 am
Dom Dez 04, 2016 3:34 am
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 1:32 pm
dstaroski
Santiago Furtado
Weverton Borges da Silva
weslleyFx
lucasfera15
aluno virtual
ismarspn
mafipt
anizioNoob
oscar gonzalex
hen000
Callyde Jr
Callyde Jr
AndyShow
AndyShow
Hardencio
AndyShow
MarcosSchultz
souteramoto
Deiverson
Manawydan
luKkaSs
foxtenn
leandroinforware
leandroinforware
hetrodo_gamer
hetrodo_gamer
kleytonpb
AndyShow
Dom3000
Callyde Jr
Matrirxp
zBanidor
MarcosSchultz
zBanidor
artplayer
MarcosSchultz
DoctorGame15
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
hetrodo_gamer
Marlonwanger
diegopds
Dom3000
joabr
natanael.olimpio
hetrodo_gamer
hetrodo_gamer
Callyde Jr
Dom3000
Creat Games
Dom3000
hetrodo_gamer
dimmuo
Dom3000
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
weslleyFx
weslleyFx
artplayer
Madness
weslleyFx
weslleyFx
mafipt

[TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

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

TUTORIAL [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por MarcosSchultz em Qua Ago 05, 2015 3:21 pm

Fala galera, neste tutorial estou trazendo um metodo bastante simples para fazer um laser na Unity 5...

Vídeo explicando como fazer:





Script utilizado no vídeo:

Código:
using UnityEngine;
using System.Collections;
public class Laser : MonoBehaviour {
 public Color corLaser = Color.red;
 public int DistanciaDoLaser = 100;
 public float LarguraInicial = 0.02f, LarguraFinal = 0.1f;
 private GameObject luzColisao;
 void Start () {
 luzColisao = new GameObject ();
 luzColisao.AddComponent<Light> ();
 luzColisao.GetComponent<Light> ().intensity = 8;
 luzColisao.GetComponent<Light> ().bounceIntensity = 8;
 luzColisao.GetComponent<Light> ().range = LarguraFinal * 2;
 luzColisao.GetComponent<Light> ().color = corLaser;
 //
 LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer> ();
 lineRenderer.material = new Material (Shader.Find ("Particles/Additive"));
 lineRenderer.SetColors (corLaser, corLaser);
 lineRenderer.SetWidth (LarguraInicial, LarguraFinal);
 lineRenderer.SetVertexCount (2);
 }
 void Update () {
 Vector3 PontoFinalDoLaser = transform.position + transform.forward * DistanciaDoLaser;
 RaycastHit PontoDeColisao;
 if (Physics.Raycast (transform.position, transform.forward, out PontoDeColisao, DistanciaDoLaser)) {
 GetComponent<LineRenderer> ().SetPosition (0, transform.position);
 GetComponent<LineRenderer> ().SetPosition (1, PontoDeColisao.point);
 float distancia = Vector3.Distance(transform.position,PontoDeColisao.point)-0.03f;
 luzColisao.transform.position = transform.position + transform.forward*distancia;
 } else {
 GetComponent<LineRenderer> ().SetPosition (0, transform.position);
 GetComponent<LineRenderer> ().SetPosition (1, PontoFinalDoLaser);
 luzColisao.transform.position = PontoFinalDoLaser;
 }
 }
}


Básicamente basta jogar o script no objeto que representa o Laser e já irá funcionar 100% Very Happy


OBS: Não se esqueçam de ir em  Edit > Project Settings > Graphics e adicionar o shader "Particles/Additive" na lista always, para evitar erros na hora de compilar...


Última edição por MarcosSchultz em Ter Jun 07, 2016 9:19 pm, editado 5 vez(es)

MarcosSchultz
Administrador

Masculino PONTOS : 7181
REPUTAÇÃO : 897
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por liloc32 em Qui Ago 06, 2015 12:18 am

eu queria apertar f e o laser aparecer tem como?

liloc32
Iniciante
Iniciante

PONTOS : 524
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por MarcosSchultz em Sex Ago 07, 2015 12:50 am

Basta criar uma variavel booleana e colocar todos os comandos do laser dentro de um if com ela...

depois fazer um comando para ativar e desativar a variavel com a letra F...

o script fica assim:

Código:
using UnityEngine;
using System.Collections;
public class Laser : MonoBehaviour {
   public Color corLaser = Color.red;
   public int DistanciaDoLaser = 100;
   public float LarguraInicial = 0.02f, LarguraFinal = 0.1f;
   private GameObject luzColisao;
   private Vector3 posicLuz;
   private bool ligado;
   void Start () {
      luzColisao = new GameObject ();
      luzColisao.AddComponent<Light> ();
      luzColisao.GetComponent<Light> ().intensity = 8;
      luzColisao.GetComponent<Light> ().bounceIntensity = 8;
      luzColisao.GetComponent<Light> ().range = LarguraFinal * 2;
      luzColisao.GetComponent<Light> ().color = corLaser;
      posicLuz = new Vector3 (0, 0, LarguraFinal);
      //
      LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer> ();
      lineRenderer.material = new Material (Shader.Find ("Particles/Additive"));
      lineRenderer.SetColors (corLaser, corLaser);
      lineRenderer.SetWidth (LarguraInicial, LarguraFinal);
      lineRenderer.SetVertexCount (2);
   }
   void Update () {
      if (ligado == true) {
         luzColisao.SetActive(true);
         Vector3 PontoFinalDoLaser = transform.position + transform.forward * DistanciaDoLaser;
         RaycastHit PontoDeColisao;
         if (Physics.Raycast (transform.position, transform.forward, out PontoDeColisao, DistanciaDoLaser)) {
            GetComponent<LineRenderer> ().SetPosition (0, transform.position);
            GetComponent<LineRenderer> ().SetPosition (1, PontoDeColisao.point);
            luzColisao.transform.position = (PontoDeColisao.point - posicLuz);
         } else {
            GetComponent<LineRenderer> ().SetPosition (0, transform.position);
            GetComponent<LineRenderer> ().SetPosition (1, PontoFinalDoLaser);
            luzColisao.transform.position = PontoFinalDoLaser;
         }
      } else {
         GetComponent<LineRenderer> ().SetPosition (0, transform.position);
         GetComponent<LineRenderer> ().SetPosition (1, transform.position);
         luzColisao.SetActive(false);
      }
      if (Input.GetKeyDown ("f")) {
         ligado = !ligado;
      }
   }
}

MarcosSchultz
Administrador

Masculino PONTOS : 7181
REPUTAÇÃO : 897
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por Yuri Heinz em Ter Out 13, 2015 3:10 am

tem um problema, o Luz do lazer so aparece na direção de uma parede no eixo 0
acho que a solução seria agrupar os objetos criados.


[img][/img]

[img][/img]

[img][/img]

Yuri Heinz
Iniciante
Iniciante

Masculino PONTOS : 553
REPUTAÇÃO : 2
Idade : 20
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por Yuri Heinz em Ter Out 13, 2015 3:16 am

o problema ta na hora que rotaciona o lazer, dai ela subtrai a posição, mas sempre no mesmo eixo

ta nessa linha aqui, tem que mudar alguma coisa
LuzColisao.transform.position = (PontoDeColisao.point - posicLuz);

linha 33 no seu código,


estou assistindo aos tutoriais de C# queria aprender mais sobre instanciar objetos, muito bom trabalho abraço

Yuri Heinz
Iniciante
Iniciante

Masculino PONTOS : 553
REPUTAÇÃO : 2
Idade : 20
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por MarcosSchultz em Ter Out 13, 2015 12:37 pm

Hmm, não tinha reparado nisto...

Uma solução simples é fazer uma filiação da luz dando um transform.parent na camera. Ai não tem erro.

MarcosSchultz
Administrador

Masculino PONTOS : 7181
REPUTAÇÃO : 897
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por Yuri Heinz em Qua Out 14, 2015 4:01 am

LuzColisao.transform.parent ;

Ficaria assim a linha ?, dai criaria o objeto luz como objeto filho.


Yuri Heinz
Iniciante
Iniciante

Masculino PONTOS : 553
REPUTAÇÃO : 2
Idade : 20
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por Yuri Heinz em Qua Out 14, 2015 8:06 pm

não sei se vc percebeu, mas eu sou burro, não to conseguindo filiar o objeto.
manda o código do transform.parent

Yuri Heinz
Iniciante
Iniciante

Masculino PONTOS : 553
REPUTAÇÃO : 2
Idade : 20
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por MarcosSchultz em Qua Out 14, 2015 11:04 pm

Acabei fazendo uma pequena correção no script original... Agora está 100% ( más não se esqueçam de ir em  Edit > Project Settings > Graphics e adicionar o shader "Particles/Additive" na lista always, para evitar erros...)


Código:
using UnityEngine;
using System.Collections;
public class Laser : MonoBehaviour {
   public Color corLaser = Color.red;
   public int DistanciaDoLaser = 100;
   public float LarguraInicial = 0.02f, LarguraFinal = 0.1f;
   private GameObject luzColisao;
   void Start () {
      luzColisao = new GameObject ();
      luzColisao.AddComponent<Light> ();
      luzColisao.GetComponent<Light> ().intensity = 8;
      luzColisao.GetComponent<Light> ().bounceIntensity = 8;
      luzColisao.GetComponent<Light> ().range = LarguraFinal * 2;
      luzColisao.GetComponent<Light> ().color = corLaser;
      //
      LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer> ();
      lineRenderer.material = new Material (Shader.Find ("Particles/Additive"));
      lineRenderer.SetColors (corLaser, corLaser);
      lineRenderer.SetWidth (LarguraInicial, LarguraFinal);
      lineRenderer.SetVertexCount (2);
   }
   void Update () {
      Vector3 PontoFinalDoLaser = transform.position + transform.forward * DistanciaDoLaser;
      RaycastHit PontoDeColisao;
      if (Physics.Raycast (transform.position, transform.forward, out PontoDeColisao, DistanciaDoLaser)) {
         GetComponent<LineRenderer> ().SetPosition (0, transform.position);
         GetComponent<LineRenderer> ().SetPosition (1, PontoDeColisao.point);
         float distancia = Vector3.Distance(transform.position,PontoDeColisao.point)-0.03f;
         luzColisao.transform.position = transform.position + transform.forward*distancia;
      } else {
         GetComponent<LineRenderer> ().SetPosition (0, transform.position);
         GetComponent<LineRenderer> ().SetPosition (1, PontoFinalDoLaser);
         luzColisao.transform.position = PontoFinalDoLaser;
      }
   }
}

MarcosSchultz
Administrador

Masculino PONTOS : 7181
REPUTAÇÃO : 897
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por exgame2016 em Qui Out 13, 2016 8:58 pm

Ola dinovo kkk... Como faco para add 3 quantidade de tempo nesse script...
Sendo eles...
Inicio = começa desativado e depois de 1s ( ou menos ) ativa novamente.
Reload = desativa o laser quando apertar Input.GetKey("r") e depois de um certo tempo ativa novamente.
Mira = desativa quando apertar GetButton("Fire2") e ativa novamente depois q soltar o mesmo...

Eu sei q é pedir de mais, só q vcs manja da parada, então se poder me ajudar Ficarei muito grato.

Desde já agradeço a todos e Parabéns pelo site...

exgame2016
Iniciante
Iniciante

PONTOS : 113
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5

Mensagem por MarcosSchultz em Dom Out 16, 2016 9:46 pm

exgame2016 escreveu:Ola dinovo kkk... Como faco para add 3 quantidade de tempo nesse script...
Sendo eles...
Inicio = começa desativado e depois de 1s ( ou menos ) ativa novamente.
Reload = desativa o laser quando apertar Input.GetKey("r") e depois de um certo tempo ativa novamente.
Mira = desativa quando apertar GetButton("Fire2") e ativa novamente depois q soltar o mesmo...

Eu sei q é pedir de mais, só q vcs manja da parada, então se poder me ajudar Ficarei muito grato.

Desde já agradeço a todos e Parabéns pelo site...

Tem como criar um tópico específico para esta dúvida, postando o script como você está utilizando e tudo mais?

É uma implementação simples, usando IENumerator.

MarcosSchultz
Administrador

Masculino PONTOS : 7181
REPUTAÇÃO : 897
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

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