高大上~的裸眼3D原理与制作方法

news/2024/10/21 9:28:10/

813b37f90d4820689f55ca29921a5683.png

上图是网上搜索的,侵删~

前言:

        有段时间朋友圈里被刷了一波“裸(wei)眼(ya)3D"视频,看过的人都说好!神!奇。 后来也有些人问我这东西能不能做…… 我一时不知道如何回答,原因之一是觉得这玩意就是一段变形三维视频,跟我特么互动媒体行业有毛关系? 觉得这种吃力不讨好价格又不贵的东西,还藏着一些很难跟客户扯明白的东西,验货没有标准。 再后来又有人问我可以做这类裸眼3D互动嘛。这提到互动我就感觉找不到反驳的理由了,直接回复:可以! 客户提需求,出报价。 留下一个报价问题, 因为很可能因为价格问题客户就会不去再想做不做了。还有另一个硬伤,我在最后再写出来,大家一起探讨对不对~ 

 

原理: 简单得看就和街头地面上画透视画一样! (我是很佩服直接手画反透视的人)  ,所谓裸眼3D视频不过是在这基础上做成动态画而已。那么重点来了,如何制作出裸眼3D效果呢? 就是如何把一个透视的画面给还原到显示屏上的过程。

好了, 以下制作示意教程需要有三维软件基础和unity基础。

一、 先来制作一个简单的场景。PS:我只会3dmax~  , 一个带点圆角的半开方式空间(直角的应该处理更方便点)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

简单示意,时间有限,我就没用空间内部的物体了,不影响结果~

二、挑个好角度,给个相机。 这相机位置要根据裸眼3D最终展示的位置与观察角度设置。比如是放在一个很高的楼上一角的屏,那得估算一下人视点到显示屏的仰视角度去设置相机。 我这里做一个平视侧方45度左右的相机。记

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

然后打上灯光材质等,调整到你喜欢的样子。渲染一张图,(,这里出图只是为了后面对位置。最终出图:如果只是做视频动画不需要在unity里做,就在三维里渲染,分辨率根据最终画面尺寸做相应调整)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

 

三、重点来了!也是最费时间的,因为这个图的好坏影响到最终显示的效果,可能反复测试多次得到你客户满意的样子~

         1. 新建一个plane , 长宽比例你就调整成你上一张图的宽高比例吧。把刚才渲染输出的图保存了,给这plane 做贴图。调整UVW Map,刚好铺满。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

 

        2. 给这个plane正面打个相机。调整相机显示范围刚好看全这个平面。 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

        3. 最考水平的步骤来了,自己不会,找个模型高手,给你做网络编辑也行。我是用了一串FFD处理的,目的就是把渲染的图拉伸到刚好铺满相机视图, 因为这块内容就是你最终要展示在裸眼3D的大屏上的内容。(是不是突然觉得看不下去了?太简单了)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

 

四、到这里,其实只做动画效果的,素材已经好了。啥? 还不明白。  那我整理一下:

        1. 用第二步里相机做渲染窗口,把你在开放空间里做好的动画效果,渲染出动画序列。

        2. 然后用第三步里建的相机做渲染窗口, 把上一步渲染的动画序列导入做成 plane的动态贴图, 再渲染一次动画序列 。 然后再把动画序列放在后期软件里调色加配音,输出视频就完工了。

 

        尴尬,没有钱,没有设备怎么测试啊。。。

好吧,那就重新在max里做一个屏啊, 下图右下新加的片就是屏~ 。 同理,把变形拉伸后的plane用第二个相机(上图左下图相机视角)渲染出图保存,再给回这个屏做材质。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

再用意念力把它给掰弯。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

 

然后再找个好位置摆好姿势如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

是不是很…… 放错图了,再来

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

 

五、那么如何做互动的裸眼3D呢? PS: 三维互动我用 Unity~ , 简单。

        要点: 三维做好场景导入和 相机渲染纹理做贴图。

        1.把max里做好的场景 ,导出成fbx文件 , 选择几个用的模型以及两个相机(如果你愿意折腾,也可以在unity里再新建camera~)

        

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

        2.新建一个unity 3d 场景文件, 把上步导出的模型导入进来。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

        3.调整好基本灯光,烘焙。然后新建一个渲染纹理,用来保存第一个相机的视角做贴图。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

        4. 选择第一个相机(怪我咯,没给相机取名字,就把最早出现的叫第一个相机吧~),指定目标纹理,选择刚才新建的渲染纹理。纹理名字你自己取啥记好~ 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

        5. 然后! 选择左边变形后的平面,给它个新的材质,也就是把刚才新建的渲染纹理给它玩,为了自发光,不需要光再照了,给如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

        6. 好了,到这时候,上图左下的相机(第二个相机吧),做成主相机,点play就是你要的互动裸眼3D了。   没钱,没测试设备,于是照刚才的方法再造一个显示屏试咯。 同理,新建一个渲染纹理,把第二个相机的视图,目标纹理输给它, 再把渲染纹理指定给新屏看效果。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L215dGhs,size_16,color_FFFFFF,t_70

