12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 16025|回复: 11
打印 上一主题 下一主题

[其他] Unity3d水下模糊效果

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-9-2 07:59:35 |只看该作者 |倒序浏览
这个教程大部分使用的是U3D内置的资源,使用到的水下模糊效果也仅仅是添加了Depth Of Field特效,用于模拟水下效果,下面有两种触发方式的讲解.

一、判断摄像机在绝对世界的水平位置.

首先先看看效果







后面正式开始制作

1.       新建一个地型,挖一个这样的洞







2.       在资源包里添加一个水面,调整到合适的大小及位置。











3.       对主摄像机添加Depth Of Field特效













这个时候Game面板应该已经有变化了,Inspector面板里也已经多了个Depth Of Field脚本。点前面的小勾可以打开或关闭脚本。你可以试着编辑Depth Of Field脚本里的参数,可以得出很有趣的效果。更多摄相机效果请看Design3 - Image Effects。







4.       编写脚本判断摄像机是否在水下

JavaScript的代码:

var Camara_1 : GameObject;



function Start(){

       Camara_1 = GameObject.Find("/First Person Controller/Main Camera");

}



function Update () {

       if(transform.position.y < 9.5)

              Camara_1.GetComponent("DepthOfField").enabled = ***e;

       if(transform.position.y > 9.5)

              Camara_1.GetComponent("DepthOfField").enabled = false;

}



C Sharp Script的代码:

using UnityEngine;

using System.Collections;



public class shuixia_1 : MonoBehaviour {



       public GameObject Camara_1;

       void Start () {

              Camara_1 = GameObject.Find("/First Person Controller/Main Camera");

       }

       void Update () {

       if(transform.position.y < 9.5)

              Camara_1.GetComponent<DepthOfField>().enabled = ***e;

       if(transform.position.y > 9.5)

              Camara_1.GetComponent<DepthOfField>().enabled = false;

       }

}

想了想还是不截图了,直接上代码,IF后面的9.5是水平面的高度,那个数值可以设定触发相机模糊的高度。因为代码少,就不走注解了,如果有什么不明白的可以Q我。











二、设置水区域,判断相机是否在区域内

1.接上个小节,这个时候在原地型的基础上再绘制一座更高的山,山中间有个洞,洞里面再添加一个水面









2.把上节中shuixia_1的脚本关闭,





3.给两个水区域添加BOX,要刚好把水面和水下的区域覆盖掉,这时候要多运用各个视图,这里不详细讲,有问题可以Q我。









4.给新建的两个BOX添加Collider,并勾选Is Trigger,新建一个标签为shuixia,两个BOX选择标签为shuixia,之后将BOX设为不渲染













5.编写程序脚本,判断相机是否在BOX区域内

JavaScript的代码:

var Camara_1 : GameObject;



function Start(){

Camara_1 = GameObject.Find("/First Person Controller/Main Camera");

}



function OnTriggerStay(hit : Collider){

if(hit.gameObject.tag=="shuixia")

Camara_1.GetComponent("BlurEffect").enabled = ***e;

}



function OnTriggerExit(hit : Collider){

if(hit.gameObject.tag=="shuixia")

Camara_1.GetComponent("BlurEffect").enabled = false;

}



C Sharp Script的代码:

using UnityEngine;

using System.Collections;



public class shuixia_2 : MonoBehaviour {



public GameObject Camara_1;

void Start () {

Camara_1 = GameObject.Find("/First Person Controller/Main Camera");

}

void OnTriggerStay(Collider hit) {

if(hit.gameObject.tag=="shuixia")

Camara_1.GetComponent<BlurEffect>().enabled = ***e;

}



void OnTriggerExit(Collider hit) {

if(hit.gameObject.tag=="shuixia")

Camara_1.GetComponent<BlurEffect>().enabled = false;

}

}




转自:http://www.u3dpro.com/read.php?tid=639
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏2 支持支持0 反对反对0
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-3-12 23:31:38 |只看该作者
很经典,很实用,学习了!
回复

使用道具 举报

0

主题

1

听众

30

积分

设计初学者

Rank: 1

纳金币
1
精华
0
板凳
发表于 2014-1-19 19:00:53 |只看该作者
必须要学习一下
回复

使用道具 举报

0

主题

1

听众

477

积分

设计实习生

Rank: 2

纳金币
0
精华
0

最佳新人

地板
发表于 2014-2-19 23:25:37 |只看该作者
謝謝芬想阿~~大哥~~
回复

使用道具 举报

0

主题

1

听众

193

积分

设计实习生

Rank: 2

纳金币
0
精华
0

最佳新人

5#
发表于 2014-2-20 12:12:34 |只看该作者
感謝教學分享
回复

使用道具 举报

1

主题

2

听众

510

积分

初级设计师

Rank: 3Rank: 3

纳金币
49
精华
0

最佳新人

6#
发表于 2014-6-30 14:30:32 |只看该作者
还不错啊
回复

使用道具 举报

0

主题

1

听众

823

积分

初级设计师

Rank: 3Rank: 3

纳金币
80
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2014-7-1 14:32:23 |只看该作者
还不错啊
回复

使用道具 举报

1

主题

2

听众

510

积分

初级设计师

Rank: 3Rank: 3

纳金币
49
精华
0

最佳新人

8#
发表于 2014-7-9 10:40:05 |只看该作者
感觉还好吧。。
回复

使用道具 举报

10

主题

2

听众

1545

积分

助理设计师

Rank: 4

纳金币
79
精华
0

活跃会员

9#
发表于 2014-7-9 13:37:40 |只看该作者
很有趣的教程,感谢
回复

使用道具 举报

0

主题

1

听众

569

积分

初级设计师

Rank: 3Rank: 3

纳金币
155
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2014-7-10 06:32:18 |只看该作者
好东东大家就要支持
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-22 02:42 , Processed in 0.159071 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部