关于unity中水和雾的使用

杭者 杭者     2022-09-10     743

关键词:

自己来做水和雾还是有点麻烦的,不过没关系,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 Video47

2.进入AssetsStandard AssetsEnvironmentWaterWaterPrefabs,把预制体WaterProDayTime拖进场景中,也可以选Basic里面的水的预制体

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

 

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

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

6.最逼真的是AssetsStandard AssetsEnvironmentWaterWater4Prefabs里面,也就是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 Video47

2.进入AssetsFbx,把山的预制体拖进场景

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

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

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

 

unity高清渲染管道hdrp,如何实现雾的效果?

在HDRP项目工程下如何实现雾的效果,用粒子系统除外。有大神路过,还请指点迷津!!!好像过了挺久了...新建音量(在游戏物品的窗口中)->Profile->SkyandFog->开启雾效|->Addoverride添加雾效->开启雾效(如果Volume改为模式改... 查看详情

游戏中水的渲染技术系列一

...44 水的渲染一直是图形学需要解决的问题,网上也有很多关于这方面的技术实现,本博客的系列文章也是给读者做 查看详情

在 postgresql 中水平分片的好方法是啥

...更改客户端代码的情况下进行分区如果有人可以分享一个关于如何设置和使用分片 查看详情

如何在不使用元掩码或雾的情况​​下将本地私有 geth 节点连接到网页?

】如何在不使用元掩码或雾的情况​​下将本地私有geth节点连接到网页?【英文标题】:Howtoconnectlocalprivategethnodestothewebpagewithoutusingmetamaskormist?【发布时间】:2020-11-0122:31:55【问题描述】:我正在开发一个类似于元掩码的网络... 查看详情

unity---------------------关于buildassetbundles的使用(打包)

usingUnityEditor;usingUnityEngine;publicclassBuildAssetBundle{///<summary>///点击后,所有设置了AssetBundle名称的资源会被分单个打包出来///</summary>[MenuItem("AssetBundle/Build(Single)")]staticvoidBuild_AssetBund 查看详情

关于在unity中使用序列帧动画

//动画数组publicobject[]anim;//限制一秒多少帧publicfloatfps=30;//帧序列privateintnowFram;//记录当前时间privatefloatswitchTime;publicstringpath="Texture/33";publicboolisLoop=false;publicImageimage;publicTexture2Dtexture;v 查看详情

关于unity中shader的使用

在游戏的开发过程中,程序员不太会自己去写shader,因为写起来很麻烦,而且只有Unity会报错,编译器也没有什么提示。通常是拿别人的shader改一改,当然,程序员还是要能看懂和会一点shader  Unity坐标系转换1:transform.local... 查看详情

关于unity中粒子效果的使用

粒子效果1:游戏中会有很炫酷的特效,比如爆炸,水花,火焰等;2:unity提供粒子编辑器,方便特效人员来开发很炫酷的特效;3.粒子效果一般有专门的粒子特效师来做,我们只需要拿来用就好了,很多参数没必要掌握。 ParticleSystem... 查看详情

使用CSS在flexbox中水平居中文本?

】使用CSS在flexbox中水平居中文本?【英文标题】:CentertexthorizontallywithinflexboxusingCSS?【发布时间】:2017-03-2621:35:10【问题描述】:我正在尝试为网站制作导航栏。我试图在div中水平居中链接文本。text-align:center;没有成功,align-ite... 查看详情

关于unity中天空盒的使用

天空盒是一个盒子,一个正方形的盒子。其实本身也是一种shader,需要材质球做载体。1:一个场景是由6幅正方形的纹理图无缝拼接而成,在视野看来位于真实的视野一样;2:两种天空盒:  场景天空盒Window->Lighting->Scene->Skybox... 查看详情

关于unity中新版动画系统的使用

Mecanim动画1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的Mecanim动画系统;2:Mecanim支持... 查看详情

unity-------------------------关于gui绘制的编程

转载:在这篇文章中我将给读者介绍Unity中的图形用户界面(GUI)编程.Unity有一个非常强大的GUI脚本API.它允许你使用脚本快速创建简单的菜单和GUI.简介Unity提供了使用脚本创建GUI界面的能力.在写这篇文章的时候,Unity还没有提供一套... 查看详情

关于unity中关节的使用

1:刚体的形状大小在物理世界里面是不变的,可是很多时候,我们需要多个刚体来配合使用;2:关节:连接刚体与刚体的对应的物理模拟;3:关节类型:铰链关节,弹簧关节,固定关节,角色关节,可配置关节 铰链关节1:将两个刚体束缚... 查看详情

关于unity中shader的使用

Shader也叫着色器,是Unity里面比较难的一个点 1:Shader是给GPU执行的程序,中文叫做着色器;2:着色器是运行在图形处理单元上,可以让开发人员直接操作图形硬件渲染功能;3:shader能开发出很多好的效果,UV动画,水,雾等一些特... 查看详情

关于unity中物理引擎的使用

物理引擎控制刚体,刚体上面贴上图片,所以看起来就是游戏运行起来的状态物理世界计算刚体的运行状态,通过贴图显现出运算结果。一、物理引擎1:Unity2D物理引擎基于Box2D封装而成;2:物理引擎模拟物理运动和计算,物理引擎... 查看详情

关于unity中的bmpfont的使用

一、Bmpfont1.把fnt文件和png文件拖进Resources文件夹下面2.创建一个Canvas3.对Canvas进行初始化,记得把Game视图的分辨率调成和Canvas里面设置的一样的分辨率640X9604.创建一个Image的UI节点作为Canvas的子节点,名字叫bg,拖进背景图片到这... 查看详情

关于unity中的ngui和ugui

用Unity开发2D游戏,有三套关系1.GUI:Unity本身的对象2.NGUI:以前在Unity中广泛来做2D的,是第三方的包,需要安装3.UGUI:Unity5.X后,Unity找到NGUI的作者,开发了UGUI,变成内置于Unity中的包,官方主推所有的元素都在Unity的UI工具栏&nb... 查看详情

使用jQuery在区域中水平滚动[重复]

】使用jQuery在区域中水平滚动[重复]【英文标题】:ScrollhorizontallyinareawithjQuery[duplicate]【发布时间】:2017-02-1506:01:21【问题描述】:我目前正在做一个项目,我已经介入了一大堆....一些不开心的事情。这个想法很简单我有具有200... 查看详情