阅
Unity Shader 结课作业 —— 太遠
标题用繁体,是因为感觉简体的“太远”不够意思,所以用繁体。 本作业提交时间:2021年11月16日
😖 简要介绍
blender建模,人头改模自扫描雕塑、手来自扫描雕塑。拓扑是本人人工拓扑。其余都是自己做的。
场景由 鸟笼、水池、云山、被锁链束缚的人 构成。
云山的高度贴图由Substance Designer制作。
西柚西 动画学院游技大二下学期 图形特效编程 结课作业要求:
1️⃣作业应包含一份Word文档(要求有动态截图、代码和文字描述)以及独立的结果视频,能交互的版本大家自行留好;
2️⃣有山有水有角色,有静有动有交互,有顶点有片元有着色器,有抓屏或后处理。
💜 效果展示
💔 Shader Graph 展示
☁️ 云山
云山——动 + 山 + 顶点变换 + 与移动的Gameobject、UI 滑动条的交互
1️⃣子着色器
动的子着色器!通过时间与UV采样的偏移实现动态的效果。
暴露的scale和速度可以加以控制。
2️⃣扰动
红框为扰动用噪点,连上了实现动态的子着色器,以扰动基本色、第一层高度图。
绿框是第二层噪点,调整到合适的范围后与第一层噪点相加,两层移动的速度不同,可以做出云层流动的生动效果。
3️⃣鸟笼位置交互
计算鸟笼位置与当前顶点的距离,用smoothstep取到一个顺滑的值,靠近鸟笼位置的会较低。半径值暴露出可在互动界面的UI Slider 调试。
4️⃣收尾
与法线方向相乘后连上vertex position,完成。
🐋 流水
潭水、湖水与流水——水,抓屏,动态
0️⃣建模流程注意
水流的UV需要连续拼排为方形,注意方向,以保证UV的流动正确。
1️⃣水流方向
Y受影响,向下流淌(押韵
2️⃣扰动与折射
由动态的扰动贴图计算为法线贴图,与屏幕位置相计算再和抓屏的采样得到折射后的面貌。
3️⃣深度图子着色器
4️⃣颜色
由深度插值基本颜色。
5️⃣透明度与浪花
基本色的透明度与抓屏折射后的颜色插值,再计算浪花。
6️⃣浪花范围
深度图计算浪花范围。