【发布时间】:2019-02-05 04:39:17
【问题描述】:
我想知道如何通过 C# 更改 Unity 后处理层抗锯齿类型,我已经尝试了所有方法但无法弄清楚。 我查看了图层脚本的代码,但仍然无法弄清楚。
我试过了:
MainL.antialiasingMode = Antialiasing.[Setting];
[设置] = 抗锯齿设置。
但这并没有奏效。
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
public class GameQuality : MonoBehaviour
{
public Camera Main;
public PostProcessVolume MainV;
public PostProcessProfile Less;
public PostProcessProfile High;
public PostProcessProfile Ultra;
public PostProcessLayer MainL;
// Use this for initialization
void Awake()
{
QualitySettings.GetQualityLevel();
if(QualitySettings.GetQualityLevel() > 2)
{
MainV.profile = Less;
}
if(QualitySettings.GetQualityLevel() == 3)
{
MainV.profile = High;
}
if(QualitySettings.GetQualityLevel() == 4)
{
MainV.profile = Ultra;
}
}
// Update is called once per frame
void Update ()
{
}
}
【问题讨论】:
-
您的第一个
QualitySettings.GetQualityLevel();是为了什么? -
我看不出您究竟在哪里尝试过
MainL.antialiasingMode = Antialiasing.XY,但XY的值应该是None、FastApproximateAntialiasing、SubpixelMorphologicalAntialiasing或TemporalAntialiasing之一。请注意,您可能还必须根据MainL.temporalAntialiasing、MainL.fastApproximateAntialiasing或MainL.subpixelMorphologicalAntialiasing进行设置 -
我有它,但删除了它,因为它会导致错误,当我这样做时我还需要做其他事情: MainL.antialiasingMode = Antialiasing.FastApproximateAntialiasing;我收到错误:错误 CS0103:当前上下文中不存在名称“抗锯齿”
-
你试过
PostProcessLayer.Antialiasing吗? -
使用:“MainL.antialiasingMode == PostProcessLayer.Antialiasing;”我得到了错误:名称`只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句'在当前上下文中不存在