2013-12-23 6 views
0

Можно ли удалить швы, где подключены две сетки (под шею)? enter image description hereУдаление швов 3 .js

Там, как я загружаю модель:

var model = new THREE.Object3D(); 
var jsonLoader = new THREE.JSONLoader(); 
jsonLoader.load("models/one.js", function(geometry, material){ 
    var mesh = new THREE.Mesh(geometry, new THREE.MeshPhongMaterial()); 
    model.add(mesh); 
});  
jsonLoader.load("models/two.js", function(geometry, material){ 
    var mesh = new THREE.Mesh(geometry, new THREE.MeshPhongMaterial()); 
    model.add(mesh); 
    model.scale.set(4,4,4); 
    model.position.y = -3.5; 
    scene.add(model); 
}); 
+0

Нет. Это зависит от ваших треугольников и от того, как они расположены. Если у вас нет гладкой поверхности, средство визуализации наверняка не сгладит его. –

ответ

1

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

Parallel normals

Three.js воля тень первого примером, так что свет появляется как в остром углу, на основе направления нормалей. Второй должен быть плавным.

Как это сделать, это зависит от программного обеспечения моделирования, используемого для создания сеток. Если вы используете Three.js для автоматической генерации нормалей для вас (нормали, не включенные в данные модели), я не уверен, как легко ее исправить (возможно, слияние геометрий, объединение общих вершин, а затем трижды восстанавливать нормали могли бы работать тогда).

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