Olá pessoal, neste post irei mostrar um script que é capaz de fazer um efeito muito interessante de transição fade in e fade out na Unity.
O efeito de Fade é basicamente uma transição suave entre duas imagens com a opacidade de uma diminuindo até se tornar invisível e revelando a de baixo, neste caso a imagem do efeito será preta no tamanho 1x1.
Como a imagem é toda preta nós não precisamos que ela tenha o tamanho da tela, o que vamos fazer é escalona-la, isso é simples basta utilizar o método:
function OnGUI() {
GUI.DrawTexture(Rect(0, 0, Screen.width, Screen.height), fadeOutTexture);
}
O script .js final ficou assim:
public var fadeOutTexture : Texture2D;
public var fadeSpeed = 0.3;
var drawDepth = -1000;
private var alpha = 1.0;
private var fadeDir = -1;
function OnGUI() {
alpha += fadeDir * fadeSpeed * Time.deltaTime;
alpha = Mathf.Clamp01(alpha);
GUI.color.a = alpha;
GUI.depth = drawDepth;
GUI.DrawTexture(Rect(0, 0, Screen.width, Screen.height), fadeOutTexture);
}
function fadeIn(){
fadeDir = -1;
}
function fadeOut(){
fadeDir = 1;
}
function Start(){
alpha=1;
fadeIn();
}
Simplesmente adicione esse script a sua camera ou a um game object, coloque a textura do fade manualmente e chame fadeIn() ou fadeOut() quado quiser o efeito.
Só lembrando que fadeIn() vai do preto para transparente e fadeOut() de transparente para preto.
Vale a pena dar uma olhada em: http://wiki.unity3d.com/index.php?title=FadeInOut
Finalmente XD.. Cara queria muito isso xD
ResponderExcluirFinalmente XD.. Cara queria muito isso xD
ResponderExcluir