游戏开发
文章平均质量分 81
梦鸢MoYuan
unity开发,求职中,捞我!
展开
-
Unity-透明物体渲染方式对比汇总
先说结论。直接混合确实会有模型内的先后顺序穿插,但是模型简单的话并不明显。我们甚至可以使用其他技术来减少这一区别,比如基于 相机和像素点的距离,距离越近透明度越高。这样可以解决大多数穿插问题。对于复杂模型来说多次pass渲染是必要的(多Material渲染性能比较差)。● 如果不需要考虑不同透明物体相互穿插,那么ZWrite Off(ZTest On,Cull Off)就能获得很好的效果。原创 2023-01-09 07:22:04 · 1775 阅读 · 4 评论 -
实现Unity Forward 多光源实时阴影Shader
实现点光灯,聚光灯,平行光阴影。如果需要自定义衰减值也可以自己通过宏来区分光源的类型,来自定义对不同光源的衰减值进行处理:原创 2022-11-16 00:15:01 · 1122 阅读 · 0 评论 -
OpenGL相机自由移动旋转缩放,四元数,欧拉角,LookAt
当我们讨论摄像机/观察空间(Camera/View Space)的时候,是我们在讨论以摄像机的透视图作为场景原点时场景中所有可见顶点坐标。观察矩阵把所有的世界坐标变换到观察坐标,这些新坐标是相对于摄像机的位置和方向的。定义一个摄像机,我们需要一个摄像机在世界空间中的位置、观察的方向、一个指向它的右侧的向量以及一个指向它上方的向量。细心的读者可能已经注意到我们实际上创建了一个三个单位轴相互垂直的、以摄像机的位置为原点的坐标系。原创 2022-11-04 00:34:43 · 3542 阅读 · 1 评论 -
(最简单的)VS-2022搭建opengl开发环境
opengl开发前置必须:C++基础,VS开发环境。在C++中使用OpenGL需要配置多个库。为了让安装变得更简单,这里使用最新的C++的包管理器。~~C++终于有包管理器了,结束了手动编译时代~~ ,当然如果你不用那就只能下载源码,然后手动编译。而且还要自己在项目中引入包。●C++开发环境;●OpenGL / GLSL;●窗口管理;●扩展库;●数学库;●纹理管理。原创 2022-10-25 12:47:22 · 4911 阅读 · 3 评论 -
GAMS101-windows10-开发环境搭建避坑
为了学个GAMES101是真的不容易,官方虽然提供了Ubuntu开发环境镜像,但网盘下载贼慢,而且据说问题贼多。于是我尝试在windows10上搭建环境,先下载个vs2022,然后编译完全不通过。搞了一天一夜终于找到问题。原创 2022-10-17 17:28:01 · 961 阅读 · 0 评论 -
Unity-Matcap材质捕捉和薄膜干涉效果
于是可以利用边缘光的计算思路使用 NdotV,然后反向可以得出一个边缘值大,而中心点值小的数据。将数据带入X(横向,取决于纹理方向),然后固定UV中Y的值即可完成类似采样。Material Capture(材质捕捉技术)技术:通过很简单的技术表现出很不错的效果。使用相机空间下的法线作为UV进行纹理采样,将图片上的圆形纹理图完全还原到物体上。将一张这样的纹理读取成这个样子,也就是需要在边缘的读取到右边,中心读取左边。这种改进效果可以说十分明显,基本上完全还原材质球的样子了。适用于比较圆滑的物体采样。原创 2022-10-15 18:55:15 · 1567 阅读 · 0 评论 -
Unity 3D数学\图形学基础-游戏开发(向量)
若坐标系是满足右手定则的,当右手的四指从a以不超过180度的转角转向b时,竖起的大拇指指向是c的方向。且有:a // b (平行), 则 a / ||a|| = b / ||b||,a,b!点乘的结果描述了两个向量的相似程度(方向接近程度),点乘的夹角越小,两个向量越接近。可得向量间夹角为:cosX = (a * b) / (||a|| * ||b||)a * b = ||a|| * ||b|| * cosX, X为向量夹角。标准化向量只表示了向量的方向,剔除了向量的大小。原创 2022-10-14 20:27:50 · 1794 阅读 · 0 评论 -
Unity渲染管线流程
多相机渲染CPU渲染管线层级剔除遮挡剔除发送数据(将所有数据打包,发送给GPU)GPU渲染管线图元装配及光栅化执行裁剪裁剪空间转换到NDC计算NDC背面剔除图元装配光栅化片元着色器Shader纹理寻址模式纹理压缩格式光照计算光照模型经验光照模型环境光输出合并Alpha测试模板测试深度测试混合Blending后处理。原创 2022-10-13 09:00:00 · 7105 阅读 · 0 评论