如何在 A-Frame 中启用加法混合?
How to enable Additive Blending in A-Frame?
在 A 帧中启用加法混合的最简单方法是什么?我看到 THREE.MeshStandardMaterial
有一个 blending
属性 看起来像我需要的,但它没有被 A-Frame material
组件暴露。
我是否必须编写自定义组件来获取实体的 material 并自己设置此 属性?似乎应该已经满足了这一普遍要求?
A-Frame 0.9.0 及以上版本:
A-Frame 现在支持 blending
属性 版本 0.9.0 及更高版本。参见 https://aframe.io/docs/0.9.0/components/material.html#properties_blending
A-Frame 0.8.0 及更早版本:
我继续为此创建了自己的混合模式组件:
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];
}
}
});
在 A 帧中启用加法混合的最简单方法是什么?我看到 THREE.MeshStandardMaterial
有一个 blending
属性 看起来像我需要的,但它没有被 A-Frame material
组件暴露。
我是否必须编写自定义组件来获取实体的 material 并自己设置此 属性?似乎应该已经满足了这一普遍要求?
A-Frame 0.9.0 及以上版本:
A-Frame 现在支持 blending
属性 版本 0.9.0 及更高版本。参见 https://aframe.io/docs/0.9.0/components/material.html#properties_blending
A-Frame 0.8.0 及更早版本:
我继续为此创建了自己的混合模式组件:
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];
}
}
});