[RESOLVIDO] Como Posso Fazer Um Giroflex ??
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Como Posso Fazer Um Giroflex ??
Tipo eu sei Fazer o Script Para Fazer Piscar
O que eu quero saber e ...... COmo Faço Para Tipo Assim
Como faço para fazer assim ?
O que eu quero saber e ...... COmo Faço Para Tipo Assim
Como faço para fazer assim ?
EricknhYT- Avançado
- PONTOS : 2044
REPUTAÇÃO : 8
Idade : 20
Áreas de atuação : Programando Patrulha Ostensiva - Msc Studios
Respeito as regras :
Re: [RESOLVIDO] Como Posso Fazer Um Giroflex ??
Você pode criar 3 luzes: uma no meio e duas nas laterais, usar uma coroutine para ligar as 2 luzes, e depois ligar uma luz.
rafaelPortugal- Iniciante
- PONTOS : 1726
REPUTAÇÃO : 4
Respeito as regras :
Re: [RESOLVIDO] Como Posso Fazer Um Giroflex ??
Nao Mano nao assim pq assim fica falso..... tipo se eu colocar assim vai ficar so uma luz piscando nao vai mostrar de onde ta vindorafaelPortugal escreveu:Você pode criar 3 luzes: uma no meio e duas nas laterais, usar uma coroutine para ligar as 2 luzes, e depois ligar um
vou dar um eemplo: pega um cubo e coloca brilho nele (agr vc sabe que e o cubo que ta brilhando)
EricknhYT- Avançado
- PONTOS : 2044
REPUTAÇÃO : 8
Idade : 20
Áreas de atuação : Programando Patrulha Ostensiva - Msc Studios
Respeito as regras :
Re: [RESOLVIDO] Como Posso Fazer Um Giroflex ??
Tente o seguinte:
1)Adicione 3 luz pont light vermelhas no veiculo, uma na parte esquerda, uma no meio e uma na direita.
range: 70
intensity: 10
2) Adicione esse script ao carro:
4) Aperte play e o botão G.
1)Adicione 3 luz pont light vermelhas no veiculo, uma na parte esquerda, uma no meio e uma na direita.
range: 70
intensity: 10
2) Adicione esse script ao carro:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeroflexBehaviour : MonoBehaviour
{
// luzes do geroflex
public Light[] luzes;
// velocidade de piscar
public float speed = 0.1f;
// verifica se esta ligado
bool geroflexLigado = false;
// efeito geroflex
IEnumerator Geroflex()
{
while (geroflexLigado)
{
// ativa a 1 luz
yield return new WaitForSeconds(speed);
luzes[0].enabled = true;
luzes[1].enabled = false;
luzes[2].enabled = false;
// ativa a 2 luz
yield return new WaitForSeconds(speed);
luzes[0].enabled = false;
luzes[1].enabled = true;
luzes[2].enabled = false;
// ativa a 3 luz
yield return new WaitForSeconds(speed);
luzes[0].enabled = false;
luzes[1].enabled = false;
luzes[2].enabled = true;
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.G))
{
if (geroflexLigado)
{
StopCoroutine(Geroflex());
geroflexLigado = false;
}
else
{
geroflexLigado = true;
StartCoroutine(Geroflex());
}
}
}
}
4) Aperte play e o botão G.
rafaelPortugal- Iniciante
- PONTOS : 1726
REPUTAÇÃO : 4
Respeito as regras :
Re: [RESOLVIDO] Como Posso Fazer Um Giroflex ??
Acredito que essa parte ele já tenha Rafael, ele criou outro tópico com o mesmo tema um tempo atrás e a resposta foi justamente um script que fazia as luzes piscarem, é possível que dessa vez ele queira o efeito visual das lâmpadas, isso não se consegue apenas com as luzes da Unity.
Aqui o tópico anterior:
https://www.schultzgames.com/t10702-giroflex-piscarem-paralelamente?highlight=giroflex
Seguindo a dica que dei anteriormente, você consegue o resultado abaixo, lembrando que aí está só com o material trocando o offset da UV, pra conseguir o efeito completo ainda precisa do "halo" ou "flare" que a luz causa nas câmeras, o que também adiciona um brilho extra em volta do objeto:
Correção da Dica: (Translúcido não aparece no bake)
"Eu utilizaria o blender, deixaria o giroflex com um material diffuso branco, adicionaria uma luz no interior e faria o bake com e sem a luz, na unity eu alteraria a UV do objeto pra ele alternar entre o estado aceso e apagado. Ficaria basicamente idêntico ao real.
Pra deixar o efeito mais visível, daria pra combinar com um sprite com material aditivo (mobile/particles /aditive) pra criar o halo em volta da luz"
Na unity você altera o offset da UV com o material.mainTextureOffset;
A textura que usei, tem os dois estados do giroflex, separados por 0.5 em x na UV.
É possível incluir mais de dois estados, desde que você leve isso em conta no script, se eu usasse 4 estados, o offset seria incremental (0.25 em x);
Aqui o tópico anterior:
https://www.schultzgames.com/t10702-giroflex-piscarem-paralelamente?highlight=giroflex
Seguindo a dica que dei anteriormente, você consegue o resultado abaixo, lembrando que aí está só com o material trocando o offset da UV, pra conseguir o efeito completo ainda precisa do "halo" ou "flare" que a luz causa nas câmeras, o que também adiciona um brilho extra em volta do objeto:
Correção da Dica: (Translúcido não aparece no bake)
"Eu utilizaria o blender, deixaria o giroflex com um material diffuso branco, adicionaria uma luz no interior e faria o bake com e sem a luz, na unity eu alteraria a UV do objeto pra ele alternar entre o estado aceso e apagado. Ficaria basicamente idêntico ao real.
Pra deixar o efeito mais visível, daria pra combinar com um sprite com material aditivo (mobile/particles /aditive) pra criar o halo em volta da luz"
Na unity você altera o offset da UV com o material.mainTextureOffset;
- Script:
- Código:
using System.Collections;
using UnityEngine;
public class Giro : MonoBehaviour
{
public Material material;
private void Start()
{
StartCoroutine(tempo1());
}
private IEnumerator tempo1()
{
Luz1();
yield return new WaitForSeconds(0.15f);
StartCoroutine(tempo2());
}
private IEnumerator tempo2()
{
Luz2();
yield return new WaitForSeconds(0.15f);
StartCoroutine(tempo1());
}
private void Luz1()
{
material.mainTextureOffset = new Vector2(1, 0);
}
private void Luz2()
{
material.mainTextureOffset = new Vector2(0.5f, 0);
}
private void Desligado()
{
material.mainTextureOffset = new Vector2(1, 0.5f);
}
}
A textura que usei, tem os dois estados do giroflex, separados por 0.5 em x na UV.
É possível incluir mais de dois estados, desde que você leve isso em conta no script, se eu usasse 4 estados, o offset seria incremental (0.25 em x);
Fagner- Moderador
- PONTOS : 4443
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Como Posso Fazer Um Giroflex ??
Grato, e Isso Mesmo ValeuFagner escreveu:Acredito que essa parte ele já tenha Rafael, ele criou outro tópico com o mesmo tema um tempo atrás e a resposta foi justamente um script que fazia as luzes piscarem, é possível que dessa vez ele queira o efeito visual das lâmpadas, isso não se consegue apenas com as luzes da Unity.
Aqui o tópico anterior:
https://www.schultzgames.com/t10702-giroflex-piscarem-paralelamente?highlight=giroflex
Seguindo a dica que dei anteriormente, você consegue o resultado abaixo, lembrando que aí está só com o material trocando o offset da UV, pra conseguir o efeito completo ainda precisa do "halo" ou "flare" que a luz causa nas câmeras, o que também adiciona um brilho extra em volta do objeto:
Correção da Dica: (Translúcido não aparece no bake)
"Eu utilizaria o blender, deixaria o giroflex com um material diffuso branco, adicionaria uma luz no interior e faria o bake com e sem a luz, na unity eu alteraria a UV do objeto pra ele alternar entre o estado aceso e apagado. Ficaria basicamente idêntico ao real.
Pra deixar o efeito mais visível, daria pra combinar com um sprite com material aditivo (mobile/particles /aditive) pra criar o halo em volta da luz"
Na unity você altera o offset da UV com o material.mainTextureOffset;
- Script:
- Código:
using System.Collections;
using UnityEngine;
public class Giro : MonoBehaviour
{
public Material material;
private void Start()
{
StartCoroutine(tempo1());
}
private IEnumerator tempo1()
{
Luz1();
yield return new WaitForSeconds(0.15f);
StartCoroutine(tempo2());
}
private IEnumerator tempo2()
{
Luz2();
yield return new WaitForSeconds(0.15f);
StartCoroutine(tempo1());
}
private void Luz1()
{
material.mainTextureOffset = new Vector2(1, 0);
}
private void Luz2()
{
material.mainTextureOffset = new Vector2(0.5f, 0);
}
private void Desligado()
{
material.mainTextureOffset = new Vector2(1, 0.5f);
}
}
A textura que usei, tem os dois estados do giroflex, separados por 0.5 em x na UV.
É possível incluir mais de dois estados, desde que você leve isso em conta no script, se eu usasse 4 estados, o offset seria incremental (0.25 em x);
EricknhYT- Avançado
- PONTOS : 2044
REPUTAÇÃO : 8
Idade : 20
Áreas de atuação : Programando Patrulha Ostensiva - Msc Studios
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como posso fazer uma barra de vida encher de novo
» Como posso fazer um sistema de entrega?
» Como eu posso fazer um player estilo GTA e que tenha uma câmera 360 como o GTA?
» COMO POSSO FAZER UM MULTIPLAYER?
» Como posso fazer isso
» Como posso fazer um sistema de entrega?
» Como eu posso fazer um player estilo GTA e que tenha uma câmera 360 como o GTA?
» COMO POSSO FAZER UM MULTIPLAYER?
» Como posso fazer isso
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos