- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我怎样才能创建一个“来到这里”的组件。这样,无论用户将第一个实体放在哪里,第二个实体都可以找到第一个实体并对其进行动画处理。
我有一个随用户移动的按钮,它在被调用时就在那里,它不随相机移动,它在传送前消失,我想添加到这个的想法是用户点击时的功能这个按钮(实体ID:一)它会对另一个实体(实体ID:二)说“过来”实体二正在监听要点击的实体一,然后实体接收实体一的坐标,然后实体二前往实体一个。
关于我正在尝试做的事情的详细描述:之前我写道:“我将如何编写一个“来找我”功能,其中一个实体将另一个实体调用到它的新位置。假设我有一个可拖动的实体,启用了 super 手并且用户将一个立方体拖动到一个新位置。好的,然后用户点击立方体,一个球体飞到立方体的位置,但它的 z(位置坐标 z),相对于立方体是 -1。然后用户将立方体拖到另一个新位置,用激光点击立方体,之前的同一个球体飞到立方体的新位置,但它仍然是相对于立方体的 z -1。我应该怎么写呢?有哪些可能的方法?什么是在框架中进行的有效方法?我会创造一个无形的立方体上具有 -1 z 位置的子实体?有没有办法查找子实体的全局位置,然后告诉球体实体更新其位置以匹配子实体位置?我将其总结为“来找我”功能,其中一个实体将另一个实体调用到其新位置。
我尝试了什么:有人建议我看两件事 1. aframe extras 中的寻路组件允许 npc 在其动画期间导航网格,但对于此示例,一个简单的动画就可以了。 2.跟随组件(2岁)。 follow 组件对于我目前对 aframe 代码的理解水平来说太抽象了。我不明白它后面是什么,也不知道如何编辑它以使其按照我的意愿运行。
我还尝试了什么:然后我偶然发现了“WebVR 中带有 A 帧的交互式图像网格”https://ottifox.com/prototype/2017/09/25/interactive-image-grid-in-webvr.html这使相机查找图像的位置,然后在单击时移动到该图像。好吧,我想也许我可以用一个盒子代替相机,让盒子移动到另一个盒子而不是图像。好吧,我试过了,到目前为止它什么也没做。
我的代码在 https://comehere.glitch.me https://glitch.com/edit/#!/comehere你能帮我解决如何让一个实体查找另一个实体的位置然后为它设置新位置的动画,这样用户就可以不断更新新实体的位置,并且当点击第二个实体时总是可以移动到用户希望它根据用户放置第一个实体的位置移动到任何地方。
最佳答案
您可以像我一样手动将实体移向目标here (按球体)。
这个想法很简单:
1) 获取局部空间中的目标位置
targetPos = someEl.object3D.worldToLocal(target.object3D.position.clone())
2) 将一个实体移向另一个实体
someEl.object3D.translateOnAxis(targetPos, someDistance)
3) 重复直到物体足够近
var distanceFromTarget = currentPosition.distanceTo(target.object3D.position);
if (distanceFromTarget > 1) {
someEl.object3D.translateOnAxis(targetPos, distance);
}
你可以把它放到一个框架组件中:
AFRAME.registerComponent('foo', {
init: function() {
this.target = document.querySelector("#target")
},
tick: function(t, dt) {
var currentPosition = this.el.object3D.position;
var distanceToTarget = currentPosition.distanceTo(target.object3D.position);
if (distanceToTarget < 1) return;
var targetPos = this.el.object3D.worldToLocal(target.object3D.position.clone())
var distance = dt*this.data.speed / 4000;
this.el.object3D.translateOnAxis(targetPos, distance);
}
}
并像这样使用它:
<a-box foo></a-box>
<a-box id="target"></a-box>
通过重新设置 to
属性,您可以像以前一样使用 animation
组件:
// on some event:
this.el.setAttribute("animation", "to", newTargetPosition)
this.el.emit("startAnimation")
但如果目标在移动,事情就会变得复杂,因为您不仅需要获得新位置,还需要获得起始 (from
) 位置。
关于Aframe “come here” 组件。这样无论用户将第一个实体放在哪里,第二个实体都可以找到第一个实体并对其进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54318679/
我正在使用 aframe 0.8.2 加载此 Collada (DAE) 模型,并使用 aframe-ar 将其显示在 Hiro 标记上:
从 Aframe 中的 Assets 管理器加载对象时,模型显得太大,所以我想重新缩放它。 在 Aframe 网站上,它指出 如果您没有看到您的模型,请尝试将其缩小。与 A-Frame 的规模相比,O
我有一个带有 obj 和 mtl 文件的 3d 对象,该文件在 Aframe 中显示。我想在它上面应用动画,逐渐改变它的 Alpha 值以获得淡出效果。 我浏览了 AFrame 文档。但找不到与 3d
如何将圆角边缘/边界半径添加到 a 平面? 我必须做一个带圆角的正方形 最佳答案 带 a-plane 的圆角不可能。您可以使用 slice9 component 关于aframe - 如何向平面 (A
我在 AFRAME 中遇到了一个大问题。在我当前的项目中,用户可以通过按下按钮来更改带有纹理的平面的比例。当然,然后我需要更改平铺(或重复,它在 AFRAME 中的调用方式)——但无论我如何尝试,我都
我不希望玩家穿墙。我尝试了 aframe extras,但它在当前的 aframe 版本中不起作用。在 Aframe 1.3.0 中还有其他方法或解决方案吗? 最佳答案 您可以使用 AdaRoseCa
当我尝试在我的 AFRAME 项目界面中使用一些西类牙语单词时,所有带重音的字符都消失了: 只显示“Men”而不是“Menú”。 在我尝试添加的 html 页面中: 没有效果。 ¿如何正确显示那种
我正在使用 aframe-ar 并且需要将视频流显示在与嵌入场景相同的 div 中。 我正在尝试使用默认场景: 渲染的框成功嵌入到周围的 div 中,但我的网络摄像头的视频流是全屏的
我正在尝试让 Aframe 和 vuejs 相互配合良好,但控制台返回警告消息。我猜这是由于 aframe 在 vue 有机会更改它们之前检查了属性值。 警告信息 core:schema:warn U
我正在使用 a-frame js 创建平面游览。我想自动移动相机。目前我正在使用鼠标这样做。有人可以帮助我吗? 最佳答案 要在 A-Frame 中进行补间,您可能会使用 a-animation 系统:
这里是新手,如果我没有使用正确的语言或指的是正确的东西,那么先发制人的道歉。 我正在使用下面的代码加载 360 度图像作为我的场景。 .... 一切都很好。但是,当我测试时
我有一个实体,我想像这样设置它: 所以我可以在 #ui 上发出 mobileMenuOpen 事件,让实体及其所有平面淡入淡出并向上移动。但是,#ui 上的 opac
我有一个几何体设置为平面图元的实体。我如何知道我使用 raycaster/cursor 组件单击(在实体上)的点的坐标? 最好是知道系统中的坐标,其中在交点处定义了几何体的顶点。 最佳答案 检查交叉点
我想知道是否有办法获得通过 3dio.js 插入的模型的边界框,或者以其他方式计算它们的中心点?我希望将它们集中在原点上。 下图显示了相对于红色框指示的场景原点的两个模型。 最佳答案 您可以像这样访问
首先,我很抱歉我的英语不好,我是法国人。 我想知道如何添加纹理(图片是透明的 gif),并“隐藏”框以仅看到纹理。 致以诚挚的问候 最佳答案 对盒子进行纹理处理,并使透明部分透明: " 此外,尝试使用
当相机靠近球体时,我尝试显示一些文本。这个想法是,当用户看到球体移得更近时,就会显示文本,比如说“你好”。但现在我只知道如何使用实体添加固定位置的文本,我不知道如何检测相机和球体之间的距离,并在用户看
我最近使用 aframe 和 glitch 创建了一个网站,当网站出现故障时一切正常,但是一旦我上传到我的主机,每次都会出现一个弹出窗口,要求设备传感器许可“通过 HTTPS 访问此站点以进入 VR
我使用以下代码来获得视觉反馈: 问题在于,此代码应用于光标与场景中每个基本实体“碰撞”的地方。我希望它仅适用于特定元素。 (或者,禁用特定元素上的动画)。我该怎么
使用 Aframe 如何手动更改相机旋转,以便它在移动设备上工作并仍然使用外观控制? 我已经尝试通过 html 属性,如下所示: document .querySelector('[camera]
首先,我很抱歉我的英语不好,我是法国人。 我想知道如何添加纹理(图片是透明的 gif),并“隐藏”框以仅看到纹理。 致以诚挚的问候 最佳答案 对盒子进行纹理处理,并使透明部分透明: " 此外,尝试使用
我是一名优秀的程序员,十分优秀!