работаю над светом

This commit is contained in:
vladislove 2026-07-09 15:12:40 +03:00
parent 448a69ceb1
commit fc12b3bab2
18 changed files with 2370 additions and 678 deletions

View File

@ -25,19 +25,16 @@ Material:
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHAPREMULTIPLY_ON
- _SURFACE_TYPE_TRANSPARENT
- _SPECULAR_SETUP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Transparent
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
- DepthOnly
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
@ -112,30 +109,30 @@ Material:
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0.042
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.7
- _Smoothness: 0.17
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 1
- _WorkflowMode: 1
- _Surface: 0
- _WorkflowMode: 0
- _XRMotionVectorsPass: 1
- _ZWrite: 0
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.9433962, g: 0.8992202, b: 0.6897472, a: 1}
- _BaseColor: {r: 0.9433962, g: 0.8992202, b: 0.68974715, a: 1}
- _Color: {r: 0.9433962, g: 0.8992202, b: 0.68974715, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0.103773594, g: 0.0430582, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -235,8 +235,8 @@ BoxCollider:
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 2, y: 0.69, z: 1.15}
m_Center: {x: -0.15, y: 0.34, z: -0.165}
m_Size: {x: 2.06, y: 0.69, z: 1.15}
m_Center: {x: -0.14, y: 0.34, z: -0.165}
--- !u!54 &592039360660023171
Rigidbody:
m_ObjectHideFlags: 0

View File

@ -29,7 +29,7 @@ LightingSettings:
m_XAtlasBlockAlign: 0
m_XAtlasRepackUnderutilizedLightmaps: 1
m_AO: 1
m_AOMaxDistance: 5.63
m_AOMaxDistance: 0.14
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -1,143 +0,0 @@
fileFormatVersion: 2
guid: 2bf45dbf7e493494ab3af6ae34e05f96
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 1
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 11
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Binary file not shown.

View File

