解决错误:OnAssignMaterial must return a persistent material (AssetDatabase.CreateAsset)
2016-08-13 18:25
1356 查看
项目中有需求对 AssetPostprocessor.OnAssignMaterialModel 进行自定义处理,代码如下
public Material OnAssignMaterialModel(Material mat,Renderer render)
{
if (mat.shader.name.Contains("Particles"))
{
mat.shader = Shader.Find("Mobile/Particles/Additive");
}
return mat;
}
转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
但是发现有时候导入模型会报以下错误
OnAssignMaterial must return a persistent material (AssetDatabase.CreateAsset)
在Unity 官网寻得答案 http://answers.unity3d.com/questions/39976/what-to-return-from-onassignmaterialmodel.html 原来在Unity 文档中已经注明,如果函数没有进行任何处理,要返回 Null 。 http://docs.unity3d.com/ScriptReference/AssetPostprocessor.OnAssignMaterialModel.html
修改成如下,解决问题
public Material OnAssignMaterialModel(Material mat,Renderer render)
{
if (mat.shader.name.Contains("Particles"))
{
mat.shader = Shader.Find("Mobile/Particles/Additive");
return mat;
}
else
{
return null;
}
}
public Material OnAssignMaterialModel(Material mat,Renderer render)
{
if (mat.shader.name.Contains("Particles"))
{
mat.shader = Shader.Find("Mobile/Particles/Additive");
}
return mat;
}
转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
但是发现有时候导入模型会报以下错误
OnAssignMaterial must return a persistent material (AssetDatabase.CreateAsset)
在Unity 官网寻得答案 http://answers.unity3d.com/questions/39976/what-to-return-from-onassignmaterialmodel.html 原来在Unity 文档中已经注明,如果函数没有进行任何处理,要返回 Null 。 http://docs.unity3d.com/ScriptReference/AssetPostprocessor.OnAssignMaterialModel.html
修改成如下,解决问题
public Material OnAssignMaterialModel(Material mat,Renderer render)
{
if (mat.shader.name.Contains("Particles"))
{
mat.shader = Shader.Find("Mobile/Particles/Additive");
return mat;
}
else
{
return null;
}
}
相关文章推荐
- Java swing使用皮肤后出现Component creation must be done on Event Dispatch Thread错误解决方法
- 解决XenDesktop 5.6配置外置数据库时错误:Database collation sequence must be c...
- [已解决]在VMware-server for linux 下装centos错误:an error has occurred. - no valid devices were found on which to create new file system
- “can’t create transaction lock on /var/lib/rpm/__db.000”错误解决
- Component creation must be done on Event Dispatch Thread错误解决方法
- MySQL: 1006 - Can't create database '***' (errno: 13) 错误 解决方法
- [解决]SharePoint 2010 安装错误—未能创建配置数据库(Failed to Create Configuration Database)
- vc编译出现错误:cannot open program database 目录/debug/vc60.pdb的解决
- Microsoft JET Database Engine 错误 '80040e14'内存溢出的解决办法
- attempt to write a readonly database错误的解决(C#,SQLite) ..
- phpmyadmin提示错误Wrong permissions on configuration file, should not be world writable!解决方法
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法
- Microsoft JET Database Engine (0x80004005)未指定的错误解决
- There is no Citrix MetaFrame server configured on the specified address错误的解决方法
- Delphi 7 - Could not create output file *.*dcu 错误的解决办法
- iis中asp存取Access时报"Microsoft JET Database Engine (0x80004005)未指定错误"的解决方法
- 安装BCGControlBar 编译错误解决办法 fatal error C1033: cannot open program database '*:/**/vc60.idb'
- Property OldCreateOrder does not exist 错误解决!
- must be an instance of com.sun错误的解决
- Microsoft JET Database Engine 错误 '80040e09' 解决方法