Ejemplo n.º 1
0
    protected virtual void addVertices(Mesh srcmesh, int id, ref Matrix4x4 mt, StructurePallet3 pallets)
    {
        base.addVertices(srcmesh, ref mt);          // NormalMeshCreator のもの


        var palletList = makePalletList(pallets);


        var iv = vtxProgress;

        var srccols = srcmesh.colors32;

        for (var i = 0; i < srcmesh.vertexCount; i++, iv++)
        {
            var c = srccols.Length != 0 ? srccols[i] : new Color32(0, 0, 0, 0); //255 );

            var palletId = c.r;                                                 //( c.r & c.g & c.b ) != 0 ? 0 : 4 - (( ( c.r & 1 ) * 3 ) | ( ( c.g & 1 ) * 2 ) | ( ( c.b & 1 ) * 1 ));

            if (palletId > 4)
            {
                palletId = 0;
            }


            var color = palletList[palletId];

            color.a = (byte)(id & 0xff);

            bids[iv] = color;
        }
    }
Ejemplo n.º 2
0
    public virtual void addGeometory(Mesh srcmesh, int id, ref Matrix4x4 mt, StructurePallet3 pallets)
    {
        addIndices(srcmesh, ref mt);

        addVertices(srcmesh, id, ref mt, pallets);


        idxProgress += srcmesh.triangles.Length;

        vtxProgress += srcmesh.vertexCount;
    }
Ejemplo n.º 3
0
    Color32[] makePalletList(StructurePallet3 pallets)
    {
        var palletColors = new Color32[5];

        palletColors[0] = new Color32(255, 255, 255, 255);
        palletColors[1] = pallets.color0;
        palletColors[2] = pallets.color1;
        palletColors[3] = pallets.color2;
        palletColors[4] = pallets.color3;

        return(palletColors);
    }
Ejemplo n.º 4
0
        public Material get(Material srcMat, StructurePallet3 pallet)
        {
            if (material == null)
            {
                var mat = new Material(srcMat.shader);

                mat.CopyPropertiesFromMaterial(srcMat);

                /*
                 * mat.SetColor( "_Pallet0", Color.white );
                 * mat.SetColor( "_Pallet1", pallet.color0 );
                 * mat.SetColor( "_Pallet2", pallet.color1 );
                 * mat.SetColor( "_Pallet3", pallet.color2 );
                 * mat.SetColor( "_Pallet4", pallet.color3 );
                 */
                mat.SetColorArray("_Pallet", new Color[] { Color.white, pallet.color0, pallet.color1, pallet.color2, pallet.color3 });

                material = mat;
            }


            return(material);
        }
Ejemplo n.º 5
0
    /*
     * public void setBoneMatrix( int id, ref Matrix4x4 mt )
     * {
     *      mr.material.SetMatrix( "m" + id.ToString(), mt );
     * }
     */

    public void initPallet(StructurePallet3 pallet)
    {
        mr.sharedMaterial = pallet.getStructureMaterial(mr.sharedMaterial);
    }