@ -1,143 +0,0 @@
fileFormatVersion: 2
guid: 58bf83d1060f2a847b525ef9ee9f9c6b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 1
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 11
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -9,14 +9,15 @@ public class FurnitureController : MonoBehaviour
public GameObject currentPrefab;
public LayerMask floorLayer;
public LayerMask wallLayer;
[Tooltip("Слой мебели (чтобы кликать по уже стоящим объектам)")]
public LayerMask furnitureLayer; // НОВАЯ ПЕРЕМЕННАЯ
[SerializeField] private GameObject shopPanel;
[Header("Режим редактирования (UI)")]
[SerializeField] private GameObject editPanel;
[Tooltip("Кнопка поворота на 90 градусов")]
[SerializeField] private GameObject rotate90Button; // НОВАЯ ССЫЛКА НА КНОПКУ
[SerializeField] private GameObject rotate90Button;
public float rotationSpeed = 5f;
[Header("Связь с камерой")]
@ -41,17 +42,17 @@ public class FurnitureController : MonoBehaviour
currentPrefab = null;
editPanel.SetActive(false);
// Прячем кнопку поворота при старте (т.к. начальный инструмент - Move)
if (rotate90Button != null) rotate90Button.SetActive(false);
}
void Update()
{
// 1. Если мы УЖЕ редактируем объект
if (_activeFurniture != null)
{
HandleEditing();
}
// 2. Если мы выбрали НОВУЮ мебель в магазине и хотим её поставить
else if (currentPrefab != null)
{
if (Input.GetMouseButtonDown(0) && !shopPanel.activeSelf && !IsPointerOverUI())
@ -59,6 +60,14 @@ public class FurnitureController : MonoBehaviour
TryPlaceFurniture();
}
}
// 3. НОВОЕ: Если ничего не выбрано, пытаемся кликнуть по УЖЕ СТОЯЩЕЙ мебели
else
{
if (Input.GetMouseButtonDown(0) && !shopPanel.activeSelf && !IsPointerOverUI())
{
TrySelectPlacedFurniture();
}
}
}
private void HandleEditing()
@ -170,6 +179,37 @@ public class FurnitureController : MonoBehaviour
}
}
// === НОВЫЙ МЕТОД: Выделение уже стоящей мебели ===
private void TrySelectPlacedFurniture()
{
Ray ray = _cam.ScreenPointToRay(Input.mousePosition);
// Пускаем луч, который ищет ТОЛЬКО объекты на слое FurnitureLayer
if (Physics.Raycast(ray, out RaycastHit hit, 100f, furnitureLayer))
{
// Ищем скрипт FurnitureObject на объекте (или его родителях)
FurnitureObject furnScript = hit.collider.GetComponentInParent<FurnitureObject>();
if (furnScript != null)
{
_activeFurniture = furnScript.gameObject;
_activeFurnitureScript = furnScript;
// Включаем зеленую подсветку
_activeFurnitureScript.SetEditMode(true);
// Сбрасываем инструмент на Move
_currentTool = EditTool.Move;
if (rotate90Button != null) rotate90Button.SetActive(false);
_isInteracting = false;
LockCamera(false);
// Моментально показываем меню над мебелью
UpdateUIPosition();
}
}
}
private void StartInteraction()
{
_isInteracting = true;
@ -197,15 +237,12 @@ public class FurnitureController : MonoBehaviour
float targetX = screenPos.x;
float targetY = screenPos.y + yOffset;
// МАГИЯ: Ограничиваем выход меню за пределы экрана
RectTransform rect = editPanel.GetComponent<RectTransform>();
if (rect != null)
{
// Узнаем размер панели (с учетом скейла Canvas)
float paddingX = (rect.rect.width / 2f) * editPanel.transform.lossyScale.x;
float paddingY = (rect.rect.height / 2f) * editPanel.transform.lossyScale.y;
// Запрещаем выходить за края
targetX = Mathf.Clamp(targetX, paddingX, Screen.width - paddingX);
targetY = Mathf.Clamp(targetY, paddingY, Screen.height - paddingY);
}
@ -228,7 +265,6 @@ public class FurnitureController : MonoBehaviour
_activeFurnitureScript.SetEditMode(true);
// Сбрасываем инструмент на Move по умолчанию и прячем кнопку Rotate90
_currentTool = EditTool.Move;
if (rotate90Button != null) rotate90Button.SetActive(false);
@ -240,34 +276,27 @@ public class FurnitureController : MonoBehaviour
}
}
// === НОВЫЙ МЕТОД: Поворот строго на 90 градусов ===
public void Rotate90Degrees()
{
if (_activeFurniture != null)
{
// Берем текущий угол
float currentY = _activeFurniture.transform.eulerAngles.y;
// Округляем до ближайшего числа, кратного 90 (чтобы сбросить кривой угол)
float snappedY = Mathf.Round(currentY / 90f) * 90f;
// Добавляем 90
_activeFurniture.transform.rotation = Quaternion.Euler(0, snappedY + 90f, 0);
}
}
// === ОБНОВЛЕННЫЕ МЕТОДЫ ВЫБОРА ===
public void SelectMoveTool()
{
_currentTool = EditTool.Move;
if (rotate90Button != null) rotate90Button.SetActive(false); // Прячем кнопку поворота
if (rotate90Button != null) rotate90Button.SetActive(false);
LockCamera(false);
}
public void SelectRotateTool()
{
_currentTool = EditTool.Rotate;
if (rotate90Button != null) rotate90Button.SetActive(true); // Показываем кнопку поворота
if (rotate90Button != null) rotate90Button.SetActive(true);
LockCamera(true);
}

View File

