有谁知道如何将2个或更多实体合并为A帧中的单个实体? 这甚至可能吗? 我正在构建诸如表格之类的对象,我想将表格与它的腿结合起来,这样它就是一个对象。
非常感谢任何帮助!
答案 0 :(得分:1)
如果您不需要合并其几何/材质,您只需将它们添加到父实体即可。
如果您有<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。
答案 1 :(得分:0)
根据您想要做什么,您可以使用mergeTo property&#34将某些实体的几何合并到另一个实体中;合并的几何将继承目标几何的材质&# 34;