苹果公司VR项目被人遗忘的真相是什么
2898
外闻 2020-03-18 17:12:48 字数:2527

早在谷歌和Oculus开始畅想虚拟现实的多年以前,苹果在市场上就已经有了一个“VR”产品。

苹果称之为QuickTime Virtual Reality,或QuickTime VR。


它是苹果历史上最奇怪的项目之一:它在乔布斯远走NeXT时启动,领先科技行业几十年,但晚年失宠,最终被弃。


“QuickTime VR面世时不是视频,而是静止图像。图像被缝合在一起创建一个360度景观。”1983年至1993年担任苹果公司CEO的John Sculley表示。“当时它似乎相当惊艳。”


苹果前CEO John Sculley


因此,虽然QuickTime VR和你今天能在YouTube上找到的沉浸式跳伞视频并不那么相像,它仍然是个创举。它的发展教训,对当下这股由谷歌、Facebook和三星等公司率先推动的沉浸式视频风潮而言,也是一个警示。


下面是苹果遗忘的VR项目的背后故事:


超前于时代


QuickTime VR的用途与Facebook上的360度视频一样,使观众沉浸于一个不同的物理空间——或者观察一个特定对象——通过全景图像。


在当时,它就是魔法。用户只要拖拽鼠标,就能环顾一个虚拟世界。在今天,成千上万的YouTube视频也只是让你在线做同样的事情。


然而,在QuickTime VR被苹果人机界面团队开发出来的九十年代初,数码摄像机远没有发展到现在的程度。那时更没有谷歌Jump这种360度摄像机可以用。


所以解决方案就是用一台静态相机拍摄一大堆照片,然后再拼接制作成一个QuickTime全景。苹果的QuickTime是一个图像文件格式,允许计算机显示和探索这些全景图。


早期QuickTime VR工程师兼纽约大学教授Dan O'Sullivan告诉我们:“我最开始做的全景摄影有点糊弄人。就是拍摄几百万张照片,然后在它们之间做动画。所有这些我都用一台摄像机完成,因为光是想象一下我们现在用的相机矩阵就太贵了。”


但是,即便照片拍下来了,还得消耗庞大的计算机性能将它们缝合成全景——这是我们今天用手机就能做到的事。


“特别繁重,缝合所有一切,工作量相当大。苹果甚至买了一台克雷超级计算机来做很多处理工作。”O'Sullivan说。


多年的发展


1995年,QuickTime VR作为一个独立产品正式向大众发布,而在此之前,它作为一个项目已经在苹果实验室里待了好几年。


1991年,它成为苹果人机界面实验室的一个研究项目。而该项目启动的原因是,研究员们想玩玩尖端技术和系统。他们试图创建三维数字对象。


O'Sullivan说:“我只是Mike Mills(QuickTime的创造者)带进去的一个实习生。所以陷入僵局时,我就是坐在角落里扫描可口可乐罐的小怪咖。”


但早期实验非常成功,于是苹果公司给项目投入更多资源,包括一台克雷超级计算机。


“我记得当时Sally Ride是苹果董事会一员,她简直不敢相信自己能实时处理3D几何。所有一切就是这样开始的。”


因此,包括Eric Chen在内的QuickTime VR团队(软件在1995年首次亮相)努力拿出拼接照片的新方案,用它拍摄主要的地标。有一张沉浸式图片是在金门大桥顶端拍的。苹果从旧金山市长处获得登上顶端的许可。这张图片仍然可以在Sullivan的网站上看到。


QuickTime VR团队在Macworld(当时最大的会议之一)上做完演示后,团队去了更广阔的地方拍摄360度图像——比如俄罗斯和巴黎。


“我在台上演示项目时,苹果认识一位富有的女士,她是国家美术馆的重要人物,而国家美术馆又认识俄罗斯的某位重要人物。所以无论如何,我们搭上了去俄罗斯的飞机。”O'Sullivan回忆。


但是QuickTime VR项目最重要的路,在离开苹果研究实验室后才铺开。


辛普森案


