首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这交互炸了,Android 仿自如APP裸眼 3D 效果 OpenGL 版

在手机左右上下旋转时,上层和底层的图片呈相反的方向进行移动,中层则不动,在视觉上给人一种 3D 的感觉: 也就是说效果是由以下三张图构成的: image.png image.png image.png...,因此,我们只需关注设备本身 x 轴和 y 轴的偏转角度: 拿到了 x 轴和 y 轴的偏转角度后,接下来开始定义图像的位移了。...几个反直觉的细节 3.1 旋转方向 ≠ 位移方向 首先,设备旋转方向和图片的位移方向是相反的,举例来说,当设备沿 X 轴旋转,对于用户而言,对应前后景的图片应该上下移动,反过来,设备沿 Y 轴旋转,图片应该左右移动...Y 轴旋转角度为0°,即 degreeY = 0 时,默认设备左右的高度差是 0,这个符合用户的使用习惯,相对易于理解,因此,我们可以定义左右的最大旋转角度,比如 Y ∈ (-45°,45°),超过这两个旋转角度...但当 X 轴旋转角度为0°,即 degreeX = 0 时,意味着设备上下的高度差是 0,你可以理解为设备是放在水平的桌面上的,这个绝不符合大多数用户的使用习惯,相比之下,设备屏幕平行于人的面部 才更适用大多数场景

1.5K20

CSS3笔记

在CSS颜色值寻找颜色值的完整列表 -inset 可选。从外层的阴影(开始时)改变阴影内侧阴影 背景 background-image 属性添加背景图片。...2D转换 transform: translate(X,Y)方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。 rotate()方法,在一个给定度数顺时针旋转的元素。...flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。 center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。...center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。...如果不是彩色设备,则值等于0 color-index 定义在输出设备的彩色查询表中的条目数。

