代码之家  ›  专栏  ›  技术社区  ›  deecobbk

如何在A形框架中将实体合并在一起

  •  0
  • deecobbk  · 技术社区  · 8 年前

    有人知道如何将2个或多个实体合并为a-frame中的单个实体吗? 这可能吗? 我正在构建诸如表等对象,我希望将表与其腿合并,使其成为一个对象。

    任何帮助都将不胜感激!

    2 回复  |  直到 8 年前
        1
  •  2
  •   Piotr Adam Milewski    8 年前

    如果不需要合并它们的几何图形/材质,只需将它们添加到父实体即可。 如果你有 <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 .

        2
  •  0
  •   Doug Reeder    8 年前

    根据具体需要,可以使用 mergeTo property “合并的几何体将继承目标几何体的材质”