写这篇时是自己的总结,也是综合了很多其他文章的

因为一般的提问只能解决很少的问题,而且通常不管用,所以自己总结了下



1.首先在edit-project setting-quality可以试着调整里面的选项


unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_白边



2.注意屏幕分辨率,在不同的分辨率下,有的时候是会出现锯齿的,最好能在确定的分辨率或者全屏情况下测试

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_unity_02

3.在摄像机上加上自带的Antialiasing脚本(unity5需要自己下载image effect插件 是unity5没有在集成在里面了)

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_unity_03


4.烘焙场景,改善模型和灯光,或者成像设备


5.上面几个是一般会注意到的,但是有时还会在模型编译出现黑色黑边,这个需要调节灯光(一般是平行光引起)把Bias调高,这个是法线引起的,所以调节后可以看到明显降低或者消失


unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_投影_04

改变后的(注意红色部分)

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_投影_05

6关于摄像机的设置

摄像机对于画面影响很大的,特别是里面的rendering path选项

里面的defered(延迟渲染 默认应该是正向渲染)可以把下面的白色边(锯齿)去掉,但是有个问题就是这种需要硬件支持(现在硬件一般都支持的)而且目前有个问题(指的是5.0)这种模式下方法1中超采样会失效,就会出现锯齿,需要结合方法3来抗锯齿

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_投影_06

7当然还有种简单方法去掉白边,因为白边是超采样产生的,可以关掉就能没有白边了(反射原因),但是有明显锯齿,可以结合方法3解决


8方法3可以替换成网上其他抗锯齿的脚本,有很多种的,新手一般容易遇到的锯齿都可以通过这几步解决的


9方法,多重阴影问题 也是方法6产生的 最好还是延迟渲染 下面是几种对比(场景中有多个平行光和点光)

1forward正向渲染(可以看出灯光投影有限制,投影很少)

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_unity_07

2defered延迟渲染(很完整)

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_unity_08

3legacy vertex旧版本顶点渲染(最基本的 没有投影)

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_unity_09

4legacydefered旧版本延迟渲染(也别用了,有投影限制)

unity 相机正交投影 算屏幕位置屏幕坐标到世界坐标 unity投影畸变校正_投影_10


10  模型在不同远近出现黑白线问题

(1)mipmap 质量可以在贴图 advanced里面 有Generate Mip Maps勾去掉
这个可以改善远处模型有线的问题

(2)改善模型贴图,贴图不能正好贴合边缘的,最好扩充2~3像素(这也和mipmap有关)

(3)Aniso Level 各向异性等级,从不同角度看一个平面的时候改善质量

5.8.2016补充

11 相机近切平面和远切平面距离不能过大,大了会造成深度差不多的远处物体有闪烁

12 地形过大,过大会造成投影贴图质量下降

13特写,需要官方的一个例子里面重写了自投影的优化方式

8.25.2016补充

14 摄像机的近切平面太小,会导致地形投影闪烁,最好保持在0.1以上的值