Unity判断某个材质是否拥有某张贴图

在Unity中,一个材质是唯一的,也就是实例,当我们打开Debug面板时,就可以看清楚材质的具体信息。

其中SvaedProperties就是材质保存的属性,当然贴图也是属性,也就是TexEnvs下的属性

 当然,要判断某个材质是否有某张贴图,我们首先需要获得贴图,可以使用以下函数来获得贴图在资源路径下的路径。

 private string GetPath(Texture texture)
    {
        return AssetDatabase.GetAssetPath(texture.GetInstanceID());
    }

然后使用下面的方法 ,先获得材质下的所有保存的贴图属性,路径我们可以在Debug面板下Copy,然后再遍历这些属性查找它们是否和我们的贴图一致即可

  private bool HasTexture(Material material, string texturePath){if (texturePath != null){SerializedObject serializedMaterial = new SerializedObject(material);SerializedProperty texturesProperty = serializedMaterial.FindProperty("m_SavedProperties.m_TexEnvs");for (int i = 0; i < texturesProperty.arraySize; i++){SerializedProperty textureProperty = texturesProperty.GetArrayElementAtIndex(i);SerializedProperty textureValueProperty = textureProperty.FindPropertyRelative("second.m_Texture");if (textureValueProperty != null){Texture texture = textureValueProperty.objectReferenceValue as Texture;if (texture != null && AssetDatabase.GetAssetPath(texture) == texturePath){return true;}}}}return false;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++11 标准模板(STL)本地化库 - std::isspace(std::locale) - 检查字符是否被本地环境分类为空白

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析&#xff0c;以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 检查字符是否被本地环境分类为空白 std::isspace(std::locale) template&l…

ROS2从入门到精通1-1:详解ROS2话题通信机制与自定义消息

目录 0 专栏介绍1 话题通信模型2 话题模型实现(C)3 话题模型实现(Python)4 自定义消息 0 专栏介绍 本专栏旨在通过对ROS2的系统学习&#xff0c;掌握ROS2底层基本分布式原理&#xff0c;并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。 &#x1f680;详情&a…

正则表达式与re模块

目录 正则表达式 简介 语法&#xff1a; 常用元字符&#xff1a; 量词: 贪婪匹配和惰性匹配&#xff1a; re模块 简介&#xff1a; 常用的几个模块&#xff1a; 1.findall 2.search 3.finditer 4.compile 案例展示&#xff1a; 需求&#xff1a; 思路分析&#…

code摘录日记[矩阵变元素,变列向量,3D表面图,table行列设置] Matlab

矩阵变元素&#xff0c;变列向量 W1(Z1 < Z2) nan; % Z1,Z2 all matrix,Only plot points where Z1 > Z2;Z1 < Z2位置值填为NaNx x(:); % Now x is a 30-by-1 vector; matrix变列vector技巧3D表面图 hand figure; % Handle to the figure, for more plotting later…

【QED】血压高的天依

文章目录 题目测试样例 思路代码 题目 题目链接&#x1f517; 天依最近迷上了《Battlefield1》&#xff0c;游戏中每种武器都有不同的攻击伤害值。天依跟敌人对枪&#xff0c;经常在被敌人击杀后发现自己击杀了敌人99滴血&#xff0c;因此血压常常升高。为了降低天依的血压&am…

后台管理系统和前台页面的关联

一、项目bug 1、多人开发的项目冲突 2、相关框架的的运用 3、后台数据的处理 4、antd框架日期框的回显 5、上传图片的回显 6、请求的端口号不一致&#xff0c;需要做前端反向代理 二、项目用到的技术栈 reactts来进行开发后台后台用到的工具则是vite这一去轻量化工具去…

彻底学会系列:一、机器学习之梯度下降(1)

1 梯度下降概念 1.1 概念 梯度下降是一种优化算法&#xff0c;用于最小化一个函数的值&#xff0c;特别是用于训练机器学习模型中的参数&#xff0c;其基本思想是通过不断迭代调整参数的值&#xff0c;使得函数值沿着梯度的反方向逐渐减小&#xff0c;直至达到局部或全局最小…

如何使用SFC和DISM命令修复损坏的Windows系统文件?这有详细步骤

前言 Windows内置的系统文件检查器工具可以扫描Windows系统文件是否损坏或任何其他更改。如果文件已被修改,它将自动用正确的版本替换该文件。以下是如何使用它。 何时应该运行SFC或DISM 如果Windows出现蓝屏或其他崩溃,应用程序出现故障,或者某些Windows功能无法正常工作…

HBase常用命令

简介&#xff1a; HBase Shell 是一种操作HBase的交互模式&#xff0c;支持完整的HBase命令集。 hbase shell # 打开Hbase Shell目录: 命令类别常用命令Generalversion&#xff0c;status&#xff0c;whoami&#xff0c;helpDDLalter&#xff0c;creater&#xff0c;descri…

python网络编程:通过socket实现TCP客户端和服务端

目录 写在开头 socket服务端&#xff08;基础&#xff09; socket客户端&#xff08;基础&#xff09; 服务端实现&#xff08;可连接多个客户端&#xff09; 客户端实现 数据收发效果 写在开头 近期可能会用python实现一些网络安全工具&#xff0c;涉及到许多关于网络…

供电系统分类详解

一、供电系统分类 电力供电系统一般有5种供电模式&#xff0c;常用的有&#xff1a;IT系统&#xff0c;TT系统&#xff0c;TN系统&#xff0c;其中TN系统又可以分为TN-C&#xff0c;TN-S&#xff0c;TN-C-S。 1、TN-C系统&#xff08;三相四线制&#xff09; 优点: 该系统中…

【无标题】自用款。。。

#include #include // #include <string.h> // 定义结构体 struct Student { char name[30]; int age; float score; }; // 定义比较函数&#xff0c;用于std::sort对结构体数组进行排序 bool compareStudentsByScore(const Student& a, const Student& b) {…

Hadoop大数据应用:NFS网关 连接 HDFS集群

目录 一、实验 1.环境 2.NFS网关 连接 HDFS集群 3. NFS客户端挂载HDFS文件系统 二、问题 1.关闭服务报错 2.rsync 同步报错 3. mount挂载有哪些参数 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构软件版本IP备注hadoop NameNode &#xff08;…

JavaAPI(含面试大厂题含源码)

在Java编程中&#xff0c;API&#xff08;应用程序编程接口&#xff09;是一套常用于执行特定任务或与系统交互的预定义函数和协议集合。Java标准库&#xff08;也称为Java API&#xff09;提供了广泛的功能&#xff0c;包括集合操作、文件处理、网络编程等&#xff0c;这些都是…

计算机网络的功能和特点

<计算机网络的功能> 1、数据通信 这是最基本的功能。用来传送各种类型的信息&#xff0c;包括文字信件、新闻消息、资讯信息、图片资料、声音、视频流等各种多媒体信息。 2、资源共享 资源是指网络中所有的软件、硬件和数据&#xff0c;共享则是指网络中的用户能够部…

高级Redis应用进阶 一站式Redis解决方案

源代码在https://github.com/629y/food-social-contact-parent Redis-1 Redis Redis-2 Redis基础数据类型与基本使用 Redis-3 Redis高阶类型与高级应用 Redis-4 Redis数据持久化 Redis-5 主从复制和读写分离 Redis-6 哨兵监控 Redis-7 集群搭建 Redis-8 集群高可用

【Mysql基础】查询01-去重、连接字符、模糊查询、通配符、检索表的结构信息

这里写目录标题 1 去重 distinct2 连接字符 concat(str1,str2,...)3 模糊查询3.1 like 包含3.2 通配符3.3 between and3.4 in3.5 is null 4 安全等于 <>5 检索表的结构信息 desc6 课后练习 1 去重 distinct 使用 DISTINCT 关键字&#xff0c;可以从结果集中去除重复的行…

他山之石可以攻玉

《赫畅&#xff5c;我42岁&#xff0c;从25亿到退网5年后的再次归来》 虽然行业不同&#xff0c;但是很多基本原理都是相通的。 1、不能什么都自己干。平台这么大&#xff0c;应用这么多&#xff0c;自己干不可能&#xff0c;多半也干不好。要尽可能多的形成统一战线&#xf…

Mac屏幕录制编辑软件

以下是一些Mac平台上受到推荐和好评的屏幕录制编辑软件&#xff1a; OBS Studio&#xff08;免费且开源&#xff09;&#xff1a; OBS 是一款功能强大的免费屏幕录制工具&#xff0c;不仅限于游戏直播&#xff0c;也适用于各种屏幕录制需求。它允许用户捕获屏幕、摄像头、音频&…

蓝桥杯day3刷题日记--P9240 冶炼金属

P9240 [蓝桥杯 2023 省 B] 冶炼金属 经典二分&#xff0c;先在第一组中找到最小值&#xff0c;在利用最小值限制范围寻找最大值 #include <iostream> #include <algorithm> using namespace std; int n,kk; int m[10001],num[10001]; int maxs,mins;bool check1…