太单调了,我就加了个 box动画。

20210710173720268.gif

 

好了。 裸眼3D互动就讲完了。 。 。 

啥? 没有说互动吗? 

好吧,互动是要是去触摸吗?  这是不现实的。 这种东西基本上是不可能上去摸的,不是给不给钱的问题,因为你走过去看太清楚了你就不想摸了。  这类要互动的话,只有通过另一台设备, 电脑,平板啥,通过 udp 等指令控制内容了。 具体怎么互动,就看个人的思维了,当然还有甲方的钱有多少 。

-------------------------------------------------------------------------------------------

硬伤:

与“软伤”相对,涉及范围小于软伤,可表现于明显之处,属于有形伤害。
释义:1.在文学作品中指一些常识性错误。
2.非软件性伤害,一般就是指人为损坏或者碰撞等发生的硬件损坏。
3.科幻小说中的技术设定上无法自我圆满解释或者与当前科学技术理论有冲突矛盾的描述。
4.某人或某组织存在的一些无法改变的软肋,通常作用在人体上,比如:智商是硬伤、身高是硬伤、相貌是硬伤、残疾是硬伤等,这种伤害唯有从根本上解决问题,其才会消失,不然只是尽量弥补而已。

 

所谓的裸眼3D , 其实就是早几年的墙体秀,水幕的变种, 一种伪3D。 专门用来满(qi)足(pian)财大气粗的老板们。  硬伤就是只有一个最佳观看点,这个点就是相机所在的位置。换其它角度就TM啥也不是!  另外通常做这一套show, 成本大部分花在了硬件设备上…… (完)

 

ps:本文测试软件是 3dsmax ,unity。抱歉,那些问模型文件的哥们,当初疫情宅老家写的,没发帖经验,找源文件有些困难。

 


http://www.ppmy.cn/news/546942.html

相关文章

计算机制作3d电影属于,手把手教你如何自制简单3D眼镜在家看3D电影

大家都知道没有3D眼镜可没有办法在电脑上看3D电影噢,小编今天就教大家2种制作3D眼镜的方法,制作步骤与材料也都很简单。 制作方法一: 必备的材料:红色色纸、蓝色色纸、尺、厚纸板、签字笔、剪刀、口红胶。色纸是到附近的文具行买的…

计算机3d影视的应用程序,用电脑也能看3D电影?捡起吃灰的3D眼镜!

用电脑也能看3D电影?捡起吃灰的3D眼镜! 2020-04-06 16:26:35 5点赞 13收藏 1评论 过年闲着没事在家,整理杂物的时候整理出2副3D眼镜(购买创维电视送的,两个镜片都灰灰的那种,属于偏振3D眼镜) 之前就有研究过&#xff0…

红绿3d眼镜与红蓝3d眼镜区别_Rokid X 非白三维,AR眼镜 + 3D扫描

2020年1月,Rokid创始人兼CEO祝铭明在杭州发布了最新一代AR眼镜RokidGlass 2。这款性能强大的AR眼镜,不仅适用于安防、工业、教育等多个场景,还能够与三维扫描有机结合。 RokidGlass 2 是一台可以折叠的AR眼镜,它拥有轻薄的外观&am…

裸眼 3D 是什么效果?

作者:沙因,腾讯 IEG 前端开发工程师 介绍一种裸眼 3D 的实现方式,代码以 web 端为例。 平常我们都是戴着 3D 眼镜才能感受 3D 效果,那裸眼能直接看 3D 么?可以看看下面这个视频: 感兴趣可以扫描这个二维码实…

3D建模的培训机构一般多少钱?

3D建模的培训机构一般多少钱? 现在越来越多的小伙伴想参与到3D建模这个行业之中来了,但是呢要学想进入这个行业零基础的小白避免不了的就是参加培训了。 如今市面上也有很多形形色色的3D建模培训班,主流分为线下和线上两种形式。面对这么多…

教你自制3D眼镜--在家看3D大片!

别以为只有去电影院才能享受3D大片那种身临其境的效果,安坐家中也一样可以看3D影片,你只需要自己动一下手,花几分钟时间制作一个色分3D眼镜,就可以在家观看采用色分法制作的3D影片了。   自己动手做3D眼镜之前,先要了…

入坑 TS(一)

1、TS 采用类型后置的语法 const str: string "我是字符串"; const num: number "我是数值"; const bool: boolean false;函数怎么写? // 有返回值 function sayHello(str: string): string {return str; } // 无返回值 function sayHello…

Nautilus Chain:模块化Layer3架构为RWA赛道构建基础设施

DeFi Summer后,加密行业经历了新一轮的爆发、增长后,整体的发展逐渐陷入滞缓。传统金融是一个经过了上百年发展的成熟市场,将800万亿美元体量的传统金融不断引入到链上有望推动加密行业迎来新一轮的质变。将传统资产以加密代币化的形式引入到…