自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 unity实现风格化动态天空盒

入职已经四个月了,越来越迷茫了,似乎来的时候是什么样子好像现在也没什么变化。希望以后能转图形(技术向TA?),但是又不清楚实际工作中的需求,盲目写东西似乎有一种摸着石头过河的感觉。而且说是以后有机会转,但是一直做客户端逻辑的话,感觉就是在特定框架下进行重复性的内容填充,除了自己自学外似乎就没有成长的机会了。发发牢骚。。进入今天的主题,在Unity下制作风格化的动态天空盒,参考了https://zhuanlan.zhihu.com/p/197107007的做法,并进行了修改。实现结果如下:实现方法:昼

2020-10-31 18:26:53 1527

原创 最近写的一些好玩的东西

最近时间比较宽裕,继续学了些东西。做个简单小结,不深入具体。水面涟漪求解了波动方程,并根据求解所得的高度图得到法线贴图。再根据法线去偏移UV。水面的反射是用平面反射做的。简单的后处理 – 深度雾,bloom,色调映射拿到当前场景的深度,转化为线性/01的深度值后,做指数/线性计算再和当前场景颜色进行插值。这里有个恶心的地方是老管线里面的深度图是走shadowCaster这个pass,似乎是需要fallback的,否则无法写入到深度图里面。而公司里面用的URP,似乎是直接能够拿到这张深度图而不用

2020-09-11 15:30:16 336

原创 GAMES101学习笔记 lecture14 作业6

**lecture14 光线追踪加速**原因:对于一条光线,我没有必要对场景所有的三角面求交,那样太慢。想法:构建包围盒,如果没有命中,则没有必要取对包围盒内的三角面求交。KD-Tree 划分空间,每次选一个轴,对空间进行划分。可能存在有一个三角面被多个包围盒记录。BVH:划分物体的三角面。同样的,每次选一个轴,之后可以采用取包围盒中心,中位数等方法进行划分。分布较为均匀。细节就不多说了,作业里有。**作业6**包围盒求交inline bool Bounds3::Intersect

2020-08-14 23:01:35 1633 4

原创 GAMES101学习笔记 lecture11-lecture13 作业4-作业5

**lecture11 and lecture12**lecture11和lecture12,主要了解如何递归的去求解贝塞尔曲线,曲面细分和简化的一些方法。作业也很简单,这里就不再多说了。提一下lecture12末尾的shadowmap。在光栅化中,做求解阴影是很难直接求解的。shadowMap的原理就是在光源方向再放置一个摄像机,通过一个只处理深度的shader把场景的深度信息存入到一张贴图中。那么处理遮挡信息就变成了,在主相机渲染时,将世界坐标下的点转换到光源相机的view空间中,通过对比深度计

2020-08-14 22:34:59 780

原创 笔记:在Unity下的基于模型的体积云

最近在群里看到有兄弟推荐玩光遇,对他的云渲染有些兴趣,准备找找资料仿照一下。大体的思路就是 基于模型的体积云.这个博客的方法。这个方法的优点是性能需求低,同时可以构造自己的模型来生成任意形状的云。大体的思路就是对给定的mesh,进行多次绘制。每次绘制的时候,沿着法线向外扩一些距离,根据noise进行clip。在脚本端,设置material所需的参数。for (int i = 0; i < DrawCount; ++i){ offsets[i] = (GetOffset(i));

2020-08-03 20:53:43 3598 1

原创 GAMES101学习笔记 作业2,作业3

**作业2**因为Zbuffer这一章比较简单,就不细说,直接写作业。今天的任务是进行光栅化。1:创建二维BoundingBox BoundingBox bbox; bbox.xmin = std::min(t.v[0][0],std::min(t.v[1][0],t.v[2][0])); bbox.xmax = std::max(t.v[0][0],std::max(t.v[1][0],t.v[2][0])); bbox.ymin = std::min(t.v[0]

2020-08-03 16:47:19 6083 2

原创 GAMES101学习笔记(前6章)

公司大哥强烈推荐,学习GAMES101,在这记录一下。前面几个章节简单的回顾了一下线性代数方面。这里不一一列举了,总结下重点。一:齐次坐标下的点 w = 1 ,而向量的w = 0。二:向量叉积满足右手定则,大小相当于两个向量所围成的平行四边形的面积。应用广泛,求重心坐标的时候好像也用到了。三:绕轴旋转的矩阵的推导:将当前向量分解为垂直轴和平行轴的。旋转只会改变垂直于轴的分量,因此,只需求解垂直轴的分量在旋转后的大小即可。旋转后的向量可以用 vcosθ + wsinθ表示。其中v是垂直分量,w是垂直

2020-07-28 22:29:33 613

原创 记一次合并贴图的问题

项目里面需要做一个蒙皮网格的合并。由于是在编辑器下的合并,贴图合并参考了雨松老哥的博客。https://www.xuanyusong.com/archives/4729 。 static Texture2D Combine(Texture2D []texs, ValueTuple<int,int>[]offests,int size) { Texture2D @out = new Texture2D(size, size, TextureFormat.RGBA32

2020-07-07 23:55:09 686

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除