Задача клонировать нодовый материал для последующей замены текстуры на клонах решена:
var objFrom = app.scene.getObjectByName('Cube');
var objTo = app.scene.getObjectByName('Cube.001');
// clone material
objTo.material = objFrom.material.clone();
objTo.material.nodeTextures = Object.assign({}, objFrom.material.nodeTextures)
// change texture
var texAlias = nodeMaterialGetTexAliasByName(objTo.material, 'brick.jpg');
if (texAlias !== '') {
objTo.material.nodeTextures[texAlias] = new v3d.TextureLoader().load('./grass.jpg');
}
Но теперь появилась задача деформировать изображения в материалах-клонах спомощью карты нормалей, и тут возникает проблема. В материале источнике всё хорошо, а в материалах-клонах нормали полностью ломаются, как будто UV отсутствует.
Во вложении пример без v3d.js (чтобы вместить в аттач)
Вложения:
Вы должны
войти для просмотра вложений.