自己来做水和雾还是有点麻烦的,不过没关系,Unity帮我们做好了很多可以用的。

1.Unity自己实现了水的特效,帮助我们解决游戏中水的问题

2.Unity的水集成在了Environment的环境资源包里面,导入的方法是:Assert---->Import---->Environent导入

需要正式版才能看到这个菜单,没有的话也没关系,我们可以使用网上别人导出的package

3.水分为Water与Water(Basic)两个文件夹,Basic效果要差,但是占用CPU比较低。两个文件夹中都有一个Prefabs预制体的文件夹,文件夹下面有两个为文件,对应DayTime和NightTime的水。

4.水是有Shader来实现的,所以要看一下水对应的Shader,可以自己调节参数。

水环境的实例

1.Assert---->Import Packages---->Cuotom Packages---->Environment.unitypackage,在E:\电影\Unity Video\47

2.进入Assets\Standard Assets\Environment\Water\Water\Prefabs,把预制体WaterProDayTime拖进场景中,也可以选Basic里面的水的预制体

3.如果水的区域不够大的可以设置节点的scale

4.创建工程的文件目录,res、scenes、scripts,保存场景

5.其实在Assets\Standard Assets\Environment\Water\Water\Materials,放着水的材质,这些材质的shader属性都是它自己写的shader,我们还可以在材质面板调整水的速度

6.最逼真的是Assets\Standard Assets\Environment\Water\Water4\Prefabs里面,也就是Water下面的Water4水的预制体,它既有顶点的变化,也有像素着色的变化,而其他的水只是像素着色在变化,最差的是water(basic)下面的水,中等的是water下面的water。

1.开启Unity的雾模式:Window---->Lighting,勾选住Fog

2.Fog的模式:Linear,Exponential,Exponential Squared;

 Linear:雾从start开始,接近end越浓

 Exponential:可配参数Density,雾的浓度,浓度越大雾越大

 Exponential Squared可配参数Density,越大表示雾越浓

3.Fog Color雾的颜色,可以配置雾的颜色。

4.代码中的RenderSettings类是用来设置雾的属性的

  fogMode:可以调整雾的模式,关闭雾fogMode=0

  fogDensity:可以调整雾的浓度

  start,end fogStartDistance fogEndDistance 线性模式的时候

雾的实例

1.Assert---->Import Packages---->Cuotom Packages---->motten.unitypackage,在E:\电影\Unity Video\47

2.进入Assets\Fbx,把山的预制体拖进场景

3.Window---->Lighting,勾选住Fog,配置Density雾的浓度

4.开启雾的时候,如果想看清物体,必须靠近才可以,浓度越高,就要靠的越近才可以看清

5.雾开启的时候,一般都要配置白色的天空盒,才不会看起来很突兀。

关于Unity中水和雾的使用的更多相关文章

  1. 如何在Unity中创造真实的水

    你将要创造什么 Unity是由Unity Technologies开发的多平台游戏引擎,用于为控制台,移动设备,计算机甚至网站等多种设备创建视频游戏和应用程序.Unity的核心优势在于其稳健性,可移植 ...

  2. Unity中雾效的开启

    原文:https://blog.csdn.net/Rhett_Yuan/article/details/54425236 1.对于雾效的开启在新版的Unity中通过界面菜单Windows->Li ...

  3. 【Unity技巧】Unity中的优化技术

    http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得 ...

  4. C#开发Unity游戏教程之Unity中方法的参数

    C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别 ...

  5. 介绍Unity中相机的投影矩阵与剪切图像、投影概念

    这篇作为上一篇的补充介绍,主要讲Unity里面的投影矩阵的问题: 上篇的链接写给VR手游开发小白的教程:(三)UnityVR插件CardboardSDKForUnity解析(二) 关于Unity中的C ...

  6. Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(下)

    http://forum.china.unity3d.com/thread-32273-1-1.html 今天我们继续分享米哈游技术总监贺甲在Unite Beijing 2018大会上的演讲<在 ...

  7. Unity中的优化技术

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/candycat1992/article/ ...

  8. Unity中使用Attribute

    Attribute是c#的语言特性 msdn说明如下: The Attribute class associates predefined system information or user-def ...

  9. 在Unity中使用UGUI修改Mesh绘制几何图形

    在商店看到这样一个例子,表示很有兴趣,他们说是用UGUI做的.我想,像这种可以随便变形的图形,我第一个就想到了网格变形. 做法1: 细心的朋友应该会发现,每个UGUI可见元素,都有一个‘Canvas ...

随机推荐

  1. Atitit 架构的原则attilax总结

    Atitit 架构的原则attilax总结 1.1. Rule of three称为"三次原则",指的是当某个功能第三次出现时,才进行"抽象化".是DRY原则和 ...

  2. schema中字段类型的定义

    当schema中字段类型为String时,保存的时候如果该字段为Number也可以保存成功,mongoose会自动将其转换为数字字符串. 当schema中字段类型为Number时,保存的时候如果该字段 ...

  3. 15个Spring的核心注释示例

    众所周知,Spring DI和Spring IOC是Spring Framework的核心概念.让我们从org.springframework.beans.factory.annotation和org ...

  4. bulk insert 在mssql中使用

    从远程数据文件中批量导入 若要使用 BULK INSERT 从其他计算机中大容量导入数据,必须在两台计算机之间共享数据文件. 指定共享数据文件时,请使用它的通用命名约定 (UNC) 名称,其一般形式为 ...

  5. Standard C 之 math.h和float.h

    对于C Standard Library 可以参考:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ 或者 http://www.cplusplus.c ...

  6. Python利用jieba获取中文词汇等

    import jieba import os import jieba.analyse data = cleaned_comments # 数据来源于评论数据 seg = jieba.lcut(dat ...

  7. django模型创建

    定义模型 模型,属性,表,字段之间的关系 一个模型类在数据库中对应一张表,在模型类中定义的属性,对应该模型对照表中的一个字段 定义属性:见下文 创建模型类 元选项 在模型类中定义Meta类,用于设置元 ...

  8. whatweb tree

    . ├── 1.txt ├── addons │   ├── country-scanner │   ├── gggooglescan │   ├── hunter │   └── verify-ni ...

  9. ARKit从入门到精通(3)-ARKit自定义实现

    转载:http://blog.csdn.net/u013263917/article/details/73038566 在上一小节中ARKit从入门到精通(2)-ARKit工作原理及流程介绍,我们完整 ...

  10. android studio connot resolve

    使用AS的时候,肯定会遇到这个问题. 我使用清除缓存都不能解决,不过无意中发现代码变了. final Button select = (Button) findViewById(android.R.i ...