Unity Shader
achonor
早起的虫子被鸟吃..
展开
-
UnityShader 世界坐标不随模型变化
今天遇到一个大坑,记录一下上面两行代码结果是一样的,导致世界坐标一直等于模型坐标原创 2022-06-20 02:03:04 · 454 阅读 · 1 评论 -
UnityShader 翻书效果
Shader "Achonor/TurnBook"{ Properties { _MainTex ("FrontTex", 2D) = "white" {} _BackTex ("BackTex", 2D) = "white" {} _Speed ("Turn _Speed", Range(0, 1)) = 0.5 _XOffset ("Centor X Offset", float) = 5 _Angle .原创 2022-02-09 11:53:16 · 2241 阅读 · 0 评论 -
UnityShader Reversed-Z的理解
今天遇到一个奇怪的问题,屏幕后处理时使用_CameraDepthTexture还原世界坐标的时候出问题了,多番调试发现_CameraDepthTexture中保存的深度值 depth = 1 - Zn (Zn指NDC的z分量,即透视除法后的坐标z)(假设NDC坐标取[0, 1]),至于为什么要这样可以看看下面的文章Reversed-Z详解-幽玄Nvidia的关于Reverse-Z的文章我的理解:当相机是透视投影模式的时候Zn是非线性的,Zn和相机空间下Z轴的关系如下:从图中可以看出,近裁剪平原创 2020-05-17 00:00:40 · 1678 阅读 · 1 评论 -
UnityShader 总是朝着摄像机的帧动画 Billboard
// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'Shader "Achonor/Billboard"{ Properties { _MainTex ("Texture", 2D) = "white" {} _RowAmount ("Row Amount", Float) = 4 _Colu...原创 2020-04-30 20:58:53 · 585 阅读 · 0 评论 -
切线空间的法线贴图使用
法线纹理TextureType设置为Normal Map(使用Unity内置的Shader必须设置为Normal Map)设置为Normal Map的贴图在不同平台Unity会采用不同的压缩方式法线的z方向始终为正,法线纹理存储的是单位向量,所以只需要保存法线的x, y方向对法线贴图进行纹理采样后需要使用UnpackNormal来获得真正的法线(DXT5nm格式压缩的纹理a对应x,g对应y...原创 2020-04-19 13:27:04 · 620 阅读 · 0 评论