如何在一帧中创建具有超级手和物理组件的“可放置”框

时间:2018-05-02 08:44:28

标签: aframe

我正在尝试重新制作superhands / physics a-frame demo here的剥离版本

所有抓取/拖动/物理效果都很好,但我无法通过droppable框与draggable碰撞时触发事件。

Here is a fiddle我的代码(所有脚本都很长)但如果您希望我在这里复制代码,请告诉我。

我确定我在这里错过了一些简单的东西,但是我看不到它,我觉得我拥有原始示例所拥有的一切但是我无法触发该事件,甚至没有记录到控制台。

这是我第一次投身于物理学和控制器,所以如果我犯了一些菜鸟错误,我会道歉。我应该提一下,我最初在桌面上使用鼠标进行测试,希望在这里使用基础知识可以扩展到耳机。

建议非常受欢迎。

1 个答案:

答案 0 :(得分:1)

在您当前的配置中,您只有可抓取的盒子,但没有可放置的目标,可用于碰撞检测:

def encrypt_file(filename):
    with open(filename, 'r') as open_file:
        file_content = open_file.read()

将其更改为包含场景中所有交互式对象的选择器:

 progressive-controls="objects: .tape"

在内部, progressive-controls="objects: .tape, #tape_player" 使用A-Frame progressive-controls设置碰撞检测,用于桌面和版本。移动模式,或A-Frame Extras raycaster,用于roomcale模式,(如果您自定义配置,则为您选择的其他组件)。它将您在sphere-collider属性中定义的选择器传递给那些组件,以控制将观察哪些实体的碰撞/交叉,并且只有那些实体将通过objects进行交互。

优良作法是选择仅针对您想要成为交互式实体的区分选择器,因为碰撞检测具有显着的性能成本,因此您不希望浪费时间检查不必要的碰撞。