QuickTime VR第一次获得全民关注是在1994年的辛普森案中,当时NBC用它的技术给辛普森的公寓绘制地图。


NBC拍下辛普森公寓的26个不同地点,用QuickTime VR将它们缝合成360度全景。电视主播Jack Ford用那些视觉效果给观众一种在场感。


David Bohrman当时是NBC新闻专题制片人,他说:“我知道尸体、血迹、地点的发现过程一定会被大肆讨论,并且我从苹果公司的一个朋友那里听说QuickTime VR要发布了。我们拍摄了一系列发现血迹和血点的地方,可能有10个或12个。一直跟到公寓后方,理论上猜测辛普森在这里被接走了。”


“我们的记者Jack Ford能够调出准确的地理定位,并展示了他们正在交谈的内容。他可以稍微放大,可以操纵它。它是个效果惊人的工具。”


穷人的VR


看到这里,你肯定对苹果在全景图像上的尝试有所了解,并且很容易就把它与最近出现的360度视频联系起来——或者与谷歌街景这种沉浸式服务。


最近很多所谓的VR并非一个完全互动的环境,而是一个苹果领航的全景图像的后裔。


只是拍摄对象,而非互动场景


“当时不存在头戴式VR。所以它是穷人的VR。将之称为VR是有争议的,总归有些放肆。”O'Sullivan表示。


某种程度上,自90年代初,沉浸式全景的组成方面并没变多少——只不过是最近做起来更容易。


O'Sullivan说:“Quicktime VR就像个穷人的VR,你现在知道它很有趣了吧。我认为VR有两种,一种是拍360度视频的摄影VR,另一种VR则更具交互性。”


当乔布斯重返苹果,QuickTime VR不再受重视。1997年苹果发出最后一份针对QuickTime VR的新闻稿,虽然直到2006年,苹果都在一直用它为新产品提供360度视角,比如iPod。Bohrman说:“QuickTime VR在乔布斯回归之前的Sculley时期得到真正发展,我觉得苹果不关注那些年发生的任何事。”


苹果当年会尝试虚拟现实毫不出奇——即使是以初级形态——在大众作好准备之前。


Sculley说:“甚至直到今天,提到数据科学时,苹果还不是最先进的公司,但就用户体验而言,它引领全世界。我们深入到体验,显然QuickTime和QuickTime VR是绝佳的例子。”


本文来源于互联网,如有疑问请及时联系2898站长资源平台官方客服,谢谢!


0人参与回答
  • 未添加任何数据~~


提示信息

