private void ProcessTextures(MaterialContent input, SkinnedModelMaterialContent skinnedModelMaterial, ContentProcessorContext context) { foreach (string key in input.Textures.Keys) { ExternalReference <TextureContent> texture = input.Textures[key]; if (!String.IsNullOrEmpty(texturePath)) { string fullFilePath; if (texturePathType == PathType.Relative) { // If relative path string sourceAssetPath = Path.GetDirectoryName(input.Identity.SourceFilename); fullFilePath = Path.GetFullPath( Path.Combine(sourceAssetPath, texturePath)); } else { fullFilePath = texturePath; } texture.Filename = Path.Combine(fullFilePath, Path.GetFileName(texture.Filename)); } ProcessTexture(key, texture, skinnedModelMaterial, context); } }
public override MaterialContent Process(MaterialContent input, ContentProcessorContext context) { SkinnedModelMaterialContent skinnedModelMaterialContent = new SkinnedModelMaterialContent(); // Processes all textures ProcessTextures(input, skinnedModelMaterialContent, context); // Processes surface material ProcessMaterial(input, skinnedModelMaterialContent, context); return(skinnedModelMaterialContent); }
protected virtual void ProcessMaterial(MaterialContent input, SkinnedModelMaterialContent skinnedModelMaterial, ContentProcessorContext context) { BasicMaterialContent basicMaterial = input as BasicMaterialContent; //if (basicMaterial != null) //{ // skinnedModelMaterial.EmissiveColor = basicMaterial.EmissiveColor.GetValueOrDefault( // Vector3.Zero); // skinnedModelMaterial.DiffuseColor = basicMaterial.DiffuseColor.GetValueOrDefault( // Vector3.One); // skinnedModelMaterial.SpecularColor = basicMaterial.SpecularColor.GetValueOrDefault( // Vector3.One); // skinnedModelMaterial.SpecularPower = basicMaterial.SpecularPower.GetValueOrDefault( // 16); //} }
protected virtual void ProcessTexture(string key, ExternalReference <TextureContent> texture, SkinnedModelMaterialContent skinnedModelMaterial, ContentProcessorContext context) { if (key.Equals(DiffuseMapKey)) { //skinnedModelMaterial.DiffuseMapEnabled = true; //skinnedModelMaterial.DiffuseMapContent = base.BuildTexture(key, texture, context); } else if (key.Equals(NormalMapKey)) { //skinnedModelMaterial.NormalMapEnabled = true; //skinnedModelMaterial.NormalMapContent = base.BuildTexture(key, texture, context); } else if (key.Equals(SpecularMapKey)) { //skinnedModelMaterial.SpecularMapEnabled = true; //skinnedModelMaterial.SpecularMapContent = base.BuildTexture(key, texture, context); } }