unity_LODFade使用总结
来源:互联网 发布:mac 画流程图的软件 编辑:程序博客网 时间:2024/06/06 07:43
关于草的不同lod晃动效果实现调查
UserStory
想要达到一个效果,草距离近的时候能正常晃动,而当相机离得远了,草越来越小,抖动效果也越来越不明显。调研能否用LodGroup组件和unity_LODFade.x实现。
分析与调查
带LodGroup组件的object创建
建立一个空的GameObject,点击该GameObject,在它的Inspector窗口中点击“Add Component”按钮,在出现的面板中选择Rendering,点击右侧的三角形,出现右侧面板,里面选择LOD Group;即添加LOD Group组件;
点击上面GameObject右侧Inspector窗口中的Lod Group组件,将Fade Mode选择“Cross Fade”如图所示:
点击Lod 0,即上图中蓝色框的内容,则出现下面的“Fade Transition Width”和“Renderers”,这里如图所示将width设为0.5,点击“Renderers”下面的Add按钮,选择草的mesh。
点击culled进行同样的设置unity_LODFade.x值的研究
我们从左向右拖动lod上面的相机滑块,则scene中的相机也相应的越来越远。
我们查看不同远近下,unity_LODFade.x 的变化,用该值来设置草的环境光,如下,o.Albedo = unity_LODFade.x;
如下图所示 上图,在lod0时,unity_LODFade.x一直是0;
在滑到culled时,一开始unity_LODFade.x为0;然后随着滑块向右滑动,该值从0变化到1,然后再从1变化到0,最后草会消失。
两种应用场景 Blend模式 lodGroup组件的Object创建:如图所示, lod0时,只有球。
lod1过程中,一开始是球,后来是方块和球不同阿尔法混合,再是方块。
这里会有中间的不同透明度的混合,是由于加个这些代码:
Tags { "RenderType"="Transparent" "Queue"="Transparent" } LOD 200#pragma surface surf Standard alpha fade#pragma multi_compile _ LOD_FADE_CROSSFADE
还有阿尔法的设置代码
#ifdef LOD_FADE_CROSSFADE o.Alpha = c.a * unity_LODFade.x; //o.Albedo = o.Alpha;#else o.Alpha = c.a;#endif
culled里向右滑动的过程中,方块透明度越来越低,逐渐消失。
Dither模式
lodGroup组件的Object创建:如图所示,
lod0时,只有球。
lod1过程中,一开始是球,后来是方块和球不同阿尔法混合,再是方块。
这里会有中间的不同透明度的混合,是由于加个这些代码:
#pragma multi_compile _ LOD_FADE_CROSSFADE #pragma surface surf Standard vertex:vert #pragma target 3.0 sampler2D _MainTex; struct Input { float2 uv_MainTex; UNITY_DITHER_CROSSFADE_COORDS };void vert(inout appdata_full v, out Input o) { UNITY_INITIALIZE_OUTPUT(Input, o); UNITY_TRANSFER_DITHER_CROSSFADE(o, v.vertex); }
Surf函数里:
#ifdef LOD_FADE_CROSSFADE UNITY_APPLY_DITHER_CROSSFADE(IN);#endif
culled里向右滑动的过程中,方块透明度越来越低,逐渐消失。
- unity_LODFade使用总结
- 使用总结
- 【eXtremeComponents总结系列】使用总结
- 【eXtremeComponents总结系列】使用总结
- AFNetworking使用总结 与使用
- Notification使用总结(基本使用)
- Tiles使用心得,使用总结
- WSE使用总结
- MASM宏使用总结
- 水晶报表使用总结
- struts+hibernate使用总结
- MASM宏使用总结
- 转载 内存使用总结
- MySQL使用总结(1)
- MiddleGen的使用总结
- Libpcap使用总结
- CTime 使用总结
- VC ODBC使用总结
- react整合webpack时,遇到的syntaxerror
- 最小树形图(朱刘算法)
- 分治法解决最大连续和
- iOS学习之路05
- 在CentOS 7中安装与配置JDK8
- unity_LODFade使用总结
- Retrofit2 源码解析
- Python : bp神经网络
- 10、vue.js 之render
- 移动端开发——zepto和jquery mobile的区别
- 使用纯文本方式编写软件设计文档
- spring——xml文件配置
- wifi一键配网smartconfig原理及应用
- 打包时候能转动camera的脚本