有谁知道如何在 A 框架中将 2 个或多个实体合并为一个实体? 这可能吗? 我正在构建 table 等物体,我想将 table 与其腿结合起来,使其成为一个物体。
任何帮助将不胜感激!
最佳答案
如果您不需要合并它们的几何图形/ Material ,您可以将它们添加到父实体中。
如果您有<a-entity desk>
,和<a-entity legs>
您可以像这样组合它们:
<a-entity desk>
<a-entity leg position="1 0 1"></a-entity>
<a-entity leg position="-1 0 -1"></a-entity>
<a-entity leg position="1 0 -1"></a-entity>
<a-entity leg position="-1 0 1"></a-entity>
</a-entity>
现在您有了一个父实体,您可以将其与子实体一起旋转/定位。 看看here .
否则,您可以创建一个组件,它会为您创建实体:
AFRAME.registerComponent("table", {
init: function() {
let desk = document.createElement("a-entity");
let leg = document.createElement("a-entity");
desk.setAttribute("mixin", "desk");
leg.setAttribute("position", "0.5 0 0.5");
leg.setAttribute("mixin", "leg");
// (..)
desk.appendChild(leg)
this.el.appendChild(desk);
}
})
你可以像这样使用它:
<a-entity table></a-entity>
或者您可以注册一个原语:
AFRAME.registerPrimitive("a-table", {
defaultComponents: {
table: {}
}
})
<a-table></a-table>
查看一下 here .
关于javascript - 如何将 A 形框架中的实体联合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48159872/