2016-01-06 4 views
0

Я пытаюсь сделать поверхность матовой, без успеха. Применяемый к нему стандартный материал имеет только diffuseColor. Я пробовал играть с «шероховатостью» (от 0 до 7), но поверхность всегда глянцевая.Babylon.js - Как получить матовую поверхность

Как получить матовую поверхность?

+0

Просматривая [docs] (http://doc.babylonjs.com/classes/2.2/StandardMaterial) ... 'useSpecularOverAlpha' или' useGlossinessFromSpecularMapAlpha' может помочь – Jamie

ответ

1

Вот пример того, как уменьшить блеск в виде StandardMaterial, установив более темный specularColor: http://www.babylonjs-playground.com/#K0ND3#0

Edit: Как предложен Pang здесь код для установки более темного цвета зеркальности к материалу:

mesh.material = new BABYLON.StandardMaterial('mat', scene); 
mesh.material.specularColor = new BABYLON.Color3(0.2, 0.2, 0.2); 
+0

Он работает, спасибо! Я должен помнить, что StandardMaterial по умолчанию имеет specularColor. Установка его на черный (0, 0, 0) делает поверхность матовой. – ConnorsFan

+1

@Pang Я отредактировал ответ, чтобы включить код, необходимый для изменения цветного цвета. Я не включил его первым, так как «настройка более темного specularColor» была ответом на вопрос. Вопрос не в том, «как установить более темный зеркальный цвет». В любом случае, я понимаю, что лучше с кодом в ответе, поэтому я его отредактировал. Я не думаю, что голосующий голос или рекомендовать удаление было необходимо, однако, поскольку ответ был там. – iiceman

0

Я нашел один способ сделать это: если я установил «нормальный» вектор (nx, ny, nz) в плоскости поверхности вместо нормали к нему, то поверхность станет совершенно матовой.

Это решение выглядит как взломанный. Должен быть лучший способ добиться того же результата.

Смежные вопросы