Skip to content

Commit

Permalink
made very low less demanding, made low more useable
Browse files Browse the repository at this point in the history
  • Loading branch information
dooly123 committed Dec 1, 2024
1 parent 9807d7b commit cb6ac2e
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 51 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
using UnityEngine;
using UnityEngine.Rendering.Universal;
using static UnityEngine.Analytics.IAnalytic;
namespace BattlePhaze.SettingsManager.Intergrations
{
public class SMModuleQualityAndQualitySetURP : SettingsManagerOption
{
public UniversalAdditionalCameraData Data;
public override void ReceiveOption(SettingsMenuInput Option, SettingsManager Manager)
{
if (NameReturn(0, Option))
{
ChangeQualityLevel(Option.SelectedValue);
}
}
public AnisotropicFiltering VeryLow = AnisotropicFiltering.Disable;
public AnisotropicFiltering low = AnisotropicFiltering.Disable;
public AnisotropicFiltering medium = AnisotropicFiltering.Enable;
public AnisotropicFiltering high = AnisotropicFiltering.Enable;
public AnisotropicFiltering ultra = AnisotropicFiltering.Enable;
public Camera Camera;
public void ChangeQualityLevel(string Quality)
{
if (Camera == null)
{
Camera = Camera.main;
Data = Camera.GetComponent<UniversalAdditionalCameraData>();
}
switch (Quality)
{
case "very low":
QualitySettings.anisotropicFiltering = VeryLow;
QualitySettings.SetQualityLevel(2);
QualitySettings.realtimeReflectionProbes = false;
QualitySettings.softParticles = false;
QualitySettings.particleRaycastBudget = 256;
if (Data != null)
{
Data.renderPostProcessing = false;
Data.requiresColorOption = CameraOverrideOption.Off;
Data.requiresDepthOption = CameraOverrideOption.Off;
Data.renderShadows = false;
Data.stopNaN = false;
}
break;
case "low":
QualitySettings.anisotropicFiltering = low;
QualitySettings.SetQualityLevel(2);
QualitySettings.realtimeReflectionProbes = true;
QualitySettings.softParticles = true;
QualitySettings.particleRaycastBudget = 512;
if (Data != null)
{
Data.renderPostProcessing = true;
Data.requiresColorOption = CameraOverrideOption.UsePipelineSettings;
Data.requiresDepthOption = CameraOverrideOption.UsePipelineSettings;
Data.renderShadows = true;
Data.stopNaN = true;
}
break;
case "medium":
QualitySettings.anisotropicFiltering = medium;
QualitySettings.SetQualityLevel(1);
QualitySettings.realtimeReflectionProbes = true;
QualitySettings.softParticles = true;
QualitySettings.particleRaycastBudget = 1024;
if (Data != null)
{
Data.renderPostProcessing = true;
Data.requiresColorOption = CameraOverrideOption.UsePipelineSettings;
Data.requiresDepthOption = CameraOverrideOption.UsePipelineSettings;
Data.renderShadows = true;
Data.stopNaN = true;
}
break;
case "high":
QualitySettings.anisotropicFiltering = high;
QualitySettings.SetQualityLevel(0);
QualitySettings.realtimeReflectionProbes = true;
QualitySettings.softParticles = true;
QualitySettings.particleRaycastBudget = 2048;
if (Data != null)
{
Data.renderPostProcessing = true;
Data.requiresColorOption = CameraOverrideOption.UsePipelineSettings;
Data.requiresDepthOption = CameraOverrideOption.UsePipelineSettings;
Data.renderShadows = true;
Data.stopNaN = true;
}
break;
case "ultra":
QualitySettings.anisotropicFiltering = ultra;
QualitySettings.SetQualityLevel(0);
QualitySettings.realtimeReflectionProbes = true;
QualitySettings.softParticles = true;
QualitySettings.particleRaycastBudget = 4096;
if (Data != null)
{
Data.renderPostProcessing = true;
Data.requiresColorOption = CameraOverrideOption.UsePipelineSettings;
Data.requiresDepthOption = CameraOverrideOption.UsePipelineSettings;
Data.renderShadows = true;
Data.stopNaN = true;
}
break;
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@ public void ChangeShadowQuality(string Quality)
Asset.cascade2Split = 0.12f; // 12% for 2-cascade setting
Asset.cascade3Split = new Vector2(0.12f, 0.5f); // 12% and 50% for 3-cascade setting
Asset.cascade4Split = new Vector3(0.12f, 0.3f, 0.6f); // 12%, 30%, and 60% for 4-cascade setting
Asset.shadowDistance = 150; // Max distance for shadows
switch (Quality)
{
case "very low":
Asset.mainLightShadowmapResolution = 256;
Asset.additionalLightsShadowmapResolution = 256;
Asset.maxAdditionalLightsCount = 2;
Asset.mainLightShadowmapResolution = 32;
Asset.additionalLightsShadowmapResolution = 32;
Asset.maxAdditionalLightsCount = 0;
Asset.shadowDistance = 0;
break;
case "low":
Asset.mainLightShadowmapResolution = 512;
Asset.additionalLightsShadowmapResolution = 512;
Asset.maxAdditionalLightsCount = 4;
Asset.maxAdditionalLightsCount = 2;
break;
case "medium":
Asset.mainLightShadowmapResolution = 2048;
Expand All @@ -51,6 +51,7 @@ public void ChangeShadowQuality(string Quality)
Asset.maxAdditionalLightsCount = 16;
break;
}
Asset.shadowDistance = 150;
}
private System.Type universalRenderPipelineAssetType;
private FieldInfo mainLightShadowmapResolutionFieldInfo;
Expand Down Expand Up @@ -98,7 +99,7 @@ public ShadowResolution AdditionalLightsShadowResolution
}
set
{
UniversalRenderPipelineAsset Asset = (UniversalRenderPipelineAsset)QualitySettings.renderPipeline;
UniversalRenderPipelineAsset Asset = (UniversalRenderPipelineAsset)QualitySettings.renderPipeline;
if (additionalLightsRenderingMode == null)
{
InitializeShadowMapFieldInfo();
Expand Down

0 comments on commit cb6ac2e

Please sign in to comment.