IEnumerator ITexturemap2(string filename, UniFBXTextures utextures, Material material, string channelMap)
    {
        byte[] bytes = utextures.GetEmbeddedTexture(filename);
        yield return(null);

        if (!textures.ContainsKey(filename))
        {
            string ext = filename.ToUpper();
            if (ext.Contains(".DDS"))
            {
                this.LoadTextures_DDS(filename, bytes, material, channelMap);
            }
            else if (ext.Contains(".TGA"))
            {
                this.LoadTextures_TGA(filename, bytes, material, channelMap);
            }
            else if (ext.Contains(".JPG") || ext.Contains("JPEG"))
            {
                this.LoadTextures_JPG(filename, bytes, material, channelMap);
            }
            else if (ext.Contains(".PNG"))
            {
                this.LoadTextures_PNG(filename, bytes, material, channelMap);
            }
            else
            {
                this.LoadTextures_Default(filename, bytes, material, channelMap);
            }
        }
        else
        {
            material.SetTexture(channelMap, textures[filename]);
        }
    }
 public void SetTexture(Material material, UniFBXTextures utextures, string textureNames)
 {
     if (textureNames == null)
     {
         return;
     }
     this.listEmbeddedMaterials.Add(material);
     this.listEmbeddedTextures.Add(textureNames);
 }
Esempio n. 3
0
    public string GetTextures(string materialID, UniFBXTextures utextures)
    {
        if (this.materials == null)
        {
            return(null);
        }

        if (this.materials.ContainsKey(materialID))
        {
            return(this.materials[materialID].name);
        }
        {
            return(null);
        }
    }
 protected virtual void Dispose(bool disposing)
 {
     if (!this.disposed)
     {
         if (disposing)
         {
             this.content = null;
             if (UniFBX.list != null)
             {
                 UniFBX.list.Clear();
             }
             if (UniFBX.meshes != null)
             {
                 UniFBX.meshes.Clear();
             }
             if (this.models != null)
             {
                 this.models.Clear();
             }
             if (this.materialProp70 != null)
             {
                 this.materialProp70.Clear();
             }
             if (this.uanimations != null)
             {
                 this.uanimations.Finish();
             }
             UniFBX.list           = null;
             UniFBX.meshes         = null;
             this.models           = null;
             this.materialProp70   = null;
             this.ulayeredTextures = null;
             this.ugeometries1     = null;
             this.ugeometries2     = null;
             this.ugeometries3     = null;
             this.umodels          = null;
             this.umaterials       = null;
             this.utextures        = null;
             this.ulayeredTextures = null;
             this.uanimations      = null;
             this.ulights          = null;
             this.ucameras         = null;
         }
     }
     this.disposed = true;
 }
 public void Dispose( )
 {
     this.content = null;
     if (UniFBX.list != null)
     {
         UniFBX.list.Clear();
     }
     if (UniFBX.meshes != null)
     {
         UniFBX.meshes.Clear();
     }
     if (this.models != null)
     {
         this.models.Clear();
     }
     if (this.materialProp70 != null)
     {
         this.materialProp70.Clear();
     }
     if (this.uanimations != null)
     {
         this.uanimations.Finish();
     }
     UniFBX.list           = null;
     UniFBX.meshes         = null;
     this.models           = null;
     this.materialProp70   = null;
     this.ulayeredTextures = null;
     this.ugeometries1     = null;
     this.ugeometries2     = null;
     this.ugeometries3     = null;
     this.umodels          = null;
     this.umaterials       = null;
     this.utextures        = null;
     this.ulayeredTextures = null;
     this.uanimations      = null;
     this.ulights          = null;
     this.ucameras         = null;
 }
 public void GetTextures( )
 {
     utextures = new UniFBXTextures();
     utextures.Init(this.setting);
 }
    public void Apply2(UniFBXTextures utextures)
    {
        for (int i = 0; i < listEmbeddedMaterials.Count; i++)
        {
            string[] data = this.listEmbeddedTextures[i].Split(',');

            //Colormap
            if (setting.textures.colormaps)
            {
                if (data[1] != "texDiffuseMap")
                {
                    StartCoroutine(this.IColormap2(data[1], utextures, this.listEmbeddedMaterials[i]));
                }
            }

            //Normalmap
            if (setting.textures.normalmaps)
            {
                if (data[3] != "texNormalMap")
                {
                    StartCoroutine(this.INormalmap2(data[3], utextures, this.listEmbeddedMaterials[i]));
                }
            }

            //If legacy listEmbeddedMaterialss don't read more texture channels
            if (setting.materials.shaderType == ShaderType.Legacy)
            {
                continue;
            }

            //Heightmap
            if (setting.textures.heightmaps)
            {
                if (data[5] != "texHeightMap")
                {
                    StartCoroutine(this.ITexturemap2(data[5], utextures, this.listEmbeddedMaterials[i], "_ParallaxMap"));
                }
            }

            //Oclussionmap
            if (setting.textures.occlusionmaps)
            {
                if (data[7] != "texOcclusionColorMap")
                {
                    StartCoroutine(this.ITexturemap2(data[7], utextures, this.listEmbeddedMaterials[i], "_OcclusionMap"));
                }
            }

            //Emissionmap
            if (setting.textures.emissionmaps)
            {
                if (data[9] != "texEmissiveColorMap")
                {
                    StartCoroutine(this.ITexturemap2(data[9], utextures, this.listEmbeddedMaterials[i], "_EmissionMap"));
                }
            }

            //Detailmask
            if (setting.textures.detailmasks)
            {
                if (data[11] != "texBumpMap")
                {
                    StartCoroutine(this.ITexturemap2(data[11], utextures, this.listEmbeddedMaterials[i], "_DetailMask"));
                }
            }
        }
    }