@node_js

Как задать MeshNormalMaterial цвет?

Всё почти устраивает нужен серый цвет и чёткость подскажите что не так делаю не понимаю (
мой скрин
60a6e95cb768a294515079.png
Вот мой код подскажите как менять цвет у MeshNormalMaterial ?
import * as THREE from "https://threejs.org/build/three.module.js";
import {OrbitControls} from "https://threejs.org/examples/jsm/controls/OrbitControls.js";
import {STLLoader} from "https://threejs.org/examples/jsm/loaders/STLLoader.js";
const scene = new THREE.Scene();
const loader = new THREE.TextureLoader();
scene.background = new THREE.Color( 0xafdafc );
const camera = new THREE.PerspectiveCamera();
const renderer = new THREE.WebGLRenderer({canvas: viewer});
const controls = new OrbitControls(camera, renderer.domElement);
function render() {
requestAnimationFrame(render);
controls.update();
renderer.render(scene, camera);
}

var input = document.getElementById( 'input' );
input.addEventListener( 'change', function( event ) {
var file = this.files[ 0 ];
var reader = new FileReader();
reader.addEventListener( 'load', function ( event ) {
var contents = event.target.result;


var material = new THREE.MeshNormalMaterial({});

var geometry = new STLLoader().parse( contents );
var mesh = new THREE.Mesh( geometry,material);

camera.position.set(0, 480, 0);
scene.add( mesh );
scene.add(new THREE.AmbientLight(0x404040));
}, false );
if ( reader.readAsBinaryString !== undefined ) {
reader.readAsBinaryString( file );
} else {
reader.readAsArrayBuffer( file );
}
});
render();
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
@McBernar
Вы же в курсе, да, что MeshNormalMaterial просто представляет нормали геометрии в определенных цветах? Грубо говоря, в какую сторону смотрит поверхность - такой и будет цвет.

Если вам нужен определенный цвет - используйте любой из подходящих материалов - Ламберт, Физик.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект
21 нояб. 2024, в 21:30
500 руб./за проект