Material parameter uniform names have changed since 1.46.0

This has affected a few projects that have used the parameter names on materials.

Since 1.46.0, we have started to add support for texture rotation in the transforms. In order to do this, we had to change the parameter/uniform names to support a bigger transform.

What used to be:

this.meshInstance.setParameter('texture_emissiveMapTransform', this.transform);

Where the transform was a 4 value array that represents the width, height, offsetx, offsety has now changed to be two uniforms of 3 values

    this.uniform0[0] = tileWidth;
    this.uniform0[1] = 0;
    this.uniform0[2] = tileOffsetX;
    
    this.uniform1[0] = 0; 
    this.uniform1[1] = tileHeight;
    this.uniform1[2] = tileOffsetY;
    
    meshInstance.setParameter("texture_diffuseMapTransform0", this.uniform0);
    meshInstance.setParameter("texture_diffuseMapTransform1", this.uniform1);

Engine code source: engine/standard-material.js at master · playcanvas/engine · GitHub

2 Likes

Nice, texture rotation is so useful!