【问题标题】:How to change the Unity Post Processing Layer Anti Aliasing Type Through C#如何通过 C# 更改 Unity 后处理层抗锯齿类型
【发布时间】: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 的值应该是NoneFastApproximateAntialiasingSubpixelMorphologicalAntialiasingTemporalAntialiasing 之一。请注意,您可能还必须根据MainL.temporalAntialiasingMainL.fastApproximateAntialiasingMainL.subpixelMorphologicalAntialiasing 进行设置
  • 我有它,但删除了它,因为它会导致错误,当我这样做时我还需要做其他事情: MainL.antialiasingMode = Antialiasing.FastApproximateAntialiasing;我收到错误:错误 CS0103:当前上下文中不存在名称“抗锯齿”
  • 你试过PostProcessLayer.Antialiasing吗?
  • 使用:“MainL.antialiasingMode == PostProcessLayer.Antialiasing;”我得到了错误:名称`只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句'在当前上下文中不存在

标签: c# unity3d


【解决方案1】:

您可以将Post​Process​Layer.antialiasingmodePostProcessLayer.Antialiasing 的值一起使用(确保使用完整的类型名称,包括PostProcessingLayer.

MainL.antialiasingMode = PostProcessingLayer.Antialiasing.XY;

其中XY 可以是NoneFastApproximateAntialiasingSubpixelMorphologicalAntialiasingTemporalAntialiasing 之一。


请注意,仅此而已可能还不够。您可能还需要设置相应的抗锯齿 MainL.temporalAntialiasingMainL.fastApproximateAntialiasingMainL.subpixelMorphologicalAntialiasing 的值。


顺便说一句,您应该删除

的第一个调用
QualitySettings.GetQualityLevel();

什么都不做

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2019-05-13
    相关资源
    最近更新 更多