Como fazer um objeto sumir e aparecer novamente em loop (ficar piscando) ?
3 participantes
Página 1 de 1
Como fazer um objeto sumir e aparecer novamente em loop (ficar piscando) ?
Olá, como é o script para fazer um objeto ficar piscando junto com o collider dele por favor? quero fazer isso para um prefab de lazer
Wily- Membro
- PONTOS : 1408
REPUTAÇÃO : 0
Respeito as regras :
Re: Como fazer um objeto sumir e aparecer novamente em loop (ficar piscando) ?
- Código:
public class test : MonoBehaviour
{
public bool variavel;
public GameObject objeto;
private float tempoProxAcao = 0.0f;
public float segundos = 1f;
void Update()
{
if (Time.time > tempoProxAcao)
{
tempoProxAcao += segundos;
variavel = !variavel;
objeto.SetActive(variavel);
}
}
}
o jogo vai esperar 1 segundo para desativar o objeto, dps vai esperar mais 1 segundo e irá ativar novamente e assim vai indo
JulioWinchester- MembroAvançado
- PONTOS : 1871
REPUTAÇÃO : 47
Idade : 19
Áreas de atuação : https://linktr.ee/juliopepe
Respeito as regras :
Re: Como fazer um objeto sumir e aparecer novamente em loop (ficar piscando) ?
Usando o código aí de cima do nosso amigo, daria para você usar o InvokeRepeating:
Lembrando que o InvokeRepeating serve apenas caso você queira que o intervalo que o objeto apareça e suma sejam constantes, caso você queira mudar em tempo real sugiro a solução do amigo de cima ou usar um IEnumerator
Docs:
https://docs.unity3d.com/ScriptReference/MonoBehaviour.InvokeRepeating.html
- Código:
using System;
using UnityEngine;
public class test : MonoBehaviour
{
public GameObject objeto;
public float segundos = 1f;
private void OnEnable (){
InvokeRepeating("CustomUpdate", 0, segundos);
}
private void CustomUpdate() {
objeto.SetActive(!objeto.activeInHierarchy);
}
}
Lembrando que o InvokeRepeating serve apenas caso você queira que o intervalo que o objeto apareça e suma sejam constantes, caso você queira mudar em tempo real sugiro a solução do amigo de cima ou usar um IEnumerator
Docs:
https://docs.unity3d.com/ScriptReference/MonoBehaviour.InvokeRepeating.html
NKKF- ProgramadorMaster
- PONTOS : 4601
REPUTAÇÃO : 574
Idade : 19
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Como fazer um objeto sumir e aparecer novamente em loop (ficar piscando) ?
Obrigado man, só teve um problema, toda vez que o código roda nos objetos o projeto inteiro fica extremamente lento, bem travado mesmo, nem tem como fazer o teste direito.
Wily- Membro
- PONTOS : 1408
REPUTAÇÃO : 0
Respeito as regras :
Re: Como fazer um objeto sumir e aparecer novamente em loop (ficar piscando) ?
Estranho.. o que dá para fazer é armazenar o estado do objeto e invés de desativar o objeto em si, desativar apenar o componente que o renderiza:
Testei aqui na Unity e de fato, só pelo objeto estar ativo em cena ele diminui a qtd. de FPS porém vendo pelo Profiller a única coisa que consome é a renderização do componente.. Tenta ver se na sua Unity aí acontece o mesmo comportamento?
- Código:
using System.Collections;
using UnityEngine;
public class test : MonoBehaviour {
public GameObject objeto;
public float segundos = 1f;
private Renderer objetoRenderer;
private bool isEnabled = false;
private void OnEnable () {
objetoRenderer = objeto.GetComponent<Renderer> ();
// Evita erro de referência
if (Object.Equals (objetoRenderer, null))
Debug.LogError ("objeto não existe ou não possui componente Renderer");
InvokeRepeating ("CustomUpdate", 0, segundos);
}
private void CustomUpdate () {
isEnabled = !isEnabled;
objetoRenderer.enabled = isEnabled;
}
}
Testei aqui na Unity e de fato, só pelo objeto estar ativo em cena ele diminui a qtd. de FPS porém vendo pelo Profiller a única coisa que consome é a renderização do componente.. Tenta ver se na sua Unity aí acontece o mesmo comportamento?
NKKF- ProgramadorMaster
- PONTOS : 4601
REPUTAÇÃO : 574
Idade : 19
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Como fazer um objeto sumir e aparecer novamente em loop (ficar piscando) ?
Eu dei um jeito aqui e funcionou, vlw man
Wily- Membro
- PONTOS : 1408
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Como Fazer para uma partícula aparecer por um período de tempo e sumir?
» Fazer pontuação aparecer momentaneamente e sumir dando erro
» Como fazer objeto ficar na area ao passar em cima.
» Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
» Objeto sumir e aparecer na HUD
» Fazer pontuação aparecer momentaneamente e sumir dando erro
» Como fazer objeto ficar na area ao passar em cima.
» Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
» Objeto sumir e aparecer na HUD
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos