Я отредактировал этот пост с чистой моделью потока краев и картами, к которым вы можете получить доступ, если это поможет получить обратную связь.Я могу повторить проблему жестких помеченных ребер и в этом случае:
Я нахожу результат рендеринга в three.js, показывает очень жесткие помеченные многоугольники низкополигонального объекта, я сравниваю это с sketchfab, unity3dи Iray рендеринг результатов.
Вот снимок краевого потока, показанного в Maya: https://drive.google.com/open?id=1qNA4VoZf-rSyq3_MQdeZqdFC6BxsE3un
Вот как выглядит модель на панели просмотра Maya (без подразделов): https://drive.google.com/open?id=1US-fv5-v2ygReqjRPgcsQSusrAXTxVG5
Вот снимок рендера three.js (отмечен в красной рамке более заметным)
https://drive.google.com/open?id=1K3CIBLvA7skVUPWL0qInLcFrK74DtriK
здесь эскизы без фильтров теней / постобработки
https://drive.google.com/open?id=1rozZyBSU1HwPPk4EnKFyc7SVvFNXQBwz
здесь Iray рендеринг в малярной субстанции: https://drive.google.com/open?id=1cXJzw780-kWH0nANy5ekM0HjRKAdaVQ2
Вот рендер Unity: https://drive.google.com/open?id=1lLFLd8UT48OSvxJcp7arwygZZISsaHkS
Вот ФБХ, если вам нужно проверитьсетка / ребро потока: https://drive.google.com/open?id=1BwljZNKL3dWJSSca6WYlqSK7os1Hp4pT
Я также добавляю карту нормалей, поскольку я думал, что проблема может быть связана с моей настройкой three.js для этого (?): https://drive.google.com/open?id=149r3n9JGnb9xEJkf9Eh7ELK2bM83bJX_
Карта альбедо: https://drive.google.com/open?id=1rGgDUOKbbeE6mrAlTG_6C7b8LgqQ1DF0
Я повторно использую пример envmap hdr и настройку hdr.
Может сomeone, пожалуйста, поделитесь некоторыми мыслями о том, что я могу попробовать по-другому?
Спасибо за вашу помощь, Серхио.
Я попробовал следующее: Я смягчил края в Maya.Я также попробовал строки ниже отдельно и в сочетании, но результата не было.
// vaseMesh.geometry.mergeVertices ();и //vaseMesh.geometry.computeVertexNormals();
normalScale, кажется, лучше всего подходит для material.normalScale.x = -1;
Я также пытался, но у меня был тот же результат без настроек HDR или тонального отображениясогласно примеру смещения three.js https://threejs.org/examples/?q=displ#webgl_materials_displacementmap
renderer = new THREE.WebGLRenderer();
renderer.toneMapping = THREE.LinearToneMapping;
//load vase material textures once loaded
manager.onLoad=function () {
material = new THREE.MeshStandardMaterial( {
color: 0xffffff,
roughness: params.roughness,
metalness: params.metalness,
map: albedoM,
normalMap: normalMap,
normalScale: new THREE.Vector2( 1, -1 ),
aoMap: aoMap,
aoMapIntensity: 1,
flatShading: true,
side: THREE.DoubleSide
} );
var myObjectLoader = new THREE.FBXLoader( );
myObjectLoader.load( "Piece1.fbx", function ( group ) {
console.log("On object loading");
var geometry = group.children[ 0 ].geometry;
geometry.attributes.uv2 = geometry.attributes.uv;
geometry.center();
vaseMesh = new THREE.Mesh( geometry, material );
vaseMesh.material=material;
//vaseMesh.geometry.mergeVertices();
//vaseMesh.geometry.computeVertexNormals();
material.normalScale.x = -1;
scene.add( vaseMesh );
console.log("Finished adding to scene");
vaseMesh.position.set(0,0,0);
animate();
} );
}
var textureLoader = new THREE.TextureLoader(manager);
var albedoM = textureLoader.load( "vaseTextures/albedo.png");
var normalMap = textureLoader.load( "vaseTextures/normal.png");
var aoMap = textureLoader.load( "vaseTextures/ao.png");