联系电话:
1585150508*
QQ交谈:
小编
站长微信:
站长邮箱: service@qingjiuzhubei.com
139.13msRequest Duration2MBMemory UsageGET zixun/detail/{id?}.htmlRouteAuth status
    • Booting (8.84ms)
    • Application (132.14ms)
      6 templates were rendered
      • site.zixun.detail (resources/views/site/zixun/detail.blade.php)8blade
        Params
        0
        prevArticle
        1
        nextArticle
        2
        newDetail
        3
        comment
        4
        hotnews
        5
        t
        6
        d
        7
        k
      • layouts.site.layout (resources/views/layouts/site/layout.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • layouts.site.top (resources/views/layouts/site/top.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • layouts.site.bottom (resources/views/layouts/site/bottom.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • common.upgrade_vip (resources/views/common/upgrade_vip.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      • kefu.kefu (resources/views/kefu/kefu.blade.php)18blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        device
        4
        isMobile
        5
        errors
        6
        prevArticle
        7
        nextArticle
        8
        newDetail
        9
        comment
        10
        hotnews
        11
        t
        12
        d
        13
        k
        14
        __empty_1
        15
        __currentLoopData
        16
        loop
        17
        hotnewsVal
      uri
      GET zixun/detail/{id?}.html
      middleware
      web
      controller
      App\Http\Controllers\Site\ZixunController@detail
      namespace
      App\Http\Controllers
      prefix
      /zixun
      where
      as
      zixunDetail
      file
      app/Http/Controllers/Site/ZixunController.php:105-132
      7 statements were executed120.5ms
      • select * from `news` where `news`.`id` = '65791' and `news`.`deleted_at` is null limit 11.63ms/app/Http/Controllers/Site/ZixunController.php:109zzshuju
        Metadata
        Bindings
        • 0. 65791
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 14. /app/Http/Controllers/Site/ZixunController.php:109
        • 22. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 56. /public/index.php:53
      • select * from `new_cates` where `new_cates`.`id` in ('45') and `new_cates`.`deleted_at` is null370μs/app/Http/Controllers/Site/ZixunController.php:109zzshuju
        Metadata
        Bindings
        • 0. 45
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 19. /app/Http/Controllers/Site/ZixunController.php:109
        • 27. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 61. /public/index.php:53
      • select * from `news` where `news`.`deleted_at` is null order by `browse` desc limit 10111.83ms/app/Http/Controllers/Site/ZixunController.php:110zzshuju
        Metadata
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Http/Controllers/Site/ZixunController.php:110
        • 20. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 54. /public/index.php:53
      • update `news` set `browse` = `browse` + 1, `updated_at` = '2025-08-26 15:13:31' where `id` = '65791' and `news`.`deleted_at` is null4.52ms/app/Http/Model/News/News.php:170zzshuju
        Metadata
        Bindings
        • 0. 2025-08-26 15:13:31
        • 1. 65791
        Backtrace
        • 12. /app/Http/Model/News/News.php:170
        • 13. /app/Http/Controllers/Site/ZixunController.php:111
        • 21. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 55. /public/index.php:53
      • select * from `news` where `id` < '65791' and `newscate_id` = '45' and `news`.`deleted_at` is null order by `id` desc limit 1650μs/app/Http/Controllers/Site/ZixunController.php:115zzshuju
        Metadata
        Bindings
        • 0. 65791
        • 1. 45
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 13. /app/Http/Controllers/Site/ZixunController.php:115
        • 21. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 55. /public/index.php:53
      • select * from `news` where `id` > '65791' and `newscate_id` = '45' and `news`.`deleted_at` is null order by `id` asc limit 11.15ms/app/Http/Controllers/Site/ZixunController.php:116zzshuju
        Metadata
        Bindings
        • 0. 65791
        • 1. 45
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 13. /app/Http/Controllers/Site/ZixunController.php:116
        • 21. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 55. /public/index.php:53
      • select * from `comments` where `news_id` = '65791'350μs/app/Http/Controllers/Site/ZixunController.php:117zzshuju
        Metadata
        Bindings
        • 0. 65791
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Http/Controllers/Site/ZixunController.php:117
        • 20. /vendor/silber/page-cache/src/Middleware/CacheResponse.php:38
        • 54. /public/index.php:53
        web
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
        api
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
          _token
          SFzDLKGiybl67HVmUnA6OpmtjlBiwk2yz96L9rha
          _previous
          array:1 [ "url" => "https://data.winndoo.cn/zixun/detail/65791.html" ]
          PHPDEBUGBAR_STACK_DATA
          []
          _flash
          array:2 [ "old" => [] "new" => [] ]
          format
          html
          content_type
          text/html; charset=UTF-8
          status_text
          OK
          status_code
          200
          request_query
          []
          request_request
          []
          request_headers
          array:18 [ "cookie" => array:1 [ 0 => "laravel_session=eyJpdiI6InpMNnNqYW43K3JBdDlpK1FuTXBJZEE...
          request_server
          array:42 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "HTTP_COOKIE" => "laravel_session=e...
          request_cookies
          array:4 [ "laravel_session" => "Medw9hBtMdk0O2dg1ZE5rjkgaNPBhU8Zv0kvTuMn" "Hm_lvt_767b4e8393ab59...
          response_headers
          array:5 [ "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ ...
          path_info
          /zixun/detail/65791.html
          session_attributes
          array:4 [ "_token" => "SFzDLKGiybl67HVmUnA6OpmtjlBiwk2yz96L9rha" "_previous" => array:1 [ "u...