2015-02-02 5 views
3

Можно ли преобразовать две буферные мезометрии в три раза? Есть ли хороший пример для ссылки? Я особенно заинтересован в ручном морфинге с использованием влияния мишени на мишень.Three.js Buffergeometry Morphing

+0

Так как вы можете использовать атрибуты второй геометрии как ваши цели морфинга, этот ответ может помочь: http://stackoverflow.com/ a/44092250/1314762 –

ответ

1

Одно из возможных решений заключается в том, чтобы буквально вручную сделать морфинг .. ниже - это то, что я сделал, я также ищу более элегантное решение. Кроме того, я не уверен в проблемах производительности здесь.

for (var b = 0; b < 5; b++) { // iterate through 5 morph targets 

     var deltaVertices = blendshapes[b].children[0].geometry.attributes.position.array; 

     for (var i = 0; i < vertices.length; i++) { 
      // blend other shapes as delta to the Neutral one 
      3D_Model.children[0].geometry.attributes.position.array[i] += weight_b * deltaVertices[i]; 
     } 
    } 

«blendshapes» загружены OBJ 3D-модели с использованием OBJLoader.js

+0

Спасибо за ваше решение, я попробую. Я написал твиттер тот же вопрос в @mrdoob, и он сказал, что это будет частью следующего выпуска. –

+0

У меня есть две реализации, работающие прямо сейчас. один прикреплен выше, другой - фактически использовать цели морфинга. первый из них интенсивно работает в CPU, а последний - GPU тяжелый ... – lakex24