[U3D][Editor]编辑材质球遇到的一些问题

Q: Material并没有对应的Importer,也没有预制件所对应的PrefabUtility.CreatePrefab创建函数,所以,即使是用AssetImporter导进来,也无法修改并调用SaveAndReimport去保存。

A: 所有的对象都可以通过AssetDatabase.CreateAsset(Object, path)进行创建,材质球的话:Material matAsset = new Material(Shader.Find("Standard")); AssetDatabase.CreateAsset(matAsset, "Assets/Temp");


Q: 如何编辑?

A:因为没有对应的Importer,所以只能通过AssetDatabase.LoadAssetAtPath<Material>()加载,而AssetDatabase对应的保存函数是SaveAssets()。注意,SaveAssets只会保存未保存的部分,所以要先调用EditorUtility.SetDirty(matAsset)


Q: 材质球黑色的,点一下就显示正常了?

A: 通过对比点击前后的.mat文件对比,发现是有一部分设置没有配置,我出现的是“RenderType: Opaque”没有赋值,把缺失的部分补一下就好了,像这个问题需要这样设置matAsset.SetOverrideTag("RenderType", "Opaque");


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值