Fix : 구슬요 미니 콘 스테이지 디테일 수정

This commit is contained in:
user 2026-03-19 22:15:45 +09:00
parent d6323fa9c7
commit 3f3741719c
6 changed files with 87 additions and 13 deletions

View File

@ -26,7 +26,6 @@ Material:
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _NORMALMAP
- _RECEIVE_NILOTOON_CHAR_SHADOW
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
@ -178,7 +177,7 @@ Material:
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveNiloToonCharShadow: 1
- _ReceiveNiloToonCharShadow: 0
- _ReceiveShadows: 1
- _ScreenSpaceOutlineIntensity: 1
- _ScreenSpaceOutlineWidth: 1

View File

@ -177,7 +177,7 @@ Material:
- _GlossyReflections: 0
- _Metallic: 0
- _NiloToonCharShadowStrength: 1
- _NoiseScale: 4
- _NoiseScale: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
@ -209,7 +209,7 @@ Material:
- _SplatSmoothnessMultiplierR: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Strength: 0.032
- _Strength: 0.03
- _Surface: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1

View File

@ -21,19 +21,16 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: calathea
m_Shader: {fileID: 4800000, guid: 50e19b7c9fbe3324e978246ad9789e96, type: 3}
m_Shader: {fileID: 4800000, guid: 50439395ad6c0394282a25cec0a9dc85, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DETAIL_SCALED
- _NORMALMAP
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
@ -139,6 +136,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@ -155,6 +156,7 @@ Material:
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaCutoff: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
@ -175,8 +177,10 @@ Material:
- _GlossyReflections: 0
- _Metallic: 0
- _NiloToonCharShadowStrength: 1
- _NoiseScale: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveNiloToonCharShadow: 0
- _ReceiveShadows: 1
@ -205,6 +209,7 @@ Material:
- _SplatSmoothnessMultiplierR: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Strength: 0.02
- _Surface: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1

View File

@ -230,12 +230,82 @@ namespace Streamingle.Background
}
}
/// <summary>timeOfDay를 직접 지정 (0~1)</summary>
public void SetTime(float t)
{
timeOfDay = Mathf.Clamp01(t);
Apply();
}
/// <summary>Stage 1 (timeOfDay = 0) 으로 즉시 이동</summary>
public void GoToStage1() => SetTime(0f);
/// <summary>Stage 2 (timeOfDay = 0.5) 으로 즉시 이동</summary>
public void GoToStage2() => SetTime(0.5f);
/// <summary>Stage 3 (timeOfDay = 1) 으로 즉시 이동</summary>
public void GoToStage3() => SetTime(1f);
/// <summary>지정한 Stage로 duration초 동안 부드럽게 블렌딩</summary>
public void BlendToStage(int stage, float duration)
{
float target = stage switch
{
1 => 0f,
2 => 0.5f,
3 => 1f,
_ => Mathf.Clamp01((stage - 1) * 0.5f),
};
BlendTo(target, duration);
}
/// <summary>Stage 1으로 duration초 동안 블렌딩</summary>
public void BlendToStage1(float duration) => BlendTo(0f, duration);
/// <summary>Stage 2로 duration초 동안 블렌딩</summary>
public void BlendToStage2(float duration) => BlendTo(0.5f, duration);
/// <summary>Stage 3으로 duration초 동안 블렌딩</summary>
public void BlendToStage3(float duration) => BlendTo(1f, duration);
/// <summary>임의 timeOfDay 값으로 duration초 동안 블렌딩</summary>
public void BlendTo(float targetTime, float duration)
{
if (_blendCoroutine != null) StopCoroutine(_blendCoroutine);
_blendCoroutine = StartCoroutine(BlendCoroutine(targetTime, duration));
}
/// <summary>현재 진행 중인 블렌딩 중단</summary>
public void StopBlend()
{
if (_blendCoroutine != null)
{
StopCoroutine(_blendCoroutine);
_blendCoroutine = null;
}
}
private Coroutine _blendCoroutine;
private System.Collections.IEnumerator BlendCoroutine(float target, float duration)
{
float start = timeOfDay;
float elapsed = 0f;
duration = Mathf.Max(0.001f, duration);
while (elapsed < duration)
{
elapsed += Time.deltaTime;
timeOfDay = Mathf.Lerp(start, target, elapsed / duration);
Apply();
yield return null;
}
timeOfDay = target;
Apply();
_blendCoroutine = null;
}
public Material GetActiveMaterial()
{
return _instanceMaterial != null ? _instanceMaterial : skyboxMaterial;