I’m getting a exception thrown when loading a Node Material either using loadFromSerialization
or loadAsync
From what I can see, the serialization data has 8 inputs (xyzw, xyz, xy, zw, x,y,z,w) while the actual VectorMergeBlock
only has 6 inputs.
So then there’s essentially an index out of bounds here:
// nodeMaterialBlock.ts
if (serializedInputs) {
serializedInputs.forEach((port: any, i: number) => {
if (port.displayName) {
this.inputs[i].displayName = port.displayName;
}
if (port.isExposedOnFrame) {
this.inputs[i].isExposedOnFrame = port.isExposedOnFrame; <<<< KABOOM!
this.inputs[i].exposedPortPosition = port.exposedPortPosition;
}
});
}
I’m trying to load this Node Material Model
https://nme.babylonjs.com/#JN2BSF#8
using @babylonjs/core@4.2.0
It show this error thrown
TypeError: Cannot set properties of undefined (setting 'isExposedOnFrame')
at http://localhost:3000/static/js/vendors~main.chunk.js:100127:44
at Array.forEach (<anonymous>)
at VectorMergerBlock.NodeMaterialBlock._deserializePortDisplayNamesAndExposedOnFrame (http://localhost:3000/static/js/vendors~main.chunk.js:100121:24)
at VectorMergerBlock.NodeMaterialBlock._deserialize (http://localhost:3000/static/js/vendors~main.chunk.js:100111:10)
at NodeMaterial.loadFromSerialization (http://localhost:3000/static/js/vendors~main.chunk.js:99065:15)
at http://localhost:3000/static/js/main.chunk.js:9300:20 {stack: 'TypeError: Cannot set properties of undefined…ocalhost:3000/static/js/main.chunk.js:9300:20', message: 'Cannot set properties of undefined (setting 'isExposedOnFrame')'}