Мы используем файлы cookie, чтобы упростить навигацию на этом сайте. Если вы даете свое согласие на использование файлов cookie и обработку ваших персональных данных, нажмите «Принимаю».

При клонировании нодового материала возникает проблема с картой нормалей

Домой Форумы Для программистов При клонировании нодового материала возникает проблема с картой нормалей

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #14663
    webgl
    Customer

    Задача клонировать нодовый материал для последующей замены текстуры на клонах решена:

        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 (чтобы вместить в аттач)

    Вложения:
    Вы должны войти для просмотра вложений.
    #14667

    А изначально тангенты присутствуют на обоих объектах? Возможно включена галочка “Optimize Mesh Attributes” при экспорте из Блендера.

    Soft8Soft Tech Chief
    X | FB | LinkedIn

    #14671
    webgl
    Customer

    Отлично, копировал на PlaneBufferGeometry tngent с плейна источника, заработало.

    #14676

    :good:

    Soft8Soft Tech Chief
    X | FB | LinkedIn

    #14680
    webgl
    Customer

    Теперь не получается запустить аниацию на клонированном материале, на объекуте источнике анимации работают, а на клоне нет. :scratch:

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Для ответа в этой теме необходимо авторизоваться.