3

如何获得一个MonoBehavior类所在cs文件的路径

 1 year ago
source link: https://blog.uwa4d.com/archives/TechSharing_311.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

1)如何获得一个MonoBehavior类所在cs文件的路径
​2)Addresssables是否可读取ScriptableObject类型的配置文件
3)内置Shader中的部分宏是在哪里定义的
4)Android升级到Target 12部分手机无法识别APK


这是第311篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)

Scripting

Q:如何获得一个MonoBehavior类所在cs文件的路径?做大规模组件替换的操作,最快就是替换对应的GUID,但是一直没有找到根据类型获得对应文件所在路径的方法。相对的,自创组件实例后,也没有找到文件的办法。

Unity内部应该是有类似方法的,不然跑Dependency也不会出现cs 引用。现在的替代方法只有新建Prefab加组件,跑Dependency获得组件路径或者写死GUID。一个操作多且慢,一个明显不靠谱。有没有干净的办法,取得类型对应的GUID?

A:可以参考:

var guids = AssetDatabase.FindAssets(typeof(GameManager).ToString());
foreach (var guid in guids)
{
    Debug.Log(AssetDatabase.GUIDToAssetPath(guid));
}

感感谢NG週@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6355fd6e0bdffa5c03f16162


Addressable

Q:Addresssables是否可读取ScriptableObject类型的配置文件?

我创建了一个ScriptableObject类型的文件,使用Addresssables读取提示找不到对应的Key。将其放到Resources文件夹下使用Res读取是没有问题的,这说明文件本身没有问题;使用AA读取其他格式文件也没有问题。

配置面板:

1.png

代码:

2.png

报错:

3.png

所以不知道问题出现在哪里了,请各位大佬回答解惑。

A:加载的泛型的类型是不是不对,我用ScriptableObject或者Object都能加载成功,TextAsset确实会加载失败。

感谢Knight-132872@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/6350f65f0bdffa5c03ecc267


Shader

Q:内置Shader中的部分宏,像 LIGHTMAP_ON、DYNAMICLIGHTMAP_ON 、SHADOWS_SCREEN 这些宏是什么条件被定义的?哪里能找到具体的说明么?

A:可以参考一下官方对应版本的文档:
https://docs.unity3d.com/cn/2022.1/Manual/shader-keywords.html

感谢萧小俊@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/63417c61dec0b5016d26999e


Android

Q:Android升级到Target 12后大部分手机无法安装识别,只有一台机器可以识别,有人遇到过吗?

4.png

A:参考以下文章,当应用以Android 12为目标,使用的activity,service,broadcast receiver如果含有intent-filter,则必须显示声明android:exported属性,如果没有声明,则应用不能安装在Android 12上。

https://blog.csdn.net/qq_35559358/article/details/115325911

感谢题主null@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/634767c6dec0b5016d2c1d97

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK