会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Lain_vv
博客园
首页
新随笔
联系
订阅
管理
2020年11月22日
Unity 2D Light (4) - 平行光
摘要: 平行光 2D这里主要是指有高度的光,即限定了影子的长度。 Shadow Mesh 限定影子长度生成的Mesh有很多种,可以根据实际情况,选择不同的方案。 平移Sprite顶点(自动生成的Sprite Vertex 或者 Custome Physics Shape 顶点),然后使用凸包形成新的影子外形
阅读全文
posted @ 2020-11-22 15:11 Lain_vv
阅读(967)
评论(0)
推荐(0)
2020年11月15日
Unity 2D Light (3) - 半影
摘要: 半影方案 之前用来生成lightMesh的端点扫描的方案并不适合生成ShadowMesh,主要原因是光源体积边缘的点和光源中心点的端点顺序可能不同。虽然端点排序很快,但也不可能每个半影区域都排一次,即使有优化方案,代码的复杂度也会很高。 使用Shader绘制阴影(包括半影)比较简单,而且效率很高。个
阅读全文
posted @ 2020-11-15 00:16 Lain_vv
阅读(675)
评论(0)
推荐(0)
2020年11月8日
Unity 2D Light (2) - 渲染
摘要: 光与阴影的渲染 光与阴影的渲染需要两类贴图,LightMap(光照贴图) 和 ShadowMap(阴影贴图)。 每个光源都需要渲染一张LightMap、ShadowMap。LightMap 是光渲染结果,ShadowMap 是阴影渲染结果。 两者可以同一次渲染,分开渲染是为了之后做软阴影或半影。 这
阅读全文
posted @ 2020-11-08 21:23 Lain_vv
阅读(846)
评论(0)
推荐(0)
2020年10月28日
Unity 2D Light (1) - Light Mesh
摘要: 2D阴影 生成2d阴影一般有两种方案,一种是基于物理射线生成Light Mesh(也有叫ShadowMesh,我觉得叫LightMesh更贴切点)。另一种同unity3D阴影原理,就有是生成ShadowMap。 这篇记录使用射线生成LightMesh的两种方法。 方法1:通过射线扫描可视区域 因为使
阅读全文
posted @ 2020-10-28 10:28 Lain_vv
阅读(542)
评论(0)
推荐(0)
2020年9月29日
Shader学习笔记 06 - 贴花
摘要: Mesh Decal 1. 获取与投影框相交的mesh 多种方法如:手动指定、遍历静态物体、碰撞检测、搜索等等。 2. 将Mesh的顶点、法线转换到投影框的模型坐标系内 主要是为裁剪做准备。 var mesh = meshFilter.sharedMesh; // 相交物体的 Mesh List<V
阅读全文
posted @ 2020-09-29 14:56 Lain_vv
阅读(882)
评论(0)
推荐(0)
Shader学习笔记 05 - 2d火焰
摘要: 2D程序式火焰 火焰一般包括焰心、内焰、外焰,至少要有内焰、外焰的区分,另外有烟,火花,热扭曲之类的效果。 基本原理很简单,就是使用梯度值(一般是uv.y)截取不断上移的噪声值来形成火焰效果。 截取方法可以定值截取,也可以插值截取 1. 定值 参考博客 使用step区分内外焰,效果上类似卡通火焰(t
阅读全文
posted @ 2020-09-29 14:52 Lain_vv
阅读(1250)
评论(0)
推荐(0)
2020年8月11日
Shader学习笔记 03 - 草
摘要: 草对象 线性排列 (图片取自gpu gem1) 顶点最少、需要对应纹理、法线等贴图。效果不好。固定视角;远处;或者加上广告牌(billboard)效果(eg:游戏漫漫长夜,如果不绕着草转不一定能发现)可采用。 交叉多边形 顶点少、需要对应纹理、法线等贴图。 自定义模型 顶点多,更灵活,效果更好。 C
阅读全文
posted @ 2020-08-11 11:10 Lain_vv
阅读(540)
评论(0)
推荐(0)
Shader学习笔记 04 - 积雪
摘要: 积雪判定 同一坐标系下法向量与雪的方向点乘,可以控制雪的方向 使用世界坐标系法线的g通道值,无法控制雪方向,省了点乘操作 雪颜色 纹理贴图:通过世界坐标的xz值采集,需要无缝贴图(seamless texture) 半兰伯特(half Lambert)+ 渐变纹理 雪厚度 将顶点依法线向外偏移(非后
阅读全文
posted @ 2020-08-11 11:09 Lain_vv
阅读(554)
评论(0)
推荐(0)
2020年5月25日
Shader学习笔记 02 - 水(无光照)
摘要: 反射、折射贴图 1. 使用GrabPass 2. 使用相机的Render Texture render texture的高宽比一般与相机viewport的高宽比相同。 扭曲 Distortion 扭曲的方法多种多样,一般原理都是使用时间错位(time offset)获取两次扭曲结果,然后将两者组合起
阅读全文
posted @ 2020-05-25 09:56 Lain_vv
阅读(513)
评论(0)
推荐(0)
Shader学习笔记 01 - 溶解
摘要: 一般3D溶解 边缘溶解 使用噪声贴图或者程序噪声,通过范围0 1的float材质参数在片元着色器进行 clip 操作。 边缘颜色 使用hdr、渐变纹理(RampTexture)、bloom提高效果。 程序噪声参考 "link" 示例源码: Shader "DissolvePack/unlit/Dis
阅读全文
posted @ 2020-05-25 09:55 Lain_vv
阅读(617)
评论(0)
推荐(0)
公告