小程序游戏开发发大牛们如何看Daydream

您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
发私信给李诗
导语:不少公司推出了AR眼镜产品,但是真正做到全球大规模落地和批量出货的却没有几家。
同步到新浪微博
关注AI/VR/AR技术与产品。采访报道、行业交流请加微信“Hanass”~
当月热门文章
为了您的账户安全,请
您的邮箱还未验证,完成可获20积分哟!
您的账号已经绑定,现在您可以以方便用邮箱登录
请填写申请人资料Google Daydream大牛解析:如何打造舒适的VR场景?(二)
雷锋网(搜索“雷锋网”公众号关注)按:本文来自指挥家工程师分享。
上一篇推送中,我们分享了Google Daydream核心技术大牛Dave的《关于用户对VR的想法》的演讲,让大家了解了用户对VR应用场景的畅想。
那么到底该如何打造一个令用户感到舒适的虚拟体验场景呢?指挥家VR为小伙伴们继续献上“Daydream设计分享之二”—如何为用户打造舒适的VR场景体验?
在移动互联网应用中,许多设计师们都思考过如何通过视觉去引导用户,比如在手机上如何摆放内容让用户更容易点击到。
但VR设计想象起来有点恐怖,因为可以做的事情太多了。首先要了解一些VR设计上的限制条件,其中身体限制就是其中之一。
而当你为Daydream设计时,需要多去考虑用户是如何转动他们的头部,有多少内容是他们可以看到的,还有多远的距离是合适的。指挥君总结了分享中的几点要素,可以帮助VR设计师们在设计场景时少走很多弯路。
就像在着电影屏幕一样,在VR场景中用户最多可以看到左右70°左右的内容,但是30°以内是最舒适的范围。如果超出这个范围,虽然可以看到,但并不是特别舒服,他们需要转动脖子进行观察。
试想如果你将内容放在太偏的地方,用户可能会需要频繁调整他们的姿势来观察内容。所以VR场景中,UI界面左右覆盖最好不要超过70°的可视角,每侧的内容在35°范围内为佳。
垂直角度的设置则可以帮助你为用户设计出最佳视角和可活动区域。垂直角度的内容最大覆盖区域为15°。角度问题当然主要还是受到用户姿势的影响,比如当用户靠在椅子上时,受脖子限制,他们没法将头低下来太多。
2、信息深度
深度信息是VR场景和普通二维场景的最大区别之一。我们可以将所有的信息放在用户视野活动区域的平面上,还可以将信息摆在不同深度上。
但是信息深度的摆放也不能太过随意,不然可能会严重影响用户的体验。界面不宜太靠近用户,这会让用户觉得信息是贴在脸上的,阅读起来十分困难。同时界面不宜离用户太远,这会让用户完全读取不到信息。建议的深度距离控制在具体用户0.5m—20m之间。
在界面背景中通过增加一些粗糙点和光影信息,大脑会自动帮助用户理解界面之间的关系。其中,粗糙点的目的是让背景看起来不是平涂出来的色块,阴影的设置可以让你的用户更好的理解场景里的深度变化。如果没有以上这些信息的话,在VR场景中用户感觉就会像是看着无限远的地方。
3、文字大小
VR场景里,文字将是不可或缺的组成元素。但是VR中的文字到底应该多大才能保证用户的舒适阅读呢?什么样的尺寸会影响到用户的阅读?
最理想的状态是可视角内每一度达到包含60个像素左右,但现阶段大部分的设备像素密度集中在10~13像素左右。就目前来说基础文字大小都不能小于14像素,否则用户将无法准确阅读,而20像素左右是目前最为舒适的一个大小尺寸。随着技术的发展,更高的度像素密度,可以使你的文本尺寸即使缩小也可以轻易阅读。
这边有个公式可以提供给大家,通过这个公式利用引擎中的距离、理想像素和设备的度像素计算出最终合适的文本高度。
以上是Google的工程师Mike分享给大家一些关于虚拟现实用户界面的设计建议,但要打造一款优秀的VR内容光靠这些是远远不够的。环境的营造将会是用户界面的十分重要的一部分。下一篇《Daydream设计分享之三—如何营造舒适的VR内容氛围》,敬请期待。
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
致力免费为玩家、消费者提供国内最值得入手的新奇酷玩产品
读懂智能与未来!
今日搜狐热点您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
发私信给番薯小姐
导语:用户对VR应用场景有什么期待?
同步到新浪微博
指挥家VR资深角色设计师,从业五年,十三年的绘画功底,参与多项迪斯尼动画制作及游戏原创开发,代表作品有《乐高蝙蝠侠》 《CF手游》 《战争雷霆》等
当月热门文章
为了您的账户安全,请
您的邮箱还未验证,完成可获20积分哟!
您的账号已经绑定,现在您可以以方便用邮箱登录
请填写申请人资料google daydream 拉来了 hbo,《西部世界》第二季可以用 vr 看了
《西部世界》第一季结束了,据说第二季要到 2018 年才会播出。当你觉得第一季已经够刺激时,第二季可能会给你带来更震撼的观影体验。因为,hbo 要开始玩 vr 了。12 月 9 日,google宣布hbo 旗下的视频订阅应用 hbo now 和 hbo go 即将进驻 google daydream 的移动 vr 平台。如果你已经拥有 google daydream view 头盔,那么以后就有福
《西部世界》第一季结束了,据说第二季要到 2018 年才会播出。当你觉得第一季已经够刺激时,第二季可能会给你带来更震撼的观影体验。因为,hbo 要开始玩 vr 了。12 月 9 日,google宣布hbo 旗下的视频订阅应用 hbo now 和 hbo go 即将进驻 google daydream 的移动 vr 平台。如果你已经拥有 google daydream view 头盔,那么以后就有福了,它将允许订阅者以家庭影院式的 vr 模式观看 hbo 旗下的影视剧集。(图片来自:yahoo)目前,hbo now 中还没有任何有关 vr 的内容,观众只能退而求其次地以 3d 效果观看本来是 2d 的视频内容。也许在不久的将来,hbo 会考虑把片库中的一些流行电影制作成真正的 3d 内容。此前,hbo 曾在金山的 techcrunch disrupt 大会上设立了一个《西部世界》vr 体验厅,让玩家在现实中走进《西部世界》中的“虚拟世界”。如果说当时只是 hbo 的 vr 初体验,这次与 google 的合作可以算是 hbo
vr 的一次野心之作。除了 hbo,据说 netflix 也将于本月晚些时候加入 google daydream 大家庭。目前 google daydream 官网上已经出现了 netflix 的图标,但 google 没有透漏更多相关细节。(图片来自:google)喜欢看比赛的体育迷们和喜欢看演唱会的粉丝们也将获得新的 vr 观看体验,主打体育赛事和演唱会 vr 直播的 nextvr 也将上线 google daydream。除了视频服务,google daydream 还添加了游戏方面的应用,包括乐高推出的免费 vr 游戏 lego brickheadz builder 以及付费游戏 gunjack 2:end of shift、wands、underworld overlord 、layers of fear:solitude 以及need for speed(TM) no limits vr。(图片来自:vrscout)但有玩家表示,google daydream 平台上的大部分游戏体验都很相似:很完整,让人觉得舒服,但却没有太多兴奋点。据悉,google 此前曾表示要在 2016 年之前在 daydream 平台上线 50 个 app,在这次发布之后,google 离之前的目标又近了一步。(图片来自:digital trends)和三星 gearvr 类似,google daydream 的 vr 头盔也需要配合智能手机一起使用。目前支持 google daydream 的手机仅包括 google 旗下的 pixel 系列以及摩托罗拉的 moto z 以及 moto z force,但报道称更多可适配 daydream 的手机将于 2017 年登场。题图来自:youtube
声明:www.smlou.com所发布的内容均来源于互联网,目的在于传递信息,但不代表本站赞同其观点及立场,版权归属原作者,如有侵权请联系删除。
文章:13790
Powered by移动端原生H5开发心得和干货(持续更新) - 简书
移动端原生H5开发心得和干货(持续更新)
新增HTML项5.
1. Viewport
&!-- 让页面宽度等于设备宽度,缩放比例为1,禁止用户缩放网页 --&
&meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"&
&!-- 针对一些不识别viewport的浏览器,如黑莓 --&
&meta name="HandheldFriendly" content="true"&
&!-- 针对微软的老式浏览器 --&
&meta name="MobileOptimized" content="320"&
不设置的话,相当于用手机访问PC端页面一样,无初始缩放和页面宽度
2. Apple设备使用Web App模式(一般用于SPA应用,因为如果在里面点击还是跳转其他链接的话,还是会从Safari打开的)
&!-- 设置Web应用是否以全屏模式运行 --&
&meta name="apple-mobile-web-app-capable" content="yes"&
&!-- 设置状态栏(屏幕顶部栏)的样式,default为白色,black为黑色,black-translucent为透明 --&
&meta name="apple-mobile-web-app-status-bar-style" content="default"&
&!-- 设置添加到主屏幕后的图标 --&
&link rel="apple-touch-icon" href="xxx.png"&
&!-- 设置启动动画,避免加载时出现白屏 --&
&link rel="apple-touch-startup-image" href="xxx.png"&
&!-- 设置添加到主屏幕后的标题 --&
&meta name="apple-mobile-web-app-title" content="标题"&
在Safari浏览器点击分享按钮-添加到主屏幕,然后在桌面打开
3. 强制浏览器全屏(UC/QQ)
&!-- UC强制竖屏 --&
&meta name="screen-orientation" content="portrait"&
&!-- UC强制全屏 --&
&meta name="full-screen" content="yes"&
&!-- UC应用模式 --&
&meta name="browsermode" content="application"&
&!-- QQ强制竖屏 --&
&meta name="x5-orientation" content="portrait"&
&!-- QQ强制全屏 --&
&meta name="x5-fullscreen" content="true"&
&!-- QQ应用模式 --&
&meta name="x5-page-mode" content="app"&
就是浏览器全屏,隐藏浏览器上下的状态栏
&!-- 忽略网页自动识别数字为电话号码 --&
&meta name="format-detection" content="telephone=no"&
&!-- 忽略网页自动识别邮箱账号 --&
&meta name="format-detection" content="email=no"&
某些浏览器识别成功之后会将号码或者邮箱转换成a标签
5. Windows Phone点击无阴影
&meta name="msapplication-tap-highlight" content="no"&
类似于css的-webkit-tap-highlight: transparent
6. 清除浏览器缓存
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&
手机页面通常在第一次加载后会进行缓存,然后每次刷新会使用缓存而不是去重新向服务器发送请求。如果不希望使用缓存可以设置no-cache
1. 调用系统功能
&!-- 拨号 --&
&a href="tel:10086"&打电话给: 10086&/a&
&!-- 短信 --&
&a href="sms:10086"&发短信给: 10086&/a&
&!-- 邮件 --&
&a href="mailto:"&发邮件给:&/a&
&!-- 选择照片或者拍摄照片 --&
&input type="file" accept="image/*"&
&!-- 选择视频或者拍摄视频 --&
&input type="file" accept="video/*"&
&!-- 多选 --&
&input type="file" multiple&
2. 取消Input在Apple设备中,英文首字母默认大写
&input autocapitalize="off" autocorrect="off"&
3. :active伪类失效
&!-- 注册一个空的touchstart事件 --&
&body ontouchstart=""&&/body&
4. 唤醒App
&a href="weixin://"&打开微信&/a&
让Android或者Ios开发者提供一个App协议给你就可以了,让人尴尬的是,我们不知道用户到底有没有安装此App应用,所以需要Javascript来配合,当用户已安装直接跳转到App,没有安装跳到下载地址,详情在本文中的Javascript项
5. 软键盘弹出数字键盘(用户只能输入数字)
&input type="number" pattern="[0-9]*"&
1. 去除某些区域点击的时候会出现阴影
a, button, input, img, select, textarea {
-webkit-tap-highlight-color: transparent
2. 禁止用户长按选中、复制文本
user-select:
-webkit-user-select:
-moz-user-select:
-khtml-user-select: none
3. 禁止用户长按出现菜单栏
-webkit-touch-callout: none
4. 流畅滚动(一般用于overflow: scroll之后出现滚动不流畅的情况)
-webkit-overflow-scrolling: touch
5. 改变输入框placeholder的颜色值
::-webkit-input-placeholder { /* WebKit browsers */ color: #999; }
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #999; }
::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #999; }
:-ms-input-placeholder { /* Internet Explorer 10+ */ color: #999; }
input:focus::-webkit-input-placeholder{ color:#999; }
6. 修改表单元素的默认样式
input, button, select, textarea {
appearance:
-webkit-appearance:
-moz-appearance: none
checkbox也可以写成switch组件,
7. 多行文本超出显示省略号
/* 超出n行时显示省略号 */
.hide-text-n {
text-overflow:
display: -webkit-
-webkit-line-clamp:
-webkit-box-orient: vertical
8. css3启用硬件加速
写transition、animation时,请用transform代替left、top等属性,从而使动画更流畅
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0)
9. 解决transition闪屏
-webkit-transform-style: preserve-3d;
-webkit-backface-visibility:
-webkit-perspective: 1000
10. 旋转屏幕时字体大小不改变
html, body, form, p, div, h1, h2, h3, h4, h5, h6 {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%
11. 某些Android机圆角失效
background-clip: padding-box
12. select下拉选择设置右对齐
select option {
direction: rtl
13. 部分机型input的type为search时,自带close按钮的样式修改方案
.search::-webkit-search-cancel-button {
display: none
14. 使用rem单位
font-size: 10px
font-size: 1.4rem
@media screen and (max-width: 320px) {
font-size: 8px
1rem = 1 * 根元素的font-size值,因此这里的body font-size为14px,以后要修改font-size,直接修改根元素的就行啦,牵一发而动全身
15. 自定义滚动条样式
::-webkit-scrollbar /* 滚动条整体部分 */
::-webkit-scrollbar-thumb /* 滚动条内的小方块 */
::-webkit-scrollbar-track /* 滚动条轨道 */
::-webkit-scrollbar-button /* 滚动条轨道两端按钮 */
::-webkit-scrollbar-track-piece /* 滚动条中间部分,内置轨道 */
::-webkit-scrollbar-corner /* 边角,两个滚动条交汇处 */
::-webkit-resizer /* 两个滚动条的交汇处上用于通过拖动调整元素大小的小控件 */
::-webkit-scrollbar修改浏览器滚动条样式,div::-webkit-scrollbar修改某个节点的滚动条样式
16. Android上去掉语音输入按钮
input::-webkit-input-speech-button {
display: none
17. 监听屏幕旋转事件并且处理样式
/* 竖屏时样式 */
@media all and (orientation:portrait) {
body::after {
content: '竖屏'
/* 横屏时样式 */
@media all and (orientation:landscape) {
body::after {
content: '横屏'
18. Flexbox兼容写法
display: -webkit-
display: -moz-
display: -ms-
display: -webkit-
display: flex
-webkit-box-flex: 1.0;
-moz-flex-grow: 1;
-webkit-flex-grow: 1;
flex-grow: 1
.box-column {
-webkit-box-orient:
-webkit-flex-direction:
-ms-flex-direction:
flex-direction: column
.box-row-center {
-webkit-box-pack:
-moz-justify-content:
-webkit-justify-content:
justify-content: center
.box-column-center {
-webkit-box-align:
-moz-align-items:
-webkit-align-items:
align-items: center
.box-center {
-webkit-box-pack:
-moz-justify-content:
-webkit-justify-content:
justify-content:
-webkit-box-align:
-moz-align-items:
-webkit-align-items:
align-items: center
.box-between {
-webkit-box-pack:
-webkit-justify-content: space-
-ms-flex-pack:
justify-content: space-between
.box-around {
-webkit-box-pack:
-webkit-justify-content: space-
-ms-flex-pack:
justify-content: space-around
这里列出了几个经常使用的属性,一般情况下够用
19. 高度Auto如何全屏居中
&div class="dialog-wrapper box box-center"&
&div class="dialog-content"&我是内容&/div&
.dialog-wrapper {
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, .7);
z-index: 100
.dialog-content {
background-color: #fff
fixed + flexbox布局,一般用于对话框
20. 左边固定宽度,右边自适应
&div class="item box"&
&div class="left"&&/div&
&div class="right box-1"&&/div&
.item .left {
flex布局,以前用float+margin
21. 按钮点击的样式
.btn:active {
opacity: .7
22. Scroll-X
&div class="scroll-x"&
&div class="scroll-item"&&/div& * n
.scroll-x {
overflow-x:
-webkit-overflow-scrolling:
height: 55
padding: 15
.scroll-item {
flex-shrink: 0;
margin-right: 10
background-color:
Javascript项
1. 唤醒App,唤醒失败则跳转到下载地址
&a href="weixin://" class="js-open-btn"&打开微信&/a&
javascript
var btn = document.querySelector('.js-open-btn');
btn.addEventListener('click', openInApp, false);
function openInApp () {
var t = new Date();
setTimeout(function () {
setTimeout(function () {
var tag = document.
if (new Date() - t & 2000 && !tag) {
window.location = isIphone? urlios : urlapk
2. 浏览器滚动到底部,加载数据
function isBottom () {
var { offset = 20, callback = null } = options ? options : {};
$(document).on('scroll', function () {
var top = parseInt($(document).scrollTop());
top &= ($(document).height() - $(window).height() - offset) ? callback && callback() : false
isBottom({
callback: function () {
if (!loading) {
// your code
offset为偏移量,距离底部还有多少时执行回调
3. 获取设备类型
function getUserAngent () {
var ua = window.navigator.userA
isWechat: ua.toLowerCase().match(/MicroMessenger/i) == 'micromessenger',
isAndriod: ua.indexOf('Android') & -1 || ua.indexOf('Linux') & -1,
isIphone: ua.indexOf('iPhone') & -1 || ua.indexOf('iPad') & -1,
isPc: !/Android|webOS|iPhone|iPod|BlackBerry/i.test(ua),
isQQ: ua.match(/QQ\//i) == "QQ/"
isQQ返回是否是手机QQ内置浏览器,而不是QQ浏览器
4. 监听页面可见性变化
// 当前窗口得到焦点
window.onfocus = function () {}
// 当前窗口失去焦点
window.onblur = function () {}
document.addEventListener('visibilitychange', function () {
var hidden = document.
if (hidden) {
// 当前窗口失去焦点
// 当前窗口得到焦点
页面最小化、切换标签、切换应用
5. Apple设备zepto/jquery事件委托bug
$(document).on('click', '.btn', function () {
console.log(this)
.btn为div标签,不管是异步添加的还是同步添加的.div,在Iphone上都无法触发该事件,但是Android、PC却可以,上网找了一下资料,解决办法有两种:
给.btn加个css属性cursor:
换成a或者button标签;
6. 禁止页面滚动
var roller = {
handle(e) {
e.preventDefault()
lockRoll() {
document.addEventListener("touchmove", handle, false)
cureRoll() {
document.removeEventListener("touchmove", handle, false)
一般用于弹出蒙层(mask)之后禁止,消失就恢复
7. 监听屏幕旋转事件
window.addEventListener('onorientationchange', callback, false);
function callback () {
let orientation = window.
if(orientation
== 0 || orientation
8. 重力感应
window.addEventListener('deviceorientation', callback, false);
function callback (e)
var data = e.accelerationIncludingG
console.log(data) // 这里有你想要的数据
一个不错的库
9. 事件穿透
点击穿透问题:点击蒙层(mask)上的关闭按钮,蒙层消失后发现触发了按钮下面元素的click事件,解决办法:
touch延迟350ms再隐藏蒙层(mask)
-移动端的Jquery
-复制剪贴板
-动态生成二维码
如果您喜欢这篇文章,那么记得动动你们的?,给个like或者关注我哦?。
一起在月球时代的白日梦里畅游
1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好化时间 M...
为了让大家能相互交流和分享ios面试题,精彩的demo,想一起进步、提升自己,欢迎加入我们,最经典的资料,只给群里自己人看!群号:!QQ图片35.jpg 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请...
用到的组件 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友...
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBP...
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBP...
2013年,我第一次来北京,一个人。 晚上十二点多到首都机场,然后上了机场大巴,结果因为太累了睡过去了,醒来的时候车子已经开到了公主坟。 凌晨两点多的时候,街上空荡荡的,附近也找不到住的地方,24小时营业的肯德基也关门了。 从南方过来的我穿着件单衣站在公交站,手里...
写作是一个输出过程,首先要输入。就像奶牛产奶一样,必须吃新鲜美味的草,才能产出牛奶来。 前几天读了这篇文章,收获很大,与大家分享一下。 黏性创意的6大原则。 哈佛故事课堂内容。 日,写于11:30 出书训练营第67篇
王茹 王茹:自媒体出版人,爱阅读,...
日天气晴 今天虽然是周六,闺女也早早的起了床和我说“妈妈,今天我要主动的写作业”。我说,好啊,那你一定要认真,写的慢不要紧,要记扎实啦,闺女说“好,写完你检查”
在闺女写作业期间,我偷偷地瞄了一眼,果然坐的也直立也在认真的写。我过去说这次字写的也漂亮,也...
我在这里,只会一步步走向抑郁,只会活在过去
如魅影缠身 被扼住咽喉 痛得快要窒息 如 海上的一叶孤舟 如 沙漠中的一抹孤影 飘渺 无助 却无力摆脱 拿起手中的剑 劈开迷雾 刺穿黑暗 找寻那道光 砥砺前行 披荆斩棘 只为到达彼岸 勇者无惧 为找到那道心中的光明 哪怕脚下白骨累累 哪怕下一刻会死去 也不能停下 终...}

我要回帖

更多关于 小程序游戏开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信