A-Frame 如何调用 object3D

A-Frame 是一个可以在HTML中创建3d场景的框架,使用Three.js和WebGL来创建VR场景。

操作方法

  • 01

    模板 A-Frame 的所有元素都放在 <a-scene> 中,初始代码如下: <!DOCTYPE html><html>  <head>    <meta charset="utf-8"/>    <title>Our First A-Frame Experience</title>    <script src="https://aframe.io/releases/0.4.0/aframe.min.js"></script>  </head>  <body>    <a-scene>          </a-scene>  </body></html>

  • 02

    天空 天空使用的元素是 <a-sky>,代码如下: <a-sky color="#C500FF"></a-sky> 此时会产生一个紫红色的天空。天空也可以是一个全景图.flickr 有很多全景图,我们选一个作为背景,比如这一张

  • 03

    现在把天空换成这张全景图。 <!DOCTYPE html><html>  <head>    <meta charset="utf-8"/>    <title>Our First A-Frame Experience</title>    <script src="https://aframe.io/releases/0.4.0/aframe.min.js"></script>  </head>  <body>    <a-scene>      <a-sky src="https://c1.staticflickr.com/8/7376/16218590470_468084c950_h.jpg"></a-sky>    </a-scene>  </body></html> 现在代码(在http://codepen.io打开代码,在codepen.io预览) 现在用手机看效果是不是有身临其境的感觉了。

  • 04

    放一个球进去 <a-scene>  <a-sky src="https://c1.staticflickr.com/8/7376/16218590470_468084c950_h.jpg"></a-sky>  <a-sphere position="0 1.25 -5" radius="1.25" color="#66ffcc"></a-sphere> </a-scene> 现在场景中多了一个蓝色的球,直接看效果。

  • 05

    球也可以不是纯色的,这就需要给球表面贴图,我们先从 subtlepatterns 选一个材质,就这一张木纹吧:

  • 06

    <a-scene>  <a-sky src="https://c1.staticflickr.com/8/7376/16218590470_468084c950_h.jpg"></a-sky>  <a-sphere position="0 1.25 -5" radius="1.25" src="https://www.toptal.com/designers/subtlepatterns/patterns/retina_wood.png"></a-sphere> </a-scene> 效果是这样的

  • 07

    光标交互 VR里也有对应的交互方案,我们现在增加动画和事件库。场景里增加一个camera和放在其中的curosr。 <script src="https://aframe.io/releases/0.4.0/aframe.min.js"></script> <script src="https://npmcdn.com/aframe-animation-component@3.0.1"></script> <script src="https://npmcdn.com/aframe-event-set-component@3.0.1"></script> <a-scene>  <a-sky src="https://c1.staticflickr.com/8/7376/16218590470_468084c950_h.jpg"></a-sky>  <a-sphere position="0 1.25 -5" radius="1.25" src="https://www.toptal.com/designers/subtlepatterns/patterns/retina_wood.png"></a-sphere>  <!-- Camera + cursor. -->  <a-entity camera look-controls>    <a-cursor id="cursor"        animation__click="property: scale; startEvents: click; from: 0.1 0.1 0.1; to: 1 1 1; dur: 150"        animation__fusing="property: fusing; startEvents: fusing; from: 1 1 1; to: 0.1 0.1 0.1; dur: 1500"        event-set__1="_event: mouseenter; color: #0092d8"        event-set__2="_event: mouseleave; color: black"></a-cursor>  </a-entity> </a-scene> 现在代码(在codepen.io查看代码,在codepen.io预览)。

  • 08

    现在随着视口(摄像机)移动,在屏幕中央的光标(定位相对于摄像机固定)会跟着摄像机移动。 光标与鼠标一样遇到圆球,触发 mouseenter 事件,离开圆球触发 mouseleave 事件。现在我们已经增加了这两个事件,进入的时候光标变蓝色,离开变回默认的黑色。点击时伴随有光标缩放效果。

(0)

相关推荐

  • frame如何使用—网页设计框架

    在我们浏览中的很多网站中都会出现导航栏,当我们点击导航栏的各项时,我们发现刷新的不是整个网页或者跳转,而是局部刷新部分页面,导航不变.例如下图,点击红色区域导航,只有蓝色区域发生改变,其他没有变化. ...

  • HTML文档中小 meta 标签的大作用

    操作方法 01 meta是用来在HTML文档中模拟HTTP协议的响应头报文.meta标签用于网页的<head>与</head>中,meta标签的用处很多.meta的属性有两种: ...

  • win8游戏管理器如何迅速找到并调用

    在windows7系统下有一个游戏管理器,是作为整合所有游戏的一个工具,对游戏玩家们来说是一个福利,但是在新的系统win8下,游戏玩家们却搜索不到这个功能,难道是win8去掉了这项功能?其实不是的,在 ...

  • linux小技巧:"启动器的shell脚本会调用xterm来运行" 的解决办法

    本文针对 Mate 1.8.1 桌面环境下,CentOS 7.0 (x86_64) 和 ArchLinux 2014.10.01 (x86_64) 版本,也同样适用于存在类似问题的其他发行版本。 (我 ...

  • Asp.net中用 AJAX调用后台静态的方法总结

    从客户端调用后台静态方法 1.Ajax Library方式 C#代码: [WebMethod] public static DateTime GetCurrentTime(string str) { ...

  • 让Windows系统自动调用保存在U盘中的收藏夹内容

    收藏夹中通常记录了自己的偏好与隐私信息,为了不让他人随意偷窥到这方面的隐私信息,很多人往往会将收藏下来的隐私内容保存到自己随身携带的U盘中,不过日后再想调用自己收藏的隐私内容时,就比较麻烦了,因为Wi ...

  • 如何才能让IE浏览器安装调用未签名的ActiveX控件

    ActiveX控件做为IE浏览器专门一种插件程序,在我们使用IE过程中是会经常遇到的。比如当我们使用网银或支付宝等安全要求比较高的网站,都会提示我们需要安装ActiveX控件。 只有安装ActiveX ...

  • win 8调用tablet pc 输入面板教程(图文)

    Tablet PC 输入面板主要用于在 Tablet PC上使用,但也可以在台式计算机或便携式计算机上使用输入面板。您会发现使用外部数字化器为计算机提供笔输入非常有用。下面是教您在Windows 8如 ...

  • Tomcat中应用调用Libvirt库进行控制时可能导致线程卡死问题的解决方法

    最近的项目中有用到libvirt的java包进行libvirt的远程命令调用,进行kvm的管理。我们的测试人员一个偶然的机会下测试出来,在控制连接状态的时候,可能存在一个严重的bug,由于界面上的fl ...