@ -24,44 +24,27 @@ public class RoomVisibilityController : MonoBehaviour
[Range(-0.5f, 0.5f)]
public float hideThreshold = 0.1f;
[Header("Настройки плавности (НОВОЕ)")]
public float fadeSpeed = 3f; // Скорость исчезновения (чем больше, тем быстрее)
private Camera _mainCamera;
private Dictionary<GameObject, bool> _wallHiddenStates = new Dictionary<GameObject, bool>();
// Новые словари для контроля плавного исчезновения
private Dictionary<GameObject, float> _targetAlphas = new Dictionary<GameObject, float>();
private Dictionary<GameObject, List<Material>> _objectMaterials = new Dictionary<GameObject, List<Material>>();
// Кэшируем Renderer'ы для оптимизации (чтобы не делать GetComponent каждый кадр)
private Dictionary<GameObject, Renderer[]> _objectRenderers = new Dictionary<GameObject, Renderer[]>();
void Start()
{
_mainCamera = Camera.main;
// При старте игры находим и запоминаем все материалы стен и столбиков
foreach (var wall in walls) { InitializeFadingData(wall); }
foreach (var pillar in pillars) { InitializeFadingData(pillar.pillarObject); }
// При старте игры находим и запоминаем все Renderer'ы
foreach (var wall in walls) { CacheRenderers(wall); }
foreach (var pillar in pillars) { CacheRenderers(pillar.pillarObject); }
}
// Метод для кэширования материалов (чтобы не искать их каждый кадр)
private void InitializeFadingData(GameObject obj)
private void CacheRenderers(GameObject obj)
{
if (obj == null || _objectMaterials.ContainsKey(obj)) return;
Renderer[] renderers = obj.GetComponentsInChildren<Renderer>();
List<Material> mats = new List<Material>();
foreach (Renderer r in renderers)
if (obj != null && !_objectRenderers.ContainsKey(obj))
{
// Обращение к .materials создает уникальную копию материала для объекта.
// Это нужно, чтобы стены исчезали по отдельности, а не все разом.
mats.AddRange(r.materials);
_objectRenderers[obj] = obj.GetComponentsInChildren<Renderer>();
}
_objectRenderers[obj] = renderers;
_objectMaterials[obj] = mats;
_targetAlphas[obj] = 1f; // 1f - это 100% непрозрачности (видимый)
}
void LateUpdate()
@ -82,8 +65,8 @@ public class RoomVisibilityController : MonoBehaviour
bool isHidden = Vector3.Dot(dirToCamera.normalized, dirToWall.normalized) > hideThreshold;
// Вместо мгновенного выключения, задаем ЦЕЛЕВУЮ прозрачность (0 - скрыть, 1 - показать)
_targetAlphas[wall] = isHidden ? 0f : 1f;
// Включаем или выключаем графику стены моментально
SetVisibility(wall, !isHidden);
_wallHiddenStates[wall] = isHidden;
Debug.DrawLine(roomCenter.position, targetPos, isHidden ? Color.red : Color.green);
@ -98,57 +81,24 @@ public class RoomVisibilityController : MonoBehaviour
bool isWall1Hidden = _wallHiddenStates.ContainsKey(pillar.connectedWall1) && _wallHiddenStates[pillar.connectedWall1];
bool isWall2Hidden = _wallHiddenStates.ContainsKey(pillar.connectedWall2) && _wallHiddenStates[pillar.connectedWall2];
// Прячем столбик только если ОБЕ подключенные стены спрятаны
bool shouldHidePillar = isWall1Hidden && isWall2Hidden;
// Задаем целевую прозрачность для столбика
_targetAlphas[pillar.pillarObject] = shouldHidePillar ? 0f : 1f;
SetVisibility(pillar.pillarObject, !shouldHidePillar);
}
}
// 3. Вызываем функцию плавного изменения прозрачности
UpdateFading();
}
// Метод, который плавно меняет Альфа-канал каждый кадр
private void UpdateFading()
// Метод для быстрого включения/выключения отрисовки объекта
private void SetVisibility(GameObject obj, bool isVisible)
{
foreach (var kvp in _objectMaterials)
{
GameObject obj = kvp.Key;
float targetAlpha = _targetAlphas[obj];
List<Material> mats = kvp.Value;
if (obj == null || !_objectRenderers.ContainsKey(obj)) return;
if (mats.Count == 0) continue;
// Берем текущую прозрачность из первого материала
float currentAlpha = mats[0].color.a;
// Если текущая прозрачность не равна целевой (надо менять)
if (!Mathf.Approximately(currentAlpha, targetAlpha))
{
// Плавно меняем значение от текущего к целевому
float newAlpha = Mathf.MoveTowards(currentAlpha, targetAlpha, fadeSpeed * Time.deltaTime);
// Применяем новую прозрачность ко всем материалам объекта
foreach (Material mat in mats)
{
Color c = mat.color;
c.a = newAlpha;
mat.color = c;
}
// ОПТИМИЗАЦИЯ:
// Включаем Renderer, если прозрачность больше 0.
// Выключаем Renderer полностью, только когда он на 100% прозрачен.
Renderer[] renderers = _objectRenderers[obj];
bool shouldRender = newAlpha > 0f;
foreach (Renderer r in renderers)
{
if (r.enabled != shouldRender)
if (r.enabled != isVisible)
{
r.enabled = shouldRender;
}
}
r.enabled = isVisible;
}
}
}

