| 代号牛轧糖的最新安卓7.0手机操作系统发布两天后,谷歌公司开发的虚拟现实(VR)平台Daydream(下称“白日梦”)也将在未来几周推出。与平台一同推出的,还有来自Hulu和YouTube等视频网站“网红”们的全新视频内容。 |
打造VR界的安卓
谷歌目前正依靠各种App、短片和游戏来推广“白日梦”这个集合商店和软件服务为一体的平台,公司希望“白日梦”能成为VR界人们首先想到的头牌产品,就像安卓之于智能手机那样。

今年谷歌I/O大会上,公司就曾表示,“白日梦”平台上会出现谷歌自己的一系列产品,包括街景、YouTube、照片、电影等服务的VR特别版。本周刚刚升级的操作系统“牛轧糖”,也体现了谷歌对在VR方面的布局。系统支持VR平台,并将内置VR界面,方便用户戴上谷歌眼镜直接体验这项功能。

“白日梦”平台届时会有数十款应用,包括视频应用YouTube、Hulu、HBO电视台的流媒体服务,以及包括NBA和MLB(美国棒球职业联赛)在内的体育大联盟的应用。谷歌会参与其中一些项目的推广,但不会在谷歌独家发布,Hulu平台会将一些视频内容的发布时间与Daydream同步。
与视频网站、网红等合作生产内容
包括谷歌在内,各家涉足VR的科技公司都很清楚,目前这一领域急缺好的内容资源,由于VR视觉展示方式的特殊性,其内容也必须量身定制,所以各家公司纷纷在内容上投入。在VR方面靠着Oculus进行布局的Facebook已经在一些独立视频项目上投资了数百万美元。
匿名知情人士向彭博社透露,谷歌将合作推广Hulu视频网站的内容,并投资YouTube网红Justine Ezarik等人的360度视频拍摄项目。同时,Daydream项目已经与电子游戏发行商和体育联盟达成合作协议,来将该VR项目的内容丰富程度最大化。
专注基于移动端做VR
目前,全球各大科技巨头正在进行一场不可避免的VR恶战,Facebook、索尼、三星和HTC等公司都在摩拳擦掌。但谷歌自有杀出一条血路的方法——专注移动端。
索尼的Morpheus头戴装置和其PlayStation游戏控制手柄捆绑,而谷歌则专注于基于移动端的VR,方便用户把手机和面罩或头戴装置进行连接。戴上头戴装置后,用户就可以通过“白日梦”使用YouTube、HBO Now等各种App。
正在为“白日梦”开发一款音乐App的TheWaveVR联合创始人Finn Staber表示:“很明显,谷歌为内部应用已经花了不少钱。”他认为,虽然竞争对手们瞄准的是愿意为高端VR设备砸几百美元的客户,但手机的受众范围更广。
现在市面上,无论是索尼的PS VR,Facebook的Oculus,还是HTC的Vive,售价都不菲,同时还需要另外购入主机。移动VR显然是有很大潜力的,在这方面能够与谷歌相提并论的也就只有三星的Gear VR,但美中不足是,Gear VR必须搭配确定型号的手机使用,这一点在已经渗透到全世界大量手机中的安卓系统拥有者谷歌面前,绝对是一个致命伤。
“白日梦”要给移动VR树立标准
目前谷歌虽然也参与VR头戴装置和控制器的设计,但参与的主要是“参考性设计”环节,VR硬件设备还是由其他公司来制造他们自己品牌的产品。
也就是说,谷歌不仅希望把“白日梦”打造成一个像安卓那样的平台,更要通过这一系统为移动VR设定统一标准。一旦硬件市场不再参差不齐,其后续的内容生产、App入驻都能够顺势规范化,这对于软硬件生产商、内容生产者来讲都能够提高效率。
所以,谷歌的VR平台Daydream绝非白日做梦,而是谷歌移动VR梦的开端。
我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby数组,我们在StackOverflow上找到一
当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail
我正在尝试从googleAPI下载client_secret.json。我正在执行https://developers.google.com/gmail/api/quickstart/ruby中列出的步骤.使用此向导在GoogleDevelopersConsole中创建或选择项目并自动启用API。在左侧边栏中,选择同意屏幕。选择电子邮件地址并输入产品名称(如果尚未设置),然后单击“保存”按钮。在左侧边栏中,选择凭据并点击创建新客户端ID。选择应用程序类型已安装应用程序,已安装应用程序类型为其他,然后单击“创建客户端ID”按钮。点击新客户端ID下的下载JSON按钮。将此文件移动到您的工作
我正在尝试使用Ruby中的SeleniumWebDriver2.4模拟鼠标移动如果我运行测试,是否应该看到鼠标在我的屏幕上移动?我很困惑。我试过很多不同的方法示例代码:require'selenium-webdriver'driver=Selenium::WebDriver.for:firefoxdriver.navigate.to'http://www.google.com'element=driver.find_element(:id,'gbqfba')那我试过了driver.action.move_to(element).performdriver.mouse.move_to(e
在控制台中,您可以像这样打印"\b"来删除光标左侧的字符(退格键)print"thelastcharisgoingtobeerased\b"#thelastcharisgoingtobeerased如何只向左移动一个位置而不是删除(向左箭头)? 最佳答案 这取决于终端类型和连接,但通常可以假定ANSI光标移动,因此光标向左是ESC+'['+'D':print"Thecursorshouldbebetweenthearrows:->参见http://ascii-table.com/ansi-escape-sequences.php获取
x={:name=>"John",:data=>{:physical=>{:age=>25,:weight=>150}}}我希望将数据的子属性向上移动一个级别(但不一定只是简单地展平所有属性)。在这种情况下,我基本上想将:physical属性“向上”移动一个级别。我正在尝试这个y=x[:data']y.each{|key|x[key]=y[key]}但是我得到...x=x.except(:data)=>{:name=>"John",[:physical,{:age=>25,:weight=>150}]=>nil}我在找...=>{:name=>"John",:physical=>{:a
我正在为我的网站使用MiddlemanBloggem,但默认情况下,博客文章似乎需要位于/source中,这在查看vim中的树时并不是特别好并尝试在其中找到其他文件之一(例如模板)。通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他地方,例如blog_articles文件夹或类似文件夹。这可能吗? 最佳答案 将以下内容放入您的config.rb文件中。activate:blogdo|blog|blog.permalink=":year-:month-:day-:title.html"blog.sources=
我的一个模型中有以下方法来保存用户记录:defsave_user(params)beginsave_user_details(params)rescueActiveRecord::RecordInvalid=>ex{success:false,errors:ex.messages}rescueException=>exRails.logger.info(ex.message)Rails.logger.info(ex.backtrace.join(‘\n’){success:false,errors:’Someerroroccurred.}endend我们可以看到rescueblock很