Beispiel #1
0
        public void Initialize(RoMapData mapData, Material material, Material shadowMaterial, RectInt bounds, float tileSize, bool paintEmptyTilesBlack)
        {
            ChunkBounds = bounds;
            MapData     = mapData;

            MeshRenderer = gameObject.GetOrAddComponent <MeshRenderer>();
            MeshFilter   = gameObject.GetOrAddComponent <MeshFilter>();
            //Material = new Material(material);
            Material       = material;
            ShadowMaterial = material;

            if (!MapData.IsWalkTable)
            {
                MeshRenderer.shadowCastingMode = ShadowCastingMode.TwoSided;
            }
            else
            {
                MeshRenderer.shadowCastingMode = ShadowCastingMode.Off;
                MeshRenderer.receiveShadows    = false;
            }


            Collider = gameObject.AddComponent <MeshCollider>();

            MeshRenderer.material = Material;

            RebuildMeshData(tileSize, paintEmptyTilesBlack);
            RebuildUvs();
        }
Beispiel #2
0
 public void Initialize(RoMapData data)
 {
     mapData = data;
     if (mapData.IsWalkTable)
     {
         TileSize = 1f;
     }
     RebuildMesh();
     MakeStatic();
 }
Beispiel #3
0
        public RoMapSharedMeshData(RoMapData data)
        {
            this.data = data;

            vertexData = new Vector3[data.Width * data.Height][];
            normalData = new Vector3[data.Width * data.Height][];
            colorData  = new Color[data.Width * data.Height][];

            cellNormals = new Vector3[data.Width * data.Height];
            cellColors  = new Color[data.Width * data.Height];
        }