杂篇-之裸眼3D渲染相机及画面矫正
主题公园类,或大型广场led屏幕,直角幕,三维影片如何制作,和最终画面如何矫正还原。
前两天,一朋友做的项目,大概就是一个柱状的led屏幕,可能是立在广场街角等处,如果这样子,那个柱状体的有颜色的两面就是led屏幕,要做成裸眼3d效果。

那,要解决两个事儿,一个是渲染相机怎么打,二个就是最终画面得是什么样,才能拿到正常的播放器去播放。
一、渲染相机
渲染相机当然是要模拟人的视角,于是就在人的正常高度看向led屏幕,打一个渲染相机,渲染相机的透视和角度,要尽量涵盖整个屏幕,避免画面浪费,

当然还可以再窄一点,靠近边缘即可,接下来就制作你的cg场景,角色活动范围当然就是这个视窗里面,而且是这box盒子里面,裸眼的效果想要强度多大,自行调节相机透视,做冲镜或出境效果,根据情况去做layout,然后去调节。
这里就出一张渲染画面,背景不用理。然后接下来就是去弄出,最终在播放器里面播放的画面,画面矫正。

二、画面矫正
这里画面矫正,我是用nuke去做的,也可直接在houdini里面去做,我觉得nuke很方便,所以就nuke了,而且还可随时去调整最终画面效果之类的。
播放器里最终播放的,肯定是一个二维的视频,除非自己开发的播放器自带畸形画面矫正功能,那就另说。所以这个带透视效果的肯定是不行的,所以我们就得模拟还原现场的视角和屏幕,
1、在houdini中导出你的屏幕,也就是两块面片,建议分开导,导fbx格式,记得给屏幕展好uv,这里很重要,铺满整个uv象限,后面需要用到的。

2、导出渲染相机,也导fbx,一般情况不用去导abc,除非你有动画,那就是运动的渲染相机,那你是在做黑暗乘骑了,
3、在nuke中导入你刚才导出的相机和屏幕模型,在nuke中就还原了三维场景。

4、用nuke的三维投射,把渲染画面反投回屏幕当中

5、然后就是把反投到屏幕上的画面给弄出来就行了,就是你想要的画面,这里就用 ScanlineRender 这个节点,然后把projection mode 改成uv模式就可以了,然后自己调整一下,把两半屏幕画面拼接到一起,
下图就是你要拿到播放器里面去播放的画面。

相应的测试文件 https://i.cnblogs.com/files 在这里
杂篇-之裸眼3D渲染相机及画面矫正的更多相关文章
- 裸眼3D全攻略3:拍摄3D—瞳距、镜距、视角偏转与空间感
http://sd89.blog.163.com/blog/static/356041322014112532958728/ 3D图片的拍摄,与平面有着全新的不同要求,那就是空间感的表现. 简单来说, ...
- 裸眼3D立体显示技术原理详解
众所周知,现实世界是一个三维空间,除去时间这一维度,现实世界是由长度.宽度和高度三个维度组成,我们每天就生活在这个三维世界中,而现有的显示设备大多数都只能显示二维信息,并不能带给人真实的三维感觉.为了 ...
- 裸眼 3D 技术是什么原理?
https://www.zhihu.com/question/19553745 作者:杨英东链接:https://www.zhihu.com/question/19553745/answer/1227 ...
- 自制裸眼3D图【推荐】
Welcome to the World of Hidden 3D Stereograms.欢迎进入隐身3D图的世界! 网址:http://hidden-3d.com 裸眼立体图是什么? 立体图是立体 ...
- 这才是真正的裸眼3D!超级震撼!!
大家有没认为有意思啦,反正俺是被震撼到了. 好奇异-- ! " src="http://www.yixieshi.com/uploads/allimg/141116/1446431 ...
- 初探Stage3D(一) 3D渲染基础原理
关于本文 本文主要想介绍一下3D渲染的基本流程,及怎样把一个三角形(0,1,0),(1,0,1),(0,0,1)最终渲染到屏幕上来.文章的目的是对3D渲染流程做一个简单的介绍,其中不涉及任何语言的AP ...
- 基于 HTML5 Canvas 的 3D 渲染引擎构建生产管控系统
前言 大家好,老郑我又回来了.这一期为大家带来一个非常好玩的 demo,我们制作一套自己的 3D 管道控制系统,运用了( http://www.hightopo.com )HT 的 Graph3dVi ...
- 基于 HTML5 Canvas 的 3D 渲染引擎构建机架式服务器
前言 今天找到了 HT 的官网里的 Demo 网站( http://www.hightopo.com/demos/index.html ),看的我眼花缭乱,目不暇接. 而且 HT 的用户手册,将例子和 ...
- 3D渲染集群,你了解多少?
摘要:渲染是批处理运行模式,那能不能使用Docker容器技术,做大规模的渲染集群呢? 我们先说说3D渲染涉及哪些领域: 1.什么是3D渲染 简单粗暴的讲:就是将虚拟世界里的3D模型,变为(人眼看到)平 ...
随机推荐
- git提交后文件夹显示灰色无法打开的解决办法
上传完本地文件到gitee线上后发现如下情况,文件夹显示为灰色并且无法访问. xxx@xxx 的灰色文件 问题原因 : 无法点击的灰色文件夹中含有 .git 文件 即在本地初始化的仓库(使用 git ...
- 白话科普,10s 了解 API
作为一名又拍云的技术支持工程师,小拍每天都会接收到很多客户的提问.这其中,有很多客户会问:"小拍,请问云存储上传除了使用控制台的文件管理和 FTP 工具之外,有没有其他的途径进行上传呢?&q ...
- 浅谈OpenGL之DSA
今天准备写一篇文章简单介绍一下OpenGL4.5引入的一个新的扩展ARB_direct_state_access,这个扩展为OpenGL引入了一个新的特性就是Direct State Acess,下文 ...
- DP斜率优化学习笔记
斜率优化 首先,可以进行斜率优化的DP方程式一般式为$dp[i]=\max_{j=1}^{i-1}/\min_{j=1}^{i-1}\{a(i)*x(j)+b(i)*y(j)\}$ 其中$a(j)$和 ...
- SpringBoot 构建 Docker 镜像的最佳 3 种方式
本文将介绍3种技术,通过 Maven 把 SpringBoot 应用构建成 Docker 镜像. (1)使用 spring-boot-maven-plugin 内置的 build-image. (2) ...
- linx 内核 并发与同步 1
内核并发来源: 1.硬件中断和异常:中断服务程序和被中断的进程可能发生并发访问资源 2.软中断和tasklet,软中断和taklet随时都可能倍调度执行,从而打断当前正在执行 进程的上下文. 3.内核 ...
- dst_output发包
不管是收到报文转发还是本机发送报文,最后都会调用dst_output /* Output packet to network from transport. */ static inline int ...
- wait函数与waitpid函数(僵尸进程)
当子进程退出时,内核会向父进程发送SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止) 子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程.它只保留最小的一些 ...
- UNIX系统编程:文件IO(I)
1.标准C库中访问文件用的是文件指针FILE *(stdin,stdout,stderr):对于linux系统编程而言,所有对设备或文件的操作都是通过文件描述符进行的 2.当打开或者创建一个文件的时候 ...
- tar命令打包和压缩与解压
Linux里压缩与打包时分开的: 打包:多个文件变一个文件.该一个文件会大于整体所有文件,因为会添加各个信息说明哪到哪是一个文件. 压缩:大文件变小文件. 归档:将多个文件变成一个文件,这个文件就是归 ...