关于使用Cesium的Primitive合并几何体(polyline)的问题

Cesium使用primitive合并几何体时,能不能既定义材质又能定义每个几何体不同的颜色

这块刚着手尝试了解的不是很多,绘制的是polyline,或者可能要达到我想要的效果我这里PolylineGeometry的用法不对?

var instances = [];
for (var lon = -180.0; lon < 180.0; lon += 5.0) {
      for (var lat = -90.0; lat < 90.0; lat += 5.0) {
        var instance = new Cesium.GeometryInstance({
          geometry: new Cesium.PolylineGeometry({
            positions: Cesium.Cartesian3.fromDegreesArray([lon, lat, lon + 5.0, lat + 5.0]),
            width: 6.0,
          }),
          attributes: {
            color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromRandom({
              alpha: 0.5
            }))
          },
        });
        instances.push(instance);
      }
    }

    viewer.scene.primitives.add(new Cesium.Primitive({
      geometryInstances: instances, 
      appearance: new Cesium.PolylineMaterialAppearance({
                        material: Cesium.Material.fromType(Cesium.Material.PolylineArrowType,{color: Cesium.Color.BLUE})})
    }));

如代码所示,我想要使用Primitive合并多个polyline进行绘制并且材质使用箭头,但在Instance中定义颜色后,如果下面的appearance写new Cesium.PerInstanceColorAppearance()就绘制不出来折线,如果想像上面那样写颜色只能全部一样