Использование альфы в вершинах цвета сетки Вавилона

Кажется, это должно быть просто, но ничего не работает. Я устанавливаю цвета для каждой вершины в сетке, используя applyToMesh с объектом VertexData. У меня простой StandardMaterial, без текстур. Я пытаюсь сделать определенные вершины прозрачными, если они появляются поверх чего-то другого, поэтому я установил «a» в цветах rgba на 0,5. Но сетка все еще остается непрозрачной. Я безуспешно пробовал следующее:

material.hasAlpha = true

material.needAlphaBlending (истина)

material.needAlphaBlendingForMesh (истина)

material.alphamode = ВАВИЛОН.Engine.ALPHA_COMBINE;

mesh.visibility = 0,9999 для принудительного альфа-смешивания


person jomak73    schedule 13.12.2019    source источник


Ответы (2)


Я сделал небольшую демонстрацию с использованием нескольких материалов и прозрачности:

https://www.babylonjs-playground.com/#2Q4S2S#199

первый (вспомогательный) материал использует png с каналом прозрачности. Если вы установите для hasAlpha значение true и используете альфа-канал из диффузной текстуры, вы можете получить прозрачность:

var material0 = new BABYLON.StandardMaterial("mat0", scene);
material0.diffuseTexture = new BABYLON.Texture("/textures/down.png", scene);
material0.diffuseTexture.hasAlpha = true;
material0.useAlphaFromDiffuseTexture = true;

Для второго материала я использую диффузный цвет и устанавливаю альфа на 0,5. установка значения false для отбраковки задней поверхности материала также покажет "заднюю грань" меша:

var material1 = new BABYLON.StandardMaterial("mat1", scene);
material1.diffuseColor = new BABYLON.Color3(0, 0, 1, 0.5);
material1.alpha = 0.5;
material1.backFaceCulling = false
person Raanan W    schedule 18.12.2019
comment
Однако это не позволяет мне быстро включать или выключать определенные вершины карты. Дело в том, что сетка динамически меняет каждый кадр, а различные пиксели быстро становятся непрозрачными и прозрачными. - person jomak73; 27.12.2019

Попробуйте mesh.hasVertexAlpha = true Это включило альфа-канал для меня. но это создает некоторую проблему с буферизацией z-индекса меша.

person Katon Zaky    schedule 30.12.2019