如何在A-Frame中启用添加剂混合?

时间:2017-03-09 13:46:50

标签: 3d aframe blending webvr

在A-Frame中启用添加剂混合的最简单方法是什么?我看到THREE.MeshStandardMaterial具有blending属性,看起来像我需要的属性,但它不会被A-Frame material组件暴露。

我是否必须编写自定义组件来获取实体的材料并自行设置此属性?看来这个常见的要求应该已经满足了吗?

2 个答案:

答案 0 :(得分:2)

我继续为此创建了自己的混合模式组件:

AFRAME.registerComponent('blendmode', {
  schema: {
    mode: {default: 'AdditiveBlending'} //Available Modes are: var blendings = [ "NoBlending", "NormalBlending", "AdditiveBlending", "SubtractiveBlending", "MultiplyBlending" ];
  },

    dependencies: ['material'],

  update: function () {
    // entity data
    var el = this.el;
    var data = this.data;

      if (el.components.hasOwnProperty("material")) {
          var mat = el.components.material.material;
          mat.blending = THREE[data.mode];
      }
  }
});

答案 1 :(得分:0)

为记录起见,核心材料组件上现在提供blending属性: https://aframe.io/docs/0.9.0/components/material.html#properties_blending