У меня угловая 6.0.5 работает трёх.
Все работало с тремя версиями 0.89.0 и @ types / тремя версиями 0.84.3.
Я обновился до трех версий 0.93.0 и @ types / трех версий 0.92.5
и теперь все сломано. Я получаю следующие ошибки:
Property 'dispose' does not exist on type 'Material | Material[]'.
Property 'dispose' does not exist on type 'Material[]'.
а также
Property 'clippingPlanes' does not exist on type 'Material |
Material[]'.
Property 'clippingPlanes' does not exist on type 'Material[]'.
а также
Property 'clippingPlanes' does not exist on type 'Material |
Material[]'.
Property 'clippingPlanes' does not exist on type 'Material[]'.
а также
Argument of type '{ shading: Shading; side: Side; shininess: number;
color: number; transparent: true; opacity: num...' is not assignable
to parameter of type 'MeshPhongMaterialParameters'.
Object literal may only specify known properties, and 'shading' does
not exist in type 'MeshPhongMaterialParameters'.
я предполагаю, что типы и библиотека несовместимы. Кто-нибудь знает, как исправить этот беспорядок?
Я призываю избавляться от каждого материала. Проблема не в этом, это больше похоже на несовместимость между последней версией npm three и последней версией npm @ types / three. Мне нужно знать последние совместимые версии npm three и @ types / three.





Я тоже столкнулся с этой проблемой. Это потому, что нет Multimaterial, вы должны использовать массив материалов. Если вы посмотрите на подпись «материала» в Mesh, то теперь это: Материал | Материал [] поэтому вы не можете напрямую получить к нему доступ как к материалу. То, что я сделал, и при условии, что вы никогда не используете массив материалов, приводится к приведению, например:
mesh1.material.dispose(); //error since material could be an array
(<any>mesh1.material).dispose(); //OK since it doesn't know what it is
Я полагаю, что общее решение - проверять массив и обрабатывать каждый случай отдельно, но это привело бы к уродливому коду, поэтому, возможно, есть лучшее решение.
Другая ваша проблема в том, что «затенение» изменилось на логическое «flatShading».
Вы используете мульти-материал? Если это так, вы должны выполнять
disposeдля каждого материала в массиве, а не для самого массива.