日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity用代码批量修复材质球shader丢失的问题

發布時間:2023/12/8 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity用代码批量修复材质球shader丢失的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

假設現在有一大批模型的材質球的shader丟失了,我們想把這批模型的材質球都使用Mobile/Unlit (Supports Lightmap)這個shader,挨個挨個點太麻煩了,可以用代碼來批量執行這件事

代碼如下

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;public class FixMatShader {[MenuItem("Tools/Aux/修復材質球shader丟失")]static void StartRun(){var objs = Selection.objects;foreach (var obj in objs){var go = obj as GameObject;var rs = go.GetComponentsInChildren<Renderer>();foreach (var r in rs){if (null != r.sharedMaterial)r.sharedMaterial.shader = Shader.Find("Mobile/Unlit (Supports Lightmap)");}}} }

選擇那批模型的預設,然后執行菜單【Tools/Aux/修復材質球shader丟失】即可


補充

我們是通過Shader.Find來找到Unity的內置shader的,那么shader的名字在哪里查看呢
在材質球空白處右鍵-Edit Shader…

然后點擊Compile and show code

這樣就可以看到shader的代碼了,頭部那里就可以看到shader的名字了

總結

以上是生活随笔為你收集整理的Unity用代码批量修复材质球shader丢失的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。