万花谷吧 关注:651,824贴子:8,010,391

【PVX技巧分享】视差法3D截图

只看楼主收藏回复

视差3D是让人的双眼分别观察两张类似但是略微不同的图片(分别为左眼视角和右眼视角),通过大脑处理,形成3D视觉的方法,广泛应用于电影、VR领域,是一种常用的3D技术。例如在3D放映厅看3D电影时,左眼和右眼图像分别被起偏器置于不同的偏振方向上,通过带有不同透振方向的偏振镜片制成的3D眼镜使对应的图像分别进入左右眼,从而达到3D视觉效果。视差3D其实是一种伪3D技术,因为实际上它只提供了2D x 2的图形信息。
这不是什么新鲜的东西,早在多年以前就被人们熟知与广泛使用。但是在各类PVX贴中暂时未见到相关的介绍与应用;加上此玩法比较老旧,很多年轻的玩家可能甚至没有了解过。本文对其进行简要的总结,希望能给PVX新玩家带来新的乐趣,也希望尚未了解此方法的资深PVX玩家能给大家带来更加精彩的视觉享受。
最近网络不太好,楼主可能会毫无预兆的突然消失,有可能是网断了,或是图片上传失败。


IP属地:安徽1楼2018-09-02 22:28回复
    假装2楼是召唤大佬们的大旗


    IP属地:安徽2楼2018-09-02 22:29
    回复
      来了来了来了来了


      来自Android客户端3楼2018-09-02 22:30
      收起回复
        注意事项:视差3D的前提是双眼均能正常视物(可以使用眼镜等辅助工具),任何一个眼的视力缺陷都可能导致无法使用此方法获得3D视觉;双眼视力差距较大者,即使正确佩戴眼镜也可能无法获得良好的体验;部分人反应在使用此方法观察后有不适感,请在尝试之前了解这些并决定是否继续。如果你曾有观看3D电影的经历并能正常获得3D视觉且无任何不适感,通常情况下你可以轻松使用此方法进行观看;如果你曾有观看3D电影的经历并能正常获得3D视觉,但是在观看后有不适感,则应该减少使用此方法观看的持续时间;特别的,如果你带有不适感的3D观影经历是在影院的前排观看(尤其是在巨幕厅的情况),则你的不适感未必是你自身的原因。如果你曾有观看3D电影的经历但是无法正常获得3D视觉,那么此方法可能对你不适用。


        IP属地:安徽4楼2018-09-02 22:32
        回复
          这是一个“平行眼视差3D截图”的实例,如果你会“平行眼”法观察这类图片,你应当已经获得了3D视觉效果;如果你不会“平行眼”法观察但是会“交叉眼”法观察,则可以自行将左右图片交换并进行观察;如果你有VR眼镜,在可以在手机上将此图横向全屏显示并插入VR眼镜中观察以获得3D视觉效果。


          IP属地:安徽5楼2018-09-02 22:35
          回复
            如果你有红青(红蓝)3D眼镜,则可以使用红青3D眼镜来观察下图获得3D视觉效果,但是这种会损失颜色信息。
            附注:我自己没有红青眼镜,我也不知道效果如何,可能是很糟糕的


            IP属地:安徽6楼2018-09-02 22:37
            回复
              内容楼主已经写好了,所以发的会比较快,趁着网络没有问题多蹦跶一会
              存货发完了之后可能会不定期更新一些东西。
              以下是此类图片的生成方法,其内容包括原始图片截取、制作静态裸眼视差3D图片(同时也是可以用VR眼镜观看的3D图片,下同)、制作动态裸眼视差3D图片、制作静态红青3D图片以及制作动态红青3D图片。
              我想现在很多人看到这里应当已经知道如何去做了,那么以下内容可以不用看了。
              原始图片生成工具:MovieEiditorHD(剑三重制版视频编辑器,也被称为剑三动画编辑器,以下称视频编辑器)或剑侠情缘网络版3重制版(以下称为游戏)。
              原始图片捕捉方法:截图(包括GEF在内的各类截图/录屏工具均归为此类,包含单一帧和连续帧,适用于视频编辑器或游戏),帧序列输出(视频编辑器),幻境云图(游戏)。
              图片后期处理工具:Windows画板(功能较少,但是依然可以进行一些初等的操作),Adobe Photoshop,Matlab,Python,C++,C#,Vivado/ISE(需要相应硬件支持,例如Virtex-7 US+),CUDA(需要相应的硬件支持,例如GeForce RTX 2080ti)或其他具有图像处理功能的工具。


              IP属地:安徽7楼2018-09-02 22:39
              收起回复
                成品观察方法:
                1、裸眼观察,不需要任何额外工具,但是需要一定技巧同时图片不能太大,如果对此不了解的可以自行百度;
                2、使用VR眼镜,成本较低,已经拥有此设备的玩家推荐使用此方法;
                3、制作红青3D图并配合红青眼镜观察,成本较低,可以自己通过PS等工具制作也可以去找现成的制作工具,缺点是会损失颜色信息;
                4、使用其他3D设备,成本高低不一,通常对成品需要进行特殊加工,具体可参考所使用设备的用户手册。
                附:百度了之后还是不会裸眼观察的同学们,可以尝试一种低成本的带工具辅助的裸眼观察法:生成最终成品图片时,使左眼视角在左侧,右眼视角在右侧,在手机屏幕上观察,选取一个不透光、弱反光的纸板(例如快递包装用的纸板、某种作业本或替代品,比如将两个手掌拼接,但是手掌略厚),使其垂直于屏幕并和屏幕相交于图片的中间分隔线,鼻子贴近纸板(纸板的大小应使眼到屏幕的距离约为375px,此时距离小于人眼的正常视距下限,近视患者可以取下眼镜,视力正常者可以短时间裸眼观看或短时间佩戴度数适度的远视眼镜/老花镜,远视患者可能需要度数更高的眼镜或者两个放大镜来辅助观察),并放松眼镜,不用将注意力放在纸板上,由于纸板的阻隔,左眼只能看到左半屏幕,右侧同理,通常情况下大脑会自动拼接两眼所看到的图像,形成3D视觉,掌握技巧之后可以去除辅助。
                NV所支持的3D图片(*.jps)可以直接修改扩展名改成jpg打开,也可以用PS直接打开jps。以下图片是NV提供的例子,左侧为左眼视角,右侧为右眼视角。你也可以把制作好的3D图片保存为jps格式。



                IP属地:安徽8楼2018-09-02 22:55
                回复(1)
                  以下内容以视频编辑器为例,如果需要在游戏内环境制作,推荐使用幻境云图的暂停功能和幻境云图的拍照功能来获取原始图像。其基本原理一致,但是个人认为在游戏里操作受到的限制较多,比较不方便。
                  首先,打开编辑器,打开一张图(剩下全靠编),添加人物动物装饰物进行捏图。如何凹造型、如何取景、如何构图、编辑器怎么用等内容不在本文范围之内,可以去查询已有的教程贴。
                  几点建议:1、图中尽量不要有会动的东西,因此最好关闭风和雨雪效果,否则你在获取两个眼位视角的图片时,这些会动的东西可能会不匹配;
                  2、图中尽量不要有太强烈的反光亮点;
                  3、远景处的东西不宜太过复杂(可能是我自己电脑的问题,景深功能没有效果,远景虚化也是可以的);
                  4、尽量不要有到摄像机的距离突变的情况。
                  如果无法做到这这几点,很可能导致左右视图不匹配而无法达到理想效果。
                  最快的获取左右视角的两幅图的方法就是:截图→粘贴→调视角→再截图→再粘贴→调整两图的相对位置→扫尾搞定。就像下面这样:

                  左眼视角截个图,右眼视角截个图,放在一起,搞定。虽然两个图不一样大,虽然水面波纹不停地动有点影响效果,但是效果好像还行?


                  IP属地:安徽9楼2018-09-02 22:59
                  回复
                    但是我们或许还可以更精致一些,至少得弄两个摄像机(吧)。怎么添加摄像机、修改摄像机参数这里就不详说了,如果不会的话可以去查询已有的教程。就像这样,弄两个摄像机,一个拍左边一个拍右边,要有些位置差但也不能差太大,根据视觉效果来自行调整。

                    然后点击那个红叉右边的按钮,可以调出摄像机视角,把两个都弄出来,左眼视角的窗口放左边,右眼视角的窗口放右边,然后我们只需要一次截图就可以获得两个视角的图片了。图中把窗口的边框也截下来了,其实没这个必要,而且最好把结果的图的边边角角修剪一下。

                    但是截图获得的图片分辨率没法超过屏幕分辨率(连达到都不行),如果想获得更清晰的图片,就需要使用帧序列输出,然后把两个摄像机输出的图片进行拼接,不过就静态图而言,效果和直接截图差别不是很大,这里就不详说了,毕竟这种双图型的视差3D,不论是裸眼看还是VR看,图片都不能太大,要那么高分辨率干啥。怎么进行帧序列输出不在本文范围内,可以去查找已有的教程。


                    IP属地:安徽10楼2018-09-02 23:01
                    回复


                      IP属地:广东来自Android客户端12楼2018-09-02 23:03
                      收起回复
                        以上内容用Windows画板就可以完成,甚至可以不用,直接截图粘贴就可以了。但是如果想制作红青3D图片,好像只用Windows画板就不行了。如果不打算下载现成的红青3D生成工具,推荐使用Photoshop来制作。
                        首先你要确定你的眼镜哪边是红色,哪边是青色的,下面以左边青色右边红色为例说明(我没红青眼镜,我也不知道最后效果如何)。
                        打开PS,新建,粘贴左眼视角(自动在新图层上),删除背景图层,打开图层混合选项,去掉勾选R;粘贴右眼视角(自动在新图层上),打开图层混合选项,去掉勾选G和B;略微调低青色图层的亮度,调整位置,搞定。贴吧人均PS大佬,就不放过程的截图了,这些通过百度搜索也能找到。
                        当然用Matlab也可以轻松完成这个工作。
                        (好像用的图片不一样诶,就不要在意这些细节了)


                        IP属地:安徽13楼2018-09-02 23:05
                        回复
                          接下来是 gif 动态图片制作。这就必须得使用帧序列输出了(不推荐使用录屏,实测,左右眼图像无法匹配)。制作视频的话我不会,没工具,抱歉拉低贴吧平均水平了。
                          制作动图分为两类,一是摄像机不动的,另一种是摄像机要移动的,如果摄像机不移动,直接在之前的基础上进行帧序列输出即可;如果摄像机需要移动,建议使用轨迹功能。
                          例如我想录制奔跑的马,如图我一共设置了4个轨迹,分别是马的运动轨迹、两个摄像机的位置轨迹、摄像机焦点轨迹。这些功能如果不熟悉的话可以去看看编辑器的使用教程。

                          最重要的一点是两个摄像机的位置轨迹,要保证摄像机移动过程中,每一时刻的相对位置关系都是左右眼关系。本例中摄像机做平动且视角方向不变,比较好处理,如果摄像机轨迹不是直线或摄像机视角方向不固定,则需要较为细心的操作。
                          有很多工具都可以对帧序列进行图像拼接并制作动图,这里我采用的是Matlab。代码如下,第15行的rot90(im,3)目的是把图片顺时针旋转90度以便在手机上观看;第16行的if有个warning,但是没有关系。
                          同理我们只需要对代码略作修改即可获得红青3D的gif动图,这里不再赘述。

                          制作的gif图我会试图在下一层发出,有那么一丢丢巨大,我也不知道能不能成功。


                          IP属地:安徽14楼2018-09-02 23:09
                          回复
                            动图上传失败了,和想象中一样
                            好了结束了,就这么多


                            IP属地:安徽15楼2018-09-02 23:11
                            回复
                              这种方法也适用于日常拍照,但是如果你没有专门的设备的话,就得左边拍一张、右边拍一张,那样的话,你拍的东西最好是不会动的。


                              IP属地:安徽16楼2018-09-02 23:18
                              回复