我有一个角度6.0.5运行三。
所有人都在使用三个版本0.89.0和@ types / three版本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'.
我的猜测是类型和库不兼容。有人知道如何解决这个烂摊子吗?
答案 0 :(得分:0)
我也遇到了这个问题。这是因为没有多材料,您必须使用材料阵列。如果您查看网格中“材料”的签名,现在是: 材质|材料[] 因此您不能直接将其作为材料访问。我所做的并假设您从未使用过材质数组,则将其强制转换为,例如:
mesh1.material.dispose(); //error since material could be an array
(<any>mesh1.material).dispose(); //OK since it doesn't know what it is
我想一般的解决方案是检查一个数组并分别处理每种情况,但这会使代码很丑陋,所以也许有更好的解决方案。
您的另一个问题是“阴影”已更改为布尔型“ flatShading”。