PC端加载安卓AB包资源显示紫色的问题
根据经验我们知道这是正常的到安卓手机就会正常。但还是很影响调试体验。我们想弄一个脚本在编辑器状态自动找到它的着色器的编辑器版本重新指定。不同的资源会使用不同的着色器必须根据资源身上的着色器名字找到编辑器下的版本。我们不想给所有预制体挂一遍脚本所以在实例化资源时加上这个脚本。需要把Instantiate封装一下整个项目克隆预制体不再使用原生Instantiate。封装版本里面执行一个事件。问题就是怎么从AB包物体的材质的着色器得到这个着色器在编辑器的版本。尝试AssetDatabase.GetAssetPath获得物体实例的着色器的编辑器路径public static void AssignEditorShader(GameObject go) { Renderer[] renderers go.GetComponentsInChildrenRenderer(); foreach (Renderer renderer in renderers) { foreach (var mat in renderer.sharedMaterials) { string path AssetDatabase.GetAssetPath(mat.shader); Debug.Log(${go}的着色器在{path});全部返回了空。AB包加载的预制体和克隆体的着色器和编辑器的已经不是一个对象。实现那么我们通过着色器名字的匹配。弄一个SO记录用到的着色器列表生成字典。public static event ActionGameObject OnCloneGlobal; public static GameObject CloneStatic(GameObject prefab) { if (prefab null) { Debug.LogError($资源为空); return null; } if (!(prefab is GameObject)) { Debug.LogError($不是GO无法克隆); return null; } GameObject go UnityEngine.Object.Instantiate(prefab); OnCloneGlobal?.Invoke(go); return go; }using System.Collections; using System.Collections.Generic; using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif namespace MyFarm { public class ReassignShader:MonoBehaviour { [ContextMenu(打印着色器名字)] void PrintShaders() { Renderer[]renderers GetComponentsInChildrenRenderer(); foreach (Renderer renderer in renderers) { foreach (var mat in renderer.sharedMaterials) { Debug.Log(mat.shader.name); } } } #if UNITY_EDITOR static ShaderRecorderSO _shaderRecorderSO; static Dictionarystring, Shader _shaderDic; static Dictionarystring, Shader shaderDic { get { if(_shaderDic null) { _shaderRecorderSO AssetDatabase.LoadAssetAtPathShaderRecorderSO (Assets/New Shader Recorder SO.asset); if(_shaderRecorderSO null) { Debug.LogError(加载着色器盘失败); return null; } _shaderDic new(); foreach(var shader in _shaderRecorderSO.shaders) { shaderDic[shader.name] shader; } } return _shaderDic; } } public static void AssignEditorShader(GameObject go) { Renderer[] renderers go.GetComponentsInChildrenRenderer(); foreach (Renderer renderer in renderers) { foreach (var mat in renderer.sharedMaterials) { string shaderName mat.shader.name; if (shaderDic.ContainsKey(shaderName)) { mat.shader shaderDic[shaderName]; } else { Debug.LogError($着色器{shaderName}在SO里不存在); } } } } #endif } }using System.Collections; using System.Collections.Generic; using UnityEngine; using MyFW; namespace MyFarm { [CreateAssetMenu(menuName MyFarm/着色器记录)] public class ShaderRecorderSO : ScriptableObject { public ListShader shaders; } }#if UNITY_EDITOR MyResInfo.OnCloneGlobal ReassignShader.AssignEditorShader; #endif

相关新闻

为什么你的Occupancy Network在暴雨夜全失效?——基于200万km实车数据的动态体素坍缩根因分析(附可复现热修复补丁)

为什么你的Occupancy Network在暴雨夜全失效?——基于200万km实车数据的动态体素坍缩根因分析(附可复现热修复补丁)

更多请点击: https://kaifayun.com 第一章:为什么你的Occupancy Network在暴雨夜全失效?——基于200万km实车数据的动态体素坍缩根因分析(附可复现热修复补丁) 暴雨场景下,Occupancy Network(O…

2026/10/13 1:13:07 阅读更多 →
电商返利平台稳定性建设:全链路监控(SkyWalking)与熔断降级机制

电商返利平台稳定性建设:全链路监控(SkyWalking)与熔断降级机制

电商返利平台稳定性建设:全链路监控(SkyWalking)与熔断降级机制 大家好,我是省赚客APP研发者微赚淘客! 在电商返利业务中,系统的稳定性直接关系到用户的“钱袋子”。我们的核心链路高度依赖淘宝、京东等第三…

2026/10/12 22:45:01 阅读更多 →
AI面试工具选型决策手册(2024企业级避坑白皮书):覆盖12类岗位、8种语言、GDPR/《个人信息保护法》双合规验证

AI面试工具选型决策手册(2024企业级避坑白皮书):覆盖12类岗位、8种语言、GDPR/《个人信息保护法》双合规验证

更多请点击: https://intelliparadigm.com 第一章:AI面试工具选型决策框架总览 在企业加速招聘数字化转型的背景下,AI面试工具已从辅助手段演变为人才评估的核心基础设施。选型决策不应仅依赖厂商宣传或单一功能亮点,而需构建兼顾…

2026/10/4 0:58:16 阅读更多 →

最新新闻

微服务服务发现从原理到落地实战指南

微服务服务发现从原理到落地实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:15:59 阅读更多 →
STM32F429 移植 LiteOS 实战:CubeMX 创建 HAL 库工程指南

STM32F429 移植 LiteOS 实战:CubeMX 创建 HAL 库工程指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:15:59 阅读更多 →
秒杀系统实战:从限流到库存扣减的高并发方案

秒杀系统实战:从限流到库存扣减的高并发方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:15:59 阅读更多 →
Nginx域名访问后台管理系统实战:从IP端口到HTTPS反向代理

Nginx域名访问后台管理系统实战:从IP端口到HTTPS反向代理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:15:59 阅读更多 →
嵌入式老兵转机器人:STM32、电机控制、Linux驱动三条高薪路线怎么选

嵌入式老兵转机器人:STM32、电机控制、Linux驱动三条高薪路线怎么选

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:15:59 阅读更多 →
模拟IC设计经验法则:RC估算、增益带宽与运放稳定性速查

模拟IC设计经验法则:RC估算、增益带宽与运放稳定性速查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:14:59 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →