参考
- cod16,有点假,境内阴影方向与众不同

- PUBG,还行,但能看到镜内壁

-
塔科夫,不错,比较接近期望效果

-
真实瞄具


从末端看是这样的(凸透镜呈像原理)

从视角端看是这样的,能看见很短的镜内距

边沿有模糊效果(境内黑影)

- 准星
准星实现原理就是转到局部空间,然后向前推进,这边一定要用局部空间,世界空间旋转物体本身后准星位置就变了,不符合物理
上色部分

红色部分其实可以算出来
(1-G通道)*R通道
然后可以这样给红色部分颜色
(1-step(红色部分,0.5))*Tint
所以其实可以直接用A通道当Mask来用,其他通道去掉这个
也就是说没有其他颜色来占用通道的话可以用RG两个通道
Alpha相当于B通道反转拿到的(Alpha图要有这个准星)
效果:

贴图规则:
1.需要变色的部分是红色(255,0,0)

2.需要变色的部分以白色要放在A通道

保证图片在PS中没有下图的灰度值,不然准星颜色会溢出

- 遮罩
遮罩分为两部分,一部分是模拟近处的一部分是模拟出镜距的
近处直接就是UV平面做的(这个需要注意模型空间坐标系的轴向)

另一部分是用fresnel,因为需要基于视角中心,所以用fresnel
然后两个和在一起就是这样