View File

@ -25,7 +25,7 @@ MonoBehaviour:
m_SupportsTerrainHoles: 1
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_MSAA: 4
m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
@ -43,18 +43,18 @@ MonoBehaviour:
m_ProbeVolumeSHBands: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 2048
m_MainLightShadowmapResolution: 4096
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 4
m_AdditionalLightShadowsSupported: 1
m_AdditionalLightsShadowmapResolution: 2048
m_AdditionalLightsShadowmapResolution: 4096
m_AdditionalLightsShadowResolutionTierLow: 256
m_AdditionalLightsShadowResolutionTierMedium: 512
m_AdditionalLightsShadowResolutionTierHigh: 1024
m_ReflectionProbeBlending: 1
m_ReflectionProbeBoxProjection: 1
m_ReflectionProbeAtlas: 1
m_ShadowDistance: 50
m_ShadowDistance: 40
m_ShadowCascadeCount: 4
m_Cascade2Split: 0.25
m_Cascade3Split: {x: 0.1, y: 0.3}
@ -77,7 +77,7 @@ MonoBehaviour:
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingMode: 1
m_ColorGradingLutSize: 32
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 0

View File

@ -6,7 +6,7 @@ QualitySettings:
serializedVersion: 5
m_CurrentQuality: 1
m_QualitySettings:
- serializedVersion: 4
- serializedVersion: 5
name: Mobile
pixelLightCount: 2
shadows: 2
@ -34,6 +34,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 1
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -47,8 +48,7 @@ QualitySettings:
asyncUploadBufferSize: 16
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 11400000, guid: 5e6cbd92db86f4b18aec3ed561671858,
type: 2}
customRenderPipeline: {fileID: 11400000, guid: 5e6cbd92db86f4b18aec3ed561671858, type: 2}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
@ -58,9 +58,8 @@ QualitySettings:
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms:
- Standalone
- serializedVersion: 4
excludedTargetPlatforms: []
- serializedVersion: 5
name: PC
pixelLightCount: 2
shadows: 2
@ -76,7 +75,7 @@ QualitySettings:
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 2
antiAliasing: 0
antiAliasing: 4
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 0
@ -88,6 +87,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 2
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -101,8 +101,7 @@ QualitySettings:
asyncUploadBufferSize: 16
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd,
type: 2}
customRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, type: 2}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
@ -113,7 +112,6 @@ QualitySettings:
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms:
- Android
- iPhone
m_TextureMipmapLimitGroupNames: []
m_PerPlatformDefaultQuality:
@ -122,6 +120,7 @@ QualitySettings:
GameCoreXboxOne: 1
Lumin: 0
Nintendo Switch: 1
Nintendo Switch 2: 1
PS4: 1
PS5: 1
Server: 0