V
主页
京东 11.11 红包
【Unity3D Shader】瓶中的晃动液体
发布人
【Unity3D Shader】瓶中的晃动液体 技术实现: 脚本: 1、做一个晃动的正弦波 time += Time.deltaTime; //逐渐增长的值 pulse = Mathf.PI * WobbleSpeed; //晃动的速度 // 然后把它们变成正弦波, 将正弦波发送到着色器 (用 sin(time) 模拟一个晃动) wobbleAmountX = wobbleAmountToAddX * Mathf.Sin(pulse * time); //晃动加速度 * (-1, 1)的值 = 左右晃动 wobbleAmountZ = wobbleAmountToAddZ * Mathf.Sin(pulse * time); //晃动加速度 * (-1, 1)的值 = 左右晃动 2、在物体移动的时候计算速度和角速度, 把这个速度增加到 Wobble 的 X和Z velocity = (lastPos - transform.position) / Time.deltaTime; //(位置速度) 定值 / 增长的数 = 逐渐变小的导函数 angularVelocity = transform.rotation.eulerAngles - lastRot; //(旋转速度) 当前速度 - 上一帧最后的速度 = 每一帧的速度差值 着色器: Tags { "Queue" = "Geometry" "DisableBatching" = "True" } Zwrite On // 后面使用"fixed facing : VFACE", 所以开启双面渲染 "Cull Off" Cull Off // 保留模型正面和背面不裁剪 // (开启透明)后面液体黑色部分变为透明 AlphaToMask On // 透明度(是否启用GPU上的alpha-to-coverage模式(当开启MSAA时,减少AlphaTest产生的过度锯齿感)) 1、基于脚本中的正弦波,将旋转与worldPos结合起来 // 用 顶点的世界坐标WorldPos + (WorldPos * 晃动的正弦波SineWave) // 将脚本中晃动的世界位置加在一起, 将根据物体的运动摆动"液体" float3 worldPosAdjusted = worldPos + (worldPosX * _WobbleX) + (worldPosZ * _WobbleZ); 2、泡沫边缘 // 液体上层的效果: 在剩下的液体的颜色的step()基础上减去一个范围小一点的step(), 得到一个泡沫光环 // 两个变量 _FoamWidth用于液体的泡沫层的厚度, _FoamColor用来区分上层 _TopColor的颜色 float4 foam = (step(i.fillEdge, 0.5) - step(i.fillEdge, (0.5 - _FoamWidth))); float4 foamColored = foam * (_FoamColor * 0.9); 3、VFACE: 表面(法线朝外)为正,反面(法线朝内)为负 // 使用"fixed facing : VFACE", 使法线朝内的面为纯色, 所以看起来有一个体积 // facing > 0: finalResult(液体颜色) // facing <= 0: topColor(泡沫颜色) return facing > 0 ? finalResult : topColor; 参考教程链接: https://www.youtube.com/c/MinionsArt/featured
打开封面
下载高清视频
观看高清视频
视频下载器
【Unity3D Shader】迷雾特效_深度视野
【Unity3D Shader】可交互花_可交互草地
【Unity3D Shader】植物生长_顶点动画
【Unity3D Shader】模型溶解消散
【Unity3D Shader】植物摆动
【Unity3D Shader】保护罩
【Unity3D Shader】水面交互涟漪
【Unity3D Shader】小球进布
【Unity3D Shader】球体渐变方块
【Unity3D Shader】模型虚线描边
【Unity3D Shader】穿墙透视
【Unity3D Shader】漂浮方块
【Unity3D Shader】雪地交互痕迹
【Unity3D Shader】笼中窥梦_模板测试
【DirectX HLSL】可交互花_可交互草地
【Unity3D Shader】弧形道路
【Unity3D Shader】场景扫描_深度检测
【Unity3D Shader】X光扫描_XRay透视
【Unity3D Shader】模型扫描
【Unity3D Shader】NPR_卡通渲染
【Unity3D Shader】毛发_绒毛
【Unity3D Shader】信号毛刺_信号干扰
【DirectX HLSL】模型溶解消散
【DirectX HLSL】模型扫描
仿少女前线角色渲染工程
【DirectX HLSL】简单水体
【Unity3D 教程】平滑模型的法线_法线挤出模型描边
【unity游戏特效】雷击特效拆解教程
TA作品集-找实习用 | 25届
【DirectX HLSL】信号毛刺_信号干扰
unity邪门操作:默认管线转URP管线 (特效部分)
幻塔1.0,但是Unity
【2020腾讯高校游戏大赛】Mono
【PBR拓展】unity镭射材质
[Unity/URP] 绝区零人物卡通渲染逆向还原
如何用ASE把默认管线shader转成URP的版本(unity一分钟小教程)
枯藤, 老树, 昏乌鸦. 激光, 护盾, 冲击波. 元素神殿虚幻特效课程 - 直播录屏 Week.163.B
[技术美术] 球形凹陷实时渲染算法
【Unity3D Shader】卡通水体_风格化水体
Unity Avatar 换装