
Unity
文章平均质量分 59
雨果66666
游戏程序员,目前在二线游戏公司里学习
啊,还有这么多没有学完~~~~~~
啊,怎么才能进腾讯~~~~~~~~
啊~~~~~~~~
展开
-
Unity Shader 内置的函数 和 基本光照模型实现
Unity Shader 内置的函数UnityCG.cginc中常用的一些帮助函数 函数名 描述 float3 WorldSpaceViewDir(float4 v) 输入一个模型空间中的顶点位置,返回世界空间从该点到摄像机的观察方向 float3 UnityWorldSpaceViewDir(float4 v) 输入一个世界空间中的定点位置,其余同上...原创 2018-07-30 13:36:14 · 699 阅读 · 0 评论 -
【Unity学习】使用UnityShader的纹理动画效果实现滚动的背景
这次学习基本抄书了Unity Shader内置的时间变量 名称 类型 描述 _Time float4 t为从加载到现在的时间,4个分量: (t/20, t, t*2, t*3) _SinTime float4 4个分量: (sin(t/8), sin(t/4), sin(t/2), sin(t)) _CosTime float4...原创 2018-08-01 15:19:54 · 1645 阅读 · 1 评论 -
【Unity学习】Unity的阴影基础实现(Shadow Map)
Shadow Map的实现原理在实时渲染中,我们最常使用的是一种名为Shadow Map的技术。即将摄像机位置与光源位置重合,那么场景中的阴影区域就是摄像机看不到的地方,在Unity中就是使用的这种技术。 再前向渲染路径中: 其实我们只需要得到在以上这种情况下的深度信息就行了,所以没必要再像计算光照那样,使用BassPass 和 Additonal Pass来更新深度信息来得到阴影映射纹理...原创 2018-08-01 14:10:53 · 3317 阅读 · 0 评论 -
【Unity学习】 Unity中的光照渲染(一)前向渲染和延迟渲染
Unity的渲染路径现在的Unity渲染路径主要有两种: 一、前向渲染路径(Forward Randering Path) 二、延迟渲染路径(Deferred Rendering Path) 三、顶点照明渲染路径(残留,已被抛弃) 四、旧的延迟渲染路径在大多数情况下,我们可以通过Edit->Project Settings->Player->Other Setti...原创 2018-08-01 13:41:30 · 4551 阅读 · 0 评论 -
【Unity学习】Unity Shader 实现透明效果(2) 透明度混合
Blend 命令为了进行透明度混合,Unity为ShaderLab提供了Blend命令: 命令 描述 Blend Off 关闭混合 Blend SrcFactor DstFactor 开启混合,设置混合因子,前者乘以源颜色,后者乘以目标颜色,相加 Blend SrcFactor DstFactor SrcFactorA DstFactorA ...原创 2018-08-01 01:17:10 · 1594 阅读 · 0 评论 -
【Unity学习】Unity Shader 实现透明效果(1)
获得透明度效果的两种方法在Unity中,可以使用两种办法来获得透明效果: 1. 使用透明度测试(Alpha Test),但其实得到的并不是真正的半透明效果 2. 使用透明度混合(Alpha Blending),得到的效果是比较真实的渲染顺序问题1.对于不透明的物体,不考虑渲染顺序也能产生正确结果,因为有深度缓冲(Z-buffer) 2.对于半透明物体,这招就不管用了,因为在使用透...原创 2018-08-01 00:08:48 · 3374 阅读 · 0 评论 -
【Unity学习】Unity中的常见性能优化
遮挡剔除技术对于不在摄像机拍摄范围内的对象,对这一对象的绘制是完全没有必要的,所以可以用到遮挡剔除技术将静态物体勾选static选择Windows->Occlusion Culling打开遮挡剔除窗口,单机Bake修改bake界面的参数大小,可以修改Bake的单元的大小单机Bake按钮进行烘焙在场景右下方会出现Occlusion Culling下拉列表,选择Visualiz...原创 2018-07-31 22:14:04 · 543 阅读 · 0 评论 -
【Unity学习】Unity中本地持久化Playerprefs类
Playerprefs类简述unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs。 它以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。 可以存储的数据类型为int、float和stringPlayerprefs类静态方法 方法 说明 SetFloat(“Name”,float),SetInt(“Name”...原创 2018-07-31 10:12:49 · 320 阅读 · 0 评论 -
Unity Shader 中实现凹凸映射
使用切线空间每一个顶点都有自己的切线空间。在该空间中,z轴是顶点的法线方向,x轴是顶点的切点方向,而y方向则是两者叉积的方向。 我们需要在顶点着色器中把视角方向和光照方向从模型空间变换到切线空间中,即我们需要从模型空间到切线空间的变换矩阵。而很好求的是,这个变换矩阵的逆矩阵正是在顶点着色器中切线(x轴),副切线(y轴),法线(z轴)的顺序!!按列!!排列即可得到。 并且,如果变换中仅存在平...原创 2018-07-30 18:03:30 · 717 阅读 · 0 评论 -
【Unity学习】 真实的水面效果开发
这个水面的特效真的是太难做了,调整了好久好久我才把它写好实现真实水面的相关要求使用凹凸纹理 让水面有起伏感,产生水面有细小波纹的效果使用FTT制作水面的波动 对于水面上的某一个点,其当前的水波可以由若个正舷波叠加得到添加高光 添加高光主要是水面对阳光和灯光的反射添加反射 反射主要是在水面位置使用一个摄像机,然后将这个摄像机拍下的画面取反贴在水平面上。纹理扰动 不能光将反...原创 2018-08-02 11:12:09 · 10084 阅读 · 4 评论