3.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HTML5简明教程(三)使用CSS3

    媒体查询media 媒体查询media可以取得设备关键信息,如大小,分辨率等等,根据这些信息应用不同样式。 (1)定义样式表外部链接时使用 背景盒子 利用background-xxx几个属性,可以给盒子设置背景图片(应用多个图片,指定图片是否重复,图片位置等信息)。....bgBox { /*设置多张背景图片*/ background-image: url("top-left.png"), url("bottom-right.png"); /*背景图片不重复...transition属性值格式为:过渡样式+过渡时间 /*在盒子上应用两个过渡效果,分为针对背景色和文本颜色*/ .box { transition: background 0.5s, color...(x,y,z) 沿着X轴位移:translateX(x) 沿着Y轴位移:translateY(x) 沿着Z轴位移:translateZ(x) 倾斜旋转 倾斜旋转:skew(x-angle,y-angle

    1.6K10

    SceneKit 场景编辑器-为您的AR体验构建3D舞台

    您可以使用它来旋转或移动模型。箭头表示坐标系。绿色箭头是Y轴,红色是X轴,蓝色箭头代表Z轴。移动它们以直观地重新定位模型。它们之间的弧度是一次用一个轴旋转对象。 视口控件 视口下方是视口控件。...在这个栏上,我们可以改变到不同的视角。我经常将它设置为前面,因为这是在屏幕上添加模型时的起始角度。如果场景附带动画,您可以通过单击“ 播放”按钮进行预览。...它由3D坐标组成:x,y和z。当所有坐标的初始位置设置为0时,它是应用程序加载时设备相机的起始位置。建议首先或靠近它设置该位置,这样您就可以确保在开始时在您面前看到您的模型,而不是远处的某个位置。...让我们在屏幕上保存一些不动产并隐藏Project Navigator。按Command + 0。 背景 对于设计师来说,背景是平淡的。我们可以在Scene Inspector中更改它。...管子旋转 应用与表冠相同的构思,我们将在节点检查器中将其在z轴上旋转90度。 管子位置 有时,重置位置以查看放置方式是很好的。然后,你可以从那里移动它。因此,对于x,y和z,将其初始化为0。

    5.6K20

    【小程序_02】布局方式

    在标准的viewport设置中,使用倍图来提高图片质量,解决在高清设备中的模糊问题。...父常见属性 2.1 flex-direction(设置主轴的方向) 在 flex 布局中,是分为主轴和侧轴两个方向,同样的叫法有 : 行和列、x 轴和y 轴。默认主轴方向就是 x 轴方向,水平向右。...2.4 align-items(设置侧轴上的子元素排列方式【单行】) 该属性是控制子项在侧轴(默认是y轴)上的排列方式 在子项为单项(单行)的时候使用 属性 说明 flex-start 从头部开始...2.5 align-content(设置侧轴上的子元素的排列方式【多行】 ) 设置子项在侧轴上的排列方式 并且只能用于子项出现 换行 的情况(多行),在单行下是没有效果的 属性 说明 flex-start...注意他们要加小括号 值 解释说明 width 定义输出设备中页面可见区域的宽度 min-width 定义输出设备中页面最小可见区域宽度 max-width 定义输出设备中页面最大可见区域宽度 为了防止混乱

    1.4K20

    使用Three.js制作酷炫无比的无穷隧道特效

    我最初认为隧道实际上沿相机的方向运动,之后我觉得因该让相机移动进隧道中。但这两种想法都是错误的。 实际的解决方案非常巧妙: 场景中没有任何物体发生了实际的运动,发生的仅仅只是隧道贴图位置的移动....当你的鼠标在浏览器上移动的时候,你可以控制隧道的形状。这里的小技巧去更新我们在第一个步骤中创建的曲线。一旦曲线改变了,我们便可以借由一些过渡来更新隧道。...// 更新第三个的在x轴及y轴上的位置 curve.points[2].x = -mouse.position.x * 0.1; curve.points[2].y = mouse.position.y...如果你希望更深入地理解,查看第一个例子的源码。我已收到大量的评论。如果你依然有困惑,不要犹豫来Twitter上找我吧。 例子 一旦你有了基础的隧道模型,你可以不同的方向来改造它。...在手机或平板上尝试这个例子,并通过设备朝向来控制方向!

    6.9K52

    赶紧看看!2023年即将推出的CSS特性对你影响大不大?

    : 0.3rem dashed hotpink; outline-offset: 0.7rem; } 动态视口单元 Web 开发人员今天面临的一个常见问题是准确且一致的全视口大小调整,尤其是在移动设备上...作为开发人员,希望 100vh (视口高度的 100%)表示“与视口一样高”,但该 vh 单元不考虑移动设备上缩回导航栏之类的事情,因此有时它最终会太长并导致滚动。...这意味着当您向上或向下滚动时,动画会向前或向后滑动。此外,对于滚动驱动动画,您还可以根据元素在其滚动容器中的位置来控制动画。...在下面的示例中,点围绕中心点旋转。每个点不是围绕其自身的中心旋转然后向外移动,而是在 X 和 Y 轴上平移。...X 轴和 Y 轴上的距离分别通过考虑 --angle 的 cos() 和 sin() 来确定。

    21330

    收藏 | 22个短视频学习Adobe Illustrator论文图形编辑和排版

    这些白板在我们后期修改时会干扰我们的选择。移除时可能需要释放剪切蒙版,以移动单个部分。 06 直接选择真好用,元素丢失别害怕 当然也可以用直接选择工具。...11 位置向导要注意,锚点位置不要变 调整对象的长宽时,注意位置向导。默认是中心不变,如果对象变长了会左右延伸。Y轴的刻度线通常我们希望其右侧不动,如果延长了,则向左延长。...首先设置定位点为“中右”,然后调整其长度。X轴的刻度线通常我们希望其顶部不动,如果延长了,则向下延伸。首先设置定位点为“上中”,然后调整其长度。其它对象亦同。...调整参考点为中上,设置Y轴为0,图例就顶格了。Ctrl++放大图片,鼠标在图例上浮动游走,查看屏幕显示的坐标,定位Y轴坐标141的位置。...我们在作图导出PDF时一定要注意,保留课编辑的文本。 19 红色背景缺字体,重新设置就可以 字体缺少时,文字会出现分红色背景。

    46040

    emwin教程_emwin教程

    void GUI_DrawBitmap(const GUI_BITMAP * pBM, int x, int y); 1) pBM:指向要显示的位图的指针; 2) x:位图在显示屏中左上角的 X 轴坐标...; 3) y:位图在显示屏中左上角的 Y 轴坐标。...1/1000,当值为负值时将在 X 轴镜像位图; 7) yMag:Y方向的缩放比例因子,单位为 1/1000,当值为负值时将在 Y 轴镜像位图。...下一次重新绘制窗口 (手动或通过回调例程) 时,将 验证它 Z 轴位置,底部/顶部: 虽然窗口以 X 和 Y 的形式显示在二维屏幕上,但窗口管理器还可管理 Z-位置 (深 度坐标) 即虚拟三维中的一个位置...,或使用函数 WM_EnableMemdev() 为指定窗口开启内存设备 窗口管理器将 WM_PAINT 消息的输出位置重定向到内存设备中,重绘完成后把内存设备中的内容复制到屏幕上。

    5.4K40

    掌握 CSS 更多样式,丰富网页设计

    透明度 opacity 它设置的是整个元素的透明,取值 0-1, 0 完全透明, 1 完全不透明 在颜色位置设置alpha通道(rgba) 可以设置颜色的透明度, 取值 0-1, 0 完全透明,...1 完全不透明 鼠标 cursor: pointer; 鼠标指针变成手型 cursor: move; 鼠标指针变成移动的图标 cursor: crosshair; 鼠标指针变成十字形 cursor:...背景图 img 元素是属于html的概念 背景图属于css的概念 1.当图片属于网页内容时,必须使用img元素 2.当图片仅用于美化网页时,必须使用背景图 涉及到的css属性 background-image...:url(图片路径), 背景图 background-repeat:no-repeat, 背景图不重复 background-repeat:repeat-x, 背景图只在x轴重复 background-repeat...:repeat-y, 背景图只在y轴重复 background-repeat:repeat, 背景图在x轴和y轴都重复 background-size:cover, 背景图覆盖整个盒子 background-size

    13210

    【笔记】《游戏编程算法与技巧》1-6

    然后按照设置好的索引位置和区域大小来从表单中读取所需的图像, 这样能消除图像切换的消耗 下图左边是分离的图像, 右图是整合后的精灵表单: 常见的2D游戏 单轴滚屏: 游戏世界只按照x轴或y轴滚动,...: 游戏世界会同时在xy上滚动, 类似单轴滚屏, 需要同时准备四张背景图像用于显示, 而且背景不再使用链表来组建, 而是改为二维数组来决定目前需要显示哪些背景图像 砖块地图: 将背景切分为等分的方块,..., 这个特性动手推一下就能够得到, 本质是因为与x和z轴的时候不同, 绕y轴旋转时, z的初始位置是(0, -1), 本质是手性带来的不对称性....基于OpenGL的书中常见的标准视体的是比较符合数学规则的三个轴都在(-1, 1)的立方体, 而基于DirectX的标准视口则为了表达方便将z映射到(0, 1)上, 这会使得投影变换矩阵产生差别, 具体查看对应文档即可...), 管理器在判断某输入操作发生时, 就依次调用链表中的对应函数通知需要响应事件的对象 移动设备输入 移动设备一般面对轻度玩家, 所以最好不要采用过于复杂的操作 移动设备的核心是触摸屏, 主要由模拟家用机游戏的虚拟手柄和手势操作组成

    4.2K31

    57道常被问的CSS面试题及答案汇总,帮你查漏补缺

    如:transform:rotate(30deg): 二、移动translate 移动translate我们分为三种情况:translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动...);translateX(x)仅水平方向移动(X轴移动);translateY(Y)仅垂直方向移动(Y轴移动)。...);skewX(x)仅使元素在水平方向扭曲变形(X轴扭曲变形);skewY(y)仅使元素在垂直方向扭曲变形(Y轴扭曲变形)。...具体使用如下: 1、skew( [, ]) :X轴Y轴上的skew transformation(斜切变换)。第一个参数对应X轴,第二个参数对应Y轴。...web开发中,UI设计稿中设置边框为1像素,前端在开发过程中如果出现border:1px,测试会发现在某些机型上,1px会比较粗,即是较经典的 移动端1px像素问题。

    2.7K31

    CSS3给网页穿上美丽的外衣

    ,需要新建一个css 文件,然后在head中写link 按table,在href中写入css代码路径,关联起来即可。...背景图片和插入img的图片,img直接插入,背景图片是用来做背景的 ,和桌面一样 坐标移动的原理 div背景图片 图片小 div大 background:url(“图片路径”) no-repeat(不平铺...) 坐标(x轴) y轴; background: url(“1.jpg”) no-repeat 80px 90px; 移动坐标 x轴为左负 右正 y轴为上负 下正 ,可以直接写像素值 若移动左上右下等等...; div背景图片,图片大,div小的时候 可以直接用坐标进行调整,左负右正,上负下正,控制台,进行调整 练习: 制作我的购物车 16、span标签 span是一个文字标签 等于小括号 移动坐标 x...轴为左负 右正 y轴为上负 下正 ,可以直接写像素值 若移动左上右下等等,可以直接用上 top 下 bottom 左 left 右 right 居中 center 例:移动到右下 background

    6410

    视差特效的原理和实现方法

    mousemove) document.addEventListener('mousemove', e => { // 获取鼠标当前位置的x也y坐标,分别设置在 .box 的 right...(加入x和y坐标分别是 10 和 20),就设置元素在页面右下方(右:10,下:20)。...实际开发中这会带来一定的 布局问题 和 性能问题(会导致布局更改或重新绘制,并会导致动画不稳定。) ,推荐优先考虑使用 transforms 对元素进行移动等操作。...直接在 css 里通过 background-image 添加一个背景图,背景图不重复,起始位置在中心,背景图比容器稍微大一点点,但不会超出容器。...function parallax(e) { let x = e.x // 指针x轴位置 let y = e.y // 指针y轴位置 // 如果 timeout 已经存在,就取消一个先前通过调用

    2K30

    57道CSS常问面试题及答案汇总

    如:transform:rotate(30deg): 二、移动translate 移动translate我们分为三种情况:translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动...);translateX(x)仅水平方向移动(X轴移动);translateY(Y)仅垂直方向移动(Y轴移动)。...);skewX(x)仅使元素在水平方向扭曲变形(X轴扭曲变形);skewY(y)仅使元素在垂直方向扭曲变形(Y轴扭曲变形)。...具体使用如下: 1、skew( [, ]) :X轴Y轴上的skew transformation(斜切变换)。第一个参数对应X轴,第二个参数对应Y轴。...web开发中,UI设计稿中设置边框为1像素,前端在开发过程中如果出现border:1px,测试会发现在某些机型上,1px会比较粗,即是较经典的 移动端1px像素问题。

    2K10

    第95天:CSS3 边框、背景和文字效果

    在 CSS2 中添加圆角矩形需要技巧,我们必须为每个圆角使用不同的图片,在 CSS3 中,创建圆角是非常容易的,在 CSS3 中,border-radius 属性用于创建圆角。...在 CSS3 之前,背景图片的尺寸是由图片的实际尺寸决定的。在 CSS3 中,可以规定背景图片的尺寸,这就允许我们在不同的环境中重复使用背景图片。您能够以像素或百分比规定尺寸。...skew():元素转动给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:transform:skew(30deg,20deg);值 skew(30deg,20deg) 围绕 X 轴把元素转动...30 度,围绕 Y 轴转动 20 度。...transform:rotateX(120deg); rotateY():元素围绕其 Y 轴以给定的度数进行旋转。

    1.2K20

    学习 PixiJS — 视觉效果

    平铺精灵 平铺精灵是一种特殊的精灵,可以在一定的范围内重复一个纹理。你可以使用它们创建无限滚动的背景效果。...tilingSprite.tilePosition.x = 30; tilingSprite.tilePosition.y = 30; 这里不是在移动平铺精灵,而是移动平铺精灵使用的纹理。...因为你可以移动纹理的位置,所以你可以使用平铺精灵创建无缝的滚动背景。这对于许多类型的游戏都非常有用。让我们来看看如何做到这一点。 首先,从无缝平铺图像开始。无缝图像是图案在各方面匹配的图像。...Photoshop 中打开一些图像,将这些混合模式应用于这些图像上,观察效果。...可以分别为x轴和y轴设置模糊强度。 BlurXFilter BlurXFilter 将水平高斯模糊应用于对象。

    3.3K40

    cocos creator基本操作

    Y轴坐标 var a = node.getScaleX(); 或getScaleY() //获取节点的X轴或Y轴缩放比例 node.x = 100;//设置节点x轴坐标 node.y = 100;//设置节点...y轴坐标 node.setPosition(x,y); //设置节点坐标 node.rotation = 90; //设置节点旋转角度 node.scaleX = 2; //设置节点x轴缩放倍数 node.scaleY...(时间(s),X轴坐标,Y 轴坐标) node.runAction(cc.scaleTo(1,0.7,0.8));//缩放到当前倍数节点(时间(s),X轴倍数,Y 轴倍数) node.runAction...),X轴倾斜度,Y 轴倾斜度) node.runAction(cc.fadeTo(2,0));//变化当前节点的透明度(时间(s),透明度) node.runAction(cc.tintTo(2,255,255,0...Y 轴距离,只有滚动时才有效 var a = event.getLocation();//获取鼠标位置对象,对象包含 x 和 y 属性 输入框监听:获得焦点'editing-did-began',文字变化

    2.7K31

    基于NB-IoT的智慧路灯监控系统(NB-IoT专栏—实战篇5:手机应用开发)

    在设备定位模块中使用第三方高德地图SDK进行开发; 在云平台对接时使用华为云平台相关模块接口进行开发; 使用Clendar相关类进行日期选择设计; 使用Zxing二维码扫描分析技术进行扫码分析; 使用Echart...4.2、用户登录 用户登录界面使用视屏作为页面背景,通过输入用户名及密码进行系统登录。系统的用户名及密码在系统后台统一进行注册。效果如下所示: ?...此时需要对路灯上的二维码进行扫码,通过扫码得到该路灯的设备信息,从而在主界面中可查看该路灯的其他信息。 效果如下所示: ?...4.4、设备定位 此模块中将对该扫描设备进行设备定位,观察其设备所在的具体位置,并能够查看当前地方的天气环境。此处的设计也是为后来的管理方便,对每一个路灯设备能够全方位的进行查看。...4.5、设备状态 此模块将对所在设备的所有信息进行实时查看,有电压、电流、功率、功率因子、总耗电量、光照度、路灯开光状态及路灯耗能所产生的二氧化碳量。 效果如下所示: ?

    80130

    R语言绘图001-基础参数

    [0; 1]范围中(有些图形设备中也可以超出此范围),表示字符串以左下角为基准、根据自身的宽度和高度分别向左和向下移动的比例,默认为c(0.5, 0.5)。...对很多设备来说,该参数的初始值就是该设备的背景颜色值,其他情况下一般为"white"。...lab 设置坐标轴刻度数目(R会尽量自动“取整”2);取值形式c(x, y,len):x和y分别设置两轴的刻度数目,len目前在R中尚未生效,因此设置任意值都不会有影响(但用到lab参数时必须写上这个参数...n次后返回n次点击的坐标(x, y);并可以在点击处绘制符号(type=”p”时)或连线(type=”l”时),缺省情 况下不画符号或连线 las,只能是0,1,2,3中的某一个值,用于表示刻度值的方向...3.2中宽线条中黑点的位置,在画线时,这些线条的起点和终点(分别用图中的两个黑点表示)都是选择同样的坐标位置!

    2.2K20
    领券