怎么完美呈现360°360度全景照片怎么拍

全景图片怎么制作?制作360度全景照片教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
全景图片怎么制作?制作360度全景照片教程
&&全景图片怎么制作?制作360度全景照片教程
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
发私信给冯伟文
导语:360°全景照片是谷歌Android 4.2就有的一个新功能,这个功能可以帮助Android用户拍摄360°全景照片。虽然这个功能出来已经挺久的了,不过似乎大家都没有怎么接触,而如何操作以及如何才能拍摄出一张漂亮的360°全景照片呢?谷歌来教
同步到新浪微博
键盘发烧友/数码评测狗/产品运营狗/文艺穷逼男/ 一生奔跑着歌頌我大索尼 微博:@冯伟文 邮箱:Mr.
当月热门文章
为了您的账户安全,请
您的邮箱还未验证,完成可获20积分哟!
您的账号已经绑定,现在您可以以方便用邮箱登录
请填写申请人资料怎么完美呈现360°全景照片?Facebook:我们用AI
怎么完美呈现360°全景照片?Facebook:我们用AI
Facebook 今天宣布,将会使用AI来确保上传到社交网络的360度全景照片在观看时达到最佳效果。同时,它还在Scale会议上展示了一种系统,用户可以用深度神经网络来修正上传照片中普遍存在的定位误差。如果在拍360度全景照片时,相机没有摆得正正好,和地平线不平行,那拍出的照片会很难读取,在用VR查看的时候也会失去沉浸感。Facebook的系统则会拍出一张照片,输出倾斜值和滚动校正值,使照片与视线平行。这样的话,查看照片的人在看到时画面就不会很糟糕。这个系统的基础是一个图片识别系统,AlexNet,目前已经被应用于解决其它问题,如决定照片内容。现在,该系统还没投入生产,但是Facebook的研究表明还是很有希望看到的。让360度全景照片在社交网络上看起来很赞,这正是Facebook的关键,而Facebook正在VR上进行大量投资。例如,Facebook的社交VR app Rooms,它让虚拟替身在360度全景照片的背景闲逛。如果照片看起来不是最佳效果,会降低用户使用app的体验。除了自动旋转的问题,Facebook还要处理360度全景照片的尺寸问题,因为这些巨大的照片将被上传到服务器里。在有超快的网速和设备的情况下,这些都不是问题,但是在目前手机的蜂窝网络上却会是巨大的问题。Facebook把照片转化为立方体,再把这些立方体存储为不同的分辨率。这些照片会被碎化为512x512像素的立方体。当用户大开一张照片,Facebook会在所加载照片内计算分辨率和位置。这样的话,用户没法立刻得到足够高分辨率的照片,因为社交网络会呈现更低分辨率的版本,直到得到可用的照片。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
百家号 最近更新:
简介: 百度VR带你换个方式看世界
作者最新文章Cardboard(1)
& &//vr360viewer/
&在VR应用中,有一个相对简单的虚拟现实体验,那就是360°全景照片浏览器, 他可以使得手机拍照的”全景”照片,& 得以”恢复”当时拍照的场景全貌,& 这个创意的确比单纯的2d图片更有震撼力一些,故本文就制作360全景照片的过程进行简单小结。
Step 1:预期需求
可以通过手机的陀螺仪,在魔镜中查看360°图片;不用依赖任何蓝牙输入,仅通过进行选择下一张360°图片(盯着缩放图2s,进度条旋转完成后,就切换图片;用Gear VR的磁铁触发功能也可以实现选择下一张图片)。
Step 2: 准备材料
硬件:暴风魔镜4& + 小米Note顶配版(2K屏幕)
SDK:,或者&,本文使用的是Googe CardBoard
Step 3: 创建材质球
360°照片,展开看就是一个投影的2D照片,这个在初中学习世界地理的时候将类似投影球形地图到2维平面上,原理类似,只不过一个360°照片的投影失真会小很多.&
为了复原,需要建立一个3D Object\Sphere, 我们通过把图片贴到这个球体上,从内侧看效果。 然后拖放照片到Sphere上,球体放大10倍; 这个时候,发现一个问题在Game视图中看不到东西了,因为Camera没有在球心位置,修改Camera坐标为(0,0,0)位于球心。
我们依然看不到图片,因为Spere默认用的是Unlit/Transparent Shade,他为了渲染高效,把背面给剔除了,而在这里,我们洽洽需要渲染背面,故得从新写个shade–关闭cull off。
DoubleSided.Shader文件
Shader “Unlit/DoubleSided”&
&&& Properties&
&&&&&&& _Color(“Main Color”, Color) = (1,1,1,1)&
&&&&&&& _MainTex(“Texture”, 2D) = “white” {}&
&&&&&&& SubShader&
&&&&&&& //Ambient pass&
&&&&&&& Pass&
&&&&&&& {&
&&&&&&&&&&& Name “BASE”&
&&&&&&&&&&& Tags {“LightMode” = “Always” /* Upgrade NOTE: changed from PixelOrNone to Always */}&
&&&&&&&&&&& Color[_PPLAmbient]&
&&&&&&&&&&& SetTexture[_BumpMap]&
&&&&&&&&&&& {&
&&&&&&&&&&&&&&& constantColor(.5,.5,.5)&
&&&&&&&&&&&&&&& combine constant lerp(texture) previous&
&&&&&&&&&&& }&
&&&&&&& SetTexture[_MainTex]&
&&&&&&& constantColor[_Color]&
&&&&&&& Combine texture * previous DOUBLE, texture *constant&
&&&&&&& //Vertex lights&
&&&&&&& Pass{&
&&&&&&& Name “BASE”&
&&&&&&& Tags {“LightMode” = “Vertex”}&
&&&&&&& Material&
&&&&&&& Diffuse[_Color]&
&&&&&&& Emission[_PPLAmbient]&
&&&&&&& Shininess[_Shininess]&
&&&&&&& Specular[_SpecColor]&
&&&&&&& SeparateSpecular On&
&&&&&&& Lighting On&
&&&&&&&&cull off&
&&&&&&& SetTexture[_BumpMap]&
&&&&&&& {&
&&&&&&&&&&& constantColor(.5,.5,.5)&
&&&&&&&&&&& combine constant lerp(texture) previous&
&&&&&&& }&
&&&&&&& SetTexture[_MainTex]&
&&&&&&& {&
&&&&&&&&&&& Combine texture *previous DOUBLE, texture *primary&
&&&&&&& }&
&&&&&&& FallBack “Diffuse”, 1&
替换了新的Shade后,效果好了很多了,唯一有问题的是我们看到的照片是反的,故修改Spere的.Z为-10.
通过在Unity.Editor上Play效果,已经很不错了,至此完成了大部分的工作,下面开始”移植”到VR设备上
Step 4: 添加VR Camera
先禁用掉默认的MainCamera、light。
然后添加VR摄像机—导入Google的CardboardSDKForUnity.unitypackage后,拖入CardboardMain.prefab到场景中。 这时候点击Play启动UnityEditor,即可看到双VR Camera的效果,点击调试快捷键:Alt + 移动鼠标,即可看到模拟的陀螺仪效果。
这个时候打包为apk,安装到手机,用真机的陀螺仪体验,效果更酷。
Step 5: 添加Gaze-and-Tap 用户界面
完成《Step 4: 添加VR Camera》后,实际上已经完成了360°全景照片功能,但是这个仅仅是一个demo,有一个致命的痛点:只有1张照片,如果我有4张照片,每次独立打包为一个apk,这显然不合理。 故需要做一些VR交互。
这里,我们添加4个Plane,通过上面章节的《》,期望可以实现通过Gaze一个Plane 3s,然后能够切换新的照片功能。
添加Plane,坐标修改如下:
添加一个脚本,实现响应EventSystem,可通过2种办法
方法1: 添加Event Trigger脚本,响应PointerEnter、PointerExit等方法,如图
方法2:脚本直接继承IPointerDownHandler、IPointerExitHandler等接口,这个看起来更符合程序员胃口
我们通过控制Plan的Color.a来实现高亮选择,代码如下
public void SetGazeAt(bool gazeAt)&
&&&&&&& Debug.Log(“SetGazeAt: ” + gazeAt);&
&&&&&&& Renderer render = this.GetComponent&Renderer&();&
&&&&&&& Color cor = render.material.&
&&&&&&& cor.a = gazeAt ? 1f : 0.5f;&
&&&&&&& render.material.color =&
另外,当Gaze 2s后,会动态替换material的Texture来实现替换360°照片,代码如下
public void OnClick()&
&&& Renderer renderSrc = this.GetComponent&Renderer&();&
&&& Renderer renderDst = pano.GetComponent&Renderer&();&
&&& Texture tex = renderSrc.materials[0].GetTexture(“_MainTex”);&
&&& renderDst.materials[0].SetTexture(“_MainTex”, tex);&
360°全景照片,非常大,有好几M,这个对手机app来说会造成文件太大,实际商用中,需要采用AB(AssetBundle)实现动态从网络侧更新360图片,那样会更酷一些(轻量级)。
本文用到的完整的 demo Git地址:&
昨天网上一个朋友问了一个VR问题:
可否像3D Max那样,动态替换材质,如替换房间地板材质,实现全景照片替换?
回答:不行,只能动态替换整个的全景照片;我昨晚细细思索,好像还是不行,除非建立3D模型,采用动态换装才能实现动态换360°照片中的大树、地板吧。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:105358次
积分:1439
积分:1439
排名:千里之外
转载:119篇
译文:11篇
评论:11条
(26)(32)(32)(49)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'360°全景呈现与3D三维立体画面带我们走进虚拟现实
发布时间: 17:21
当前,以网络/互联网为基础的虚拟现实技术,可划分为这两个个范畴,一个是以图像为基础的360度全景技术,一个是以三维多边形技术为基础的VRML三维技术。&
1:写实图象的世界 Panorama (360度全景)&
Panorama是把写实图像绘制成圆筒或者球形,有从中心点环视的方式,从各个不同的位置拍摄照片,再进行综合。因为使用的是照片,所以画面非常漂亮。目前使用的360度全景技术包括不使用Plug-In的Java方式和Quicktime这两种通常格式。这些都可以实现放大、缩小功能和360度旋转、节点之间的热区连接功能,使得使用者可以环顾四周。&
2:完全的三维计算机绘制空间(VRML)3D
Polygon基本技术生成的不是图形,而是全电脑制作的三维模型,通过快速的绘制来实现,具有较强空间自由度,使用者与特定物体之间相互交互作用的三维空间。以VRML为代表,这一技术,由于缓慢的互联网速度以及各自不同的个人电脑环境、Plug-in容量、技术的互换性等问题,很难向大众化发展&&&
3:基于图像技术的360度全景虚拟的优势:&&
⊙ 真实性强,实景场景的逼真摄影表现。&&&
⊙ 播放设备硬件要求低,大众化电脑均可播放,无需专门工作站。&&
⊙ 开发周期短,开发成本低。拍摄制作比三维制作速度快,成本低。&
⊙ 导览性、交互操作性强。可与flash技术的导览无缝结合。&&
⊙ 画面质量高,高清晰度的全屏场景,令细节表现完美。
⊙ 数据量小,非常适合网络式访问观看。
全景宝是一款360°全景漫游软件,是国内领先的基于WEB图形的漫游制作平台,具有WEB系统良好的扩展性与易用性,是目前国内应用最广泛的专业全景软件。公司主要从事全景拍摄制作,全景软件开发,全景技术培训等服务,致力于为客户提供全套成熟的全景技术解决方案。
以上消息来自互联网,本网不对以上信息真实性、准确性、合法性负责

我要回帖

更多关于 厨房装修流程完美呈现 的文章

 

随机推荐