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

本文解答了Unity开发中常见的四个问题:获取MonoBehavior类所在CS文件路径的方法;Addressables加载ScriptableObject配置文件的技巧;内置Shader宏定义的位置及含义;解决Android Target12设备上的安装问题。

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


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

UWA 问答社区:answer.uwa4d.com
 

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问答社区提供了回答,欢迎大家转至社区交流:
旧问题:如何获得一个 MonoBehavior类 所在cs 文件的路径? -- UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Addressable

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

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

配置面板:

代码:

报错:

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

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

感谢Knight-132872@UWA问答社区提供了回答,欢迎大家转至社区交流:
旧问题:如何获得一个 MonoBehavior类 所在cs 文件的路径? -- UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Shader

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

A:可以参考一下官方对应版本的文档:
Shader keywords - Unity 手册

感谢萧小俊@UWA问答社区提供了回答,欢迎大家转至社区交流:
旧问题:如何获得一个 MonoBehavior类 所在cs 文件的路径? -- UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Android

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

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

Android 12 targetSdkVersion为31应用的安装问题_Tomes_V_White的博客-CSDN博客

感谢题主null@UWA问答社区提供了回答,欢迎大家转至社区交流:
旧问题:如何获得一个 MonoBehavior类 所在cs 文件的路径? -- UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


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

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值