ExecuteInEditMode加在类前面即是没有运行也能产生效果

本文介绍如何在脚本开始处检测系统是否支持shader,并据此决定脚本是否启用。通过检查SystemInfo.supportsImageEffects和curShader.isSupported,确保只有在支持shader的情况下脚本才运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DontSave:保留对象到新场景

功能说明:此属性的功能是用来设置是否将Object对象保留到新的场景(Scene)中,如果使用HideFlags.DontSave,则Object对象将在新场景中被保留下来,对其使用说明如下。

(1)如果GameObject对象被HideFlags.DontSave标识,则在新scene中GameObject的所有组件将被保留下来,但其子类GameObject对象不会被保留到新scene中。

(2)不可以对GameObject对象的某个组件如Transform进行HideFlags.DontSave标识,否则无效。

(3)即使程序已经退出,被HideFlags.DontSave标识的对象会一直存在于程序中,造成内存泄漏,对HideFlags.DontSave标识的对象在不需要或程序退出时需要使用DestroyImmediate手动销毁。


检测平台是否支持shader。如果在脚本开始处没找到任何信息,脚本将禁用自身。

void Start () {
if(!SystemInfo.supportsImageEffects)//系统找不到这个类的信息。就关闭
{
enabled = false;
return;
}
if(!curShader && !curShader.isSupported)//如果shader是空的。并且找不到shader帮助。
{
enabled =false;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值