找回密码
 立即注册
查看: 6843|回复: 88

[特效] Unity3D 相机淡入淡出特效

[复制链接]
发表于 2012-8-12 22:47 | 显示全部楼层 |阅读模式

一、新建一个js脚本命名为FadeInOut.js
加入如下代码:

---------------------------------------------------------------------------------
[code=javascript]
// FadeInOut
//
//--------------------------------------------------------------------
//                        Public parameters
//--------------------------------------------------------------------

public var fadeOutTexture : Texture2D;
public var fadeSpeed = 0.3;

var drawDepth = -1000;

//--------------------------------------------------------------------
//                       Private variables
//--------------------------------------------------------------------

private var alpha = 1.0;

private var fadeDir = -1;

//--------------------------------------------------------------------
//                       Runtime functions
//--------------------------------------------------------------------

//--------------------------------------------------------------------

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();
}
[/code]

-------------------------------------------------------------------------------------------


把FadeInOut.js添加到你的摄像机下

二,然后自己做一个1x1像素,黑色背景的图像文件(例如PNG)
把该图像文件添加到FadeInOut中

三,想执行淡入淡出的时候只要执行
Camera.main.SendMessage("fadeOut");

Camera.main.SendMessage("fadeIn");
就可以了。
官方wiki(还包含C#版本):
http://www.unifycommunity.com/wiki/index.php?title=FadeInOut


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1鲜花 +1 收起 理由
aa1287537617 + 1

查看全部评分

发表于 2012-11-12 22:17 | 显示全部楼层
这个效果真不错
发表于 2012-12-14 18:08 | 显示全部楼层
坎坷坷看看坎坷坷看看
发表于 2012-12-14 18:17 | 显示全部楼层
赞了赞了~~~~
发表于 2012-12-15 18:51 | 显示全部楼层
看看吧加加
发表于 2013-1-21 15:07 | 显示全部楼层
试啦下,效果不错,多谢楼主
发表于 2013-1-31 13:08 | 显示全部楼层
这效果不错,支持一下
发表于 2013-4-6 22:23 | 显示全部楼层
{:5_424:}{:5_424:}{:5_424:}{:5_424:}
发表于 2013-4-20 09:24 | 显示全部楼层
GUI.color.a = alpha;
Assets/text/FadeInOut.cs(17,21): error CS1612: Cannot modify a value type return value of `UnityEngine.GUI.color'. Consider storing the value in a temporary variable
这是为什么啊?
发表于 2017-2-26 17:53 | 显示全部楼层
顶顶多好
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-22 02:09 , Processed in 0.121928 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表