我正在尝试使用Unity的一些东西并且在这里总是“没有合适的方法来覆盖”时会遇到很多这样的错误。例如:
资产/标准资产/效果/ ImageEffects / Scripts / Antialiasing.cs(86,30):错误CS0115:`UnityStandardAssets.ImageEffects.Antialiasing.CheckResources()'被标记为覆盖但没有找到合适的方法来覆盖。
看起来这个错误是微不足道的,但我不知道C#,所以不知道这个是什么。你能在这个例子中展示一下,如何解决这个问题?谢谢!
public override bool CheckResources()
{
CheckSupport(false);
materialFXAAPreset2 = CreateMaterial(shaderFXAAPreset2, materialFXAAPreset2);
materialFXAAPreset3 = CreateMaterial(shaderFXAAPreset3, materialFXAAPreset3);
materialFXAAII = CreateMaterial(shaderFXAAII, materialFXAAII);
materialFXAAIII = CreateMaterial(shaderFXAAIII, materialFXAAIII);
nfaa = CreateMaterial(nfaaShader, nfaa);
ssaa = CreateMaterial(ssaaShader, ssaa);
dlaa = CreateMaterial(dlaaShader, dlaa);
if (!ssaaShader.isSupported)
{
NotSupported();
ReportAutoDisable();
}
return isSupported;
}
答案 0 :(得分:0)
您提供的代码示例中的方法标记为override
。这意味着编译器将采用此方法所在的类,并查看它继承的类以查找要覆盖的类。
请参阅文档here。
如果您确定此代码是正确的,那么从方法定义中删除override
关键字应该可以消除错误。
如果您还没有自己编写此代码及其部分Unity文件,那么您可能会遗漏一些依赖项(请参阅:包含该类的文件以及您应该覆盖的方法)。
答案 1 :(得分:-2)
我发现的唯一解决方法是删除整个公共类BloomAndFlares : PostEffectsBase
。其他所有东西给我一个错误。