WL #980c 비수 수리검 스크린샷 느낌 — faceTilt 신설(카메라 정면에서 70° 눕힘 · 수리검마다 자기 자리 → 카메라 방향 기준 = 원근 보정) · 흰 날개 = 꼬리 재질 WL 사본 WL_ShurikenTrail_Bright(_AddIntensity −0.8 → 0.3 · 원본 무수정) · 연두 고리 (0.7,1,0.25,0.85) 1.9 배 · 크기 0.4 배 — 실측 면-카메라 각 69.9~70.0° · 나선 거리 0.77 → 3.97 m · 콘솔 오류 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
13d340257c
commit
fc6afb99a4
|
|
@ -0,0 +1,220 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-7023167649920730042
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 10
|
||||
--- !u!114 &-5708060556190444575
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 0
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: WL_ShurikenTrail_Bright
|
||||
m_Shader: {fileID: -6465566751694194690, guid: b85d6def27a1d1041b93e3045d7d6c0f,
|
||||
type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _DEPTHFADE
|
||||
- _SURFACE_TYPE_TRANSPARENT
|
||||
m_InvalidKeywords:
|
||||
- _EMISSION
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- DepthOnly
|
||||
- SHADOWCASTER
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseTexture:
|
||||
m_Texture: {fileID: 2800000, guid: aaa0d6e4cfc05804ab9f5a353a4fc1c6, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: aaa0d6e4cfc05804ab9f5a353a4fc1c6, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MaskTexture2:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RampTexture:
|
||||
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}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddIntensity: 0.3
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _BUILTIN_AlphaClip: 0
|
||||
- _BUILTIN_Blend: 0
|
||||
- _BUILTIN_CullMode: 0
|
||||
- _BUILTIN_DstBlend: 10
|
||||
- _BUILTIN_QueueControl: -1
|
||||
- _BUILTIN_QueueOffset: 0
|
||||
- _BUILTIN_SrcBlend: 1
|
||||
- _BUILTIN_Surface: 1
|
||||
- _BUILTIN_ZTest: 4
|
||||
- _BUILTIN_ZWrite: 0
|
||||
- _BUILTIN_ZWriteControl: 0
|
||||
- _Blend: 0
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _CameraFadingEnabled: 0
|
||||
- _CameraFarFadeDistance: 2
|
||||
- _CameraNearFadeDistance: 1
|
||||
- _CastShadows: 0
|
||||
- _ColorMode: 0
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DEPTHFADE: 1
|
||||
- _DepthFadeDistance: 100
|
||||
- _DepthFadeMax: 0.2
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DistortionBlend: 0.5
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0
|
||||
- _DstBlend: 10
|
||||
- _DstBlendAlpha: 10
|
||||
- _EDGEFADE: 0
|
||||
- _EdgeFadeMax: 0.6
|
||||
- _EdgeFadeMin: 1
|
||||
- _EmissionEnabled: 0
|
||||
- _FlipbookMode: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _LUT: 0
|
||||
- _LightingEnabled: 0
|
||||
- _MaskFeather: 0.2
|
||||
- _MaskFeather2: 0.2
|
||||
- _MaskIntensity: 0
|
||||
- _MaskIntensity2: 0
|
||||
- _MaskRepeat: 0
|
||||
- _MaskRepeat2: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 2
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _RemapDark: 0
|
||||
- _RemapWhite: 1
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SoftParticlesEnabled: 0
|
||||
- _SoftParticlesFarFadeDistance: 1
|
||||
- _SoftParticlesNearFadeDistance: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 1
|
||||
- _USEMASK: 0
|
||||
- _USEMASK2: 0
|
||||
- _UVSec: 0
|
||||
- _WARP: 0
|
||||
- _WarpIntensity: 0
|
||||
- _WarpScale: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZTest: 4
|
||||
- _ZWrite: 0
|
||||
- _ZWriteControl: 0
|
||||
m_Colors:
|
||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 0.7607843}
|
||||
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _InitOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _MaskOffset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _MaskOffset2: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _MaskScroll: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _MaskScroll2: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _MaskTiling: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _MaskTiling2: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _Offset: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _ScrollSpeed: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _Tiling: {r: 1, g: 1, b: 0, a: 0}
|
||||
- _WarpScroll: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fadc8054b098b40409b1464d41a3ac90
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,5 +1,37 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &59132457903157103
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 680733866467285179}
|
||||
m_Layer: 0
|
||||
m_Name: GreenSwirl
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &680733866467285179
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 59132457903157103}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1.9, y: 1.9, z: 1.9}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7210903556170203949}
|
||||
m_Father: {fileID: 3164786921903872425}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1145359976747068581
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -33,9 +65,9 @@ Transform:
|
|||
m_Children:
|
||||
- {fileID: 5673069742829479196}
|
||||
- {fileID: 7814736288666797739}
|
||||
- {fileID: 6404227499573586804}
|
||||
- {fileID: 3061664574960189424}
|
||||
- {fileID: 7888187617241362191}
|
||||
- {fileID: 680733866467285179}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!198 &3113299348077050052
|
||||
|
|
@ -9765,7 +9797,7 @@ ParticleSystemRenderer:
|
|||
m_MeshWeighting1: 1
|
||||
m_MeshWeighting2: 1
|
||||
m_MeshWeighting3: 1
|
||||
--- !u!1 &1694859895540210189
|
||||
--- !u!1 &5909738697710814137
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
|
@ -9773,9 +9805,56 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4221723821079497695}
|
||||
- component: {fileID: 3087031429084384095}
|
||||
- component: {fileID: 1371793106596501058}
|
||||
- component: {fileID: 7814736288666797739}
|
||||
- component: {fileID: 6736253737350633480}
|
||||
m_Layer: 0
|
||||
m_Name: Shuriken
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7814736288666797739
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5909738697710814137}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -1, y: 0, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.6, y: 0.02, z: 0.6}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6804394497677922654}
|
||||
- {fileID: 3972815263606037215}
|
||||
m_Father: {fileID: 3164786921903872425}
|
||||
m_LocalEulerAnglesHint: {x: -180, y: 0, z: 0}
|
||||
--- !u!114 &6736253737350633480
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5909738697710814137}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7fefc0e474fe2a1438717d0d8a932858, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
RotateAngle: {x: 0, y: -720, z: 0}
|
||||
--- !u!1 &6429858703304037939
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7210903556170203949}
|
||||
- component: {fileID: 5551514161931989675}
|
||||
- component: {fileID: 7336751549758402069}
|
||||
m_Layer: 0
|
||||
m_Name: 'Ring '
|
||||
m_TagString: Untagged
|
||||
|
|
@ -9783,28 +9862,28 @@ GameObject:
|
|||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4221723821079497695
|
||||
--- !u!4 &7210903556170203949
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1694859895540210189}
|
||||
m_GameObject: {fileID: 6429858703304037939}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.078}
|
||||
m_LocalScale: {x: 1.4, y: 1.4, z: 1.4}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6404227499573586804}
|
||||
m_Father: {fileID: 680733866467285179}
|
||||
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
|
||||
--- !u!198 &3087031429084384095
|
||||
--- !u!198 &5551514161931989675
|
||||
ParticleSystem:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1694859895540210189}
|
||||
m_GameObject: {fileID: 6429858703304037939}
|
||||
serializedVersion: 8
|
||||
lengthInSec: 0.4
|
||||
simulationSpeed: 1
|
||||
|
|
@ -9988,7 +10067,7 @@ ParticleSystem:
|
|||
serializedVersion: 2
|
||||
minMaxState: 0
|
||||
minColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
maxColor: {r: 0.55, g: 1, b: 0.15, a: 0.6}
|
||||
maxColor: {r: 0.7, g: 1, b: 0.25, a: 0.85}
|
||||
maxGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
|
|
@ -14588,14 +14667,14 @@ ParticleSystem:
|
|||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
vectorLabel1_3: W
|
||||
--- !u!199 &1371793106596501058
|
||||
--- !u!199 &7336751549758402069
|
||||
ParticleSystemRenderer:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1694859895540210189}
|
||||
m_GameObject: {fileID: 6429858703304037939}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
|
|
@ -14668,85 +14747,6 @@ ParticleSystemRenderer:
|
|||
m_MeshWeighting1: 1
|
||||
m_MeshWeighting2: 1
|
||||
m_MeshWeighting3: 1
|
||||
--- !u!1 &3012163254460132286
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6404227499573586804}
|
||||
m_Layer: 0
|
||||
m_Name: GreenSwirl
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6404227499573586804
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3012163254460132286}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1.6, y: 1.6, z: 1.6}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 4221723821079497695}
|
||||
m_Father: {fileID: 3164786921903872425}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &5909738697710814137
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7814736288666797739}
|
||||
- component: {fileID: 6736253737350633480}
|
||||
m_Layer: 0
|
||||
m_Name: Shuriken
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7814736288666797739
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5909738697710814137}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -1, y: 0, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.6, y: 0.02, z: 0.6}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6804394497677922654}
|
||||
- {fileID: 3972815263606037215}
|
||||
m_Father: {fileID: 3164786921903872425}
|
||||
m_LocalEulerAnglesHint: {x: -180, y: 0, z: 0}
|
||||
--- !u!114 &6736253737350633480
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5909738697710814137}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7fefc0e474fe2a1438717d0d8a932858, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
RotateAngle: {x: 0, y: -720, z: 0}
|
||||
--- !u!1 &7201908629682279775
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -24663,7 +24663,7 @@ MeshRenderer:
|
|||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: fa761847d4e6f2942a331fe2da073629, type: 2}
|
||||
- {fileID: 2100000, guid: fadc8054b098b40409b1464d41a3ac90, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"prefab": "WL/Fx/WL_Fx_DaggerShurikenMSP",
|
||||
"every": 8,
|
||||
"maxRiders": 12,
|
||||
"riderScale": 0.3,
|
||||
"riderScale": 0.4,
|
||||
"rimFraction": 1.0,
|
||||
"maxSeconds": 2.5,
|
||||
"hidePath": 1,
|
||||
|
|
@ -30,10 +30,12 @@
|
|||
"spiralFadeIn": 0.08,
|
||||
"spiralFadeOut": 0.2,
|
||||
"faceCamera": 1,
|
||||
"faceTilt": 70.0,
|
||||
"note_980": "#980 PD 「지금 수리검은 어색하게 움직이다가 사라지는데 회전하는 수리검이 플레이어 주위를 나선형으로 휘몰아치며 퍼져나는 연출로 구성되길 바래」 + 「수리검의 이펙트 방향은 카메라 시점을 기준으로 가장 자연스럽게 보이도록 구성해줘」 — mode spiral(경로 입자 무관 · 시전자 둘레 10개 = 반대편 팔 2개 × 5 · 팔마다 0.07 s 차례(1팔 8개는 한쪽에 줄줄이 몰려 뱀처럼 보여 = Play 캡처) · 1.0 s 동안 540°/s 공전 · 반지름 0.6 → 4.0 m ease-out · 높이 0.8 → 1.0 m · 처음 0.08 s · 끝 0.2 s 크기 페이드) · faceCamera 1(수리검 면이 카메라를 봄 · 제 축 회전) · 크기 0.3 배 · 녹색 고리 수명 색 = 흰 → 연두 → 녹색(분홍 단계 없음 · 스크린샷 녹색 · 연두)(PM 값)",
|
||||
"note_979": "#979 PD 「비수 이펙트는 내가 요청한 이펙트가 아닌 것으로 확인되었어. \"Master Stylized Projectile\" 에셋의 수리검 형태의 이펙트를 요청했는데 엉뚱한 이펙트로 보여. 다시 수정하고, 지면에 남는 검은색 흔적은 보이지 않게 해줘 (공중을 부양하는 수리검 컨셉이야)」 + 「Master Stylized Projectile 에셋 방금 받아서 임포트 해두었어. 내가 지시한 수리검을 다시 체크해봐」 — 수리검 = Assets/MasterStylizedProjectiles/Projectiles/Shurikens/Prefabs/ShurikenBullet 사본 WL_Fx_DaggerShurikenMSP(검은 풍차형 수리검 · 흰 테두리 · 꼬리 메시 · 흰 반짝임 · AutoRotate 회전 · 979_fx.cs Copy2 · 팩이 재생하는 층 전부 재생 — PD 「해당 수리검의 이펙트는 끄지 말고 재생시켜 (내가 끄라고 한것은 궤적 이펙트를 말한거야.)」 · 루트 입자 층은 팩 원본에서 방출이 꺼진 템플릿 층(재질이 팩에 없음 · 켜면 흰 사각형)이라 원본대로 둠 · 빠진 재질 자리만 TemplateBulletHead) · 크기 0.25 배(PM 값) · 공중 부양 = 시전자 발 위 최소 0.6 m(minHeight · PM 값) · 지면 흔적 = Skill_BrutalSlash 의 Crater · Slash Cracks · Flying 렌더러 끔(프리팹 덮어쓰기)",
|
||||
"note_978": "#978 PD 「비수 기본 스킬에 요청한 이펙트가 전혀 보이지 않아. (내가 요청한 이펙트를 확인할 수 있도록 궤적 처럼 보이는 이펙트를 잠시 숨겨줘)」 — 경로 호(Multiple Slashes) 그리기만 끔(hidePath 1 · 입자는 돌아 수리검이 따라감 · 되살리기 = 0) · 수리검 0.3 → 0.6 배(PM 값)",
|
||||
"note": "#977 PD 「비수의 기본 스킬 시전 시 Master Stylized Projectile 에셋의 첨부 된 스크린샷과 같은 수리검을 경로 이펙트에 다수 보이게 연출해줘. (이때 이펙트 궤적의 색상을 기본 공격처럼 녹색 계열로 바꾸고, 투명도를 조금 부여해서 자연스럽게 구성해줘)」 — 수리검 = MasterStylizedFX Projectiles/GreenProjectile 사본(녹색 초승달 소용돌이 + 흰 별 = 스크린샷 · 진행 방향으로 돌림 · 처음 만든 ShurikensHit 층 사본은 녹색 베기 띠가 사각으로 보여 바꿈) · 경로 = 무자비한 일격 Multiple Slashes 호(시작색 (0.17,1.00,0.23) 투명도 0.75 · 기본 공격 녹색) · 호 입자 8개 중 1개에 수리검(최대 12) · 호 가장자리에 붙어 호와 함께 돈다 · 크기 0.3(PM 값)",
|
||||
"note_979b": "#979 PD 「그럼 왜 수리검이 회전할 때 보이는 녹색 이펙트가 보이지 않는거지?」(데모 스크린샷) — 녹색 = 팩 데모 묶음(BulletDatas Shuriken)의 발사 이펙트 ShurikensMuzzle 의 Ring 층(녹색 → 노랑 → 분홍 고리 · 데모에선 발사 순간 0.4 s) · 비행 이펙트(ShurikenBullet)엔 녹색 없음(꼬리 메시 = 흰 텍스처 × 어둡게) → WL 사본 자식 GreenSwirl 로 Ring 만 붙여 수리검 면과 같은 수평(−90°) · 1.6 배 · 0.4 s 반복(979_fx.cs AddLayers · MuzzleEdge 는 눕히면 아래 녹색 가시라 제외)",
|
||||
"note_980b": "#980 PD 「수리검에만 가짜 빛 번짐을 더해줘」 — 데모 씬 Bloom 대신 수리검 사본에 가산 후광 2장(FakeGlow 크기 4.2 · (1,1,0.9,1) / FakeGlowOuter 6.5 · (0.5,1,0.25,1) · 카메라 기준 수리검 뒤 −0.15 · −0.2 · 입자 1개 계속 · 재질 = 원본 블랙홀 glow 층(Eric glow_19) 렌더러째 복사 = 979_fx.cs AddGlowFrom — 팩 UberParticles · Eric 셰이더는 사용자 정점 스트림이 있어야 보여 새 입자에 재질만 꽂으면 안 보임)(PM 값)"
|
||||
"note_980b": "#980 PD 「수리검에만 가짜 빛 번짐을 더해줘」 — 데모 씬 Bloom 대신 수리검 사본에 가산 후광 2장(FakeGlow 크기 4.2 · (1,1,0.9,1) / FakeGlowOuter 6.5 · (0.5,1,0.25,1) · 카메라 기준 수리검 뒤 −0.15 · −0.2 · 입자 1개 계속 · 재질 = 원본 블랙홀 glow 층(Eric glow_19) 렌더러째 복사 = 979_fx.cs AddGlowFrom — 팩 UberParticles · Eric 셰이더는 사용자 정점 스트림이 있어야 보여 새 입자에 재질만 꽂으면 안 보임)(PM 값)",
|
||||
"note_980c": "#980 PD 「수리검 이펙트가 스크린샷과 같은 느낌이 나도록 하려면 어떻게 해야하지?」 — 스크린샷 = 같은 수리검 + 발사 고리를 눈높이 옆(데모 카메라 0°)에서 Bloom 3 으로 본 장면 → 게임 카메라에서 같은 모양: faceTilt 70°(정면에서 눕혀 납작한 원판 + 초승달) · 흰 날개 = 꼬리 재질 WL 사본 WL_ShurikenTrail_Bright(_AddIntensity −0.8 → 0.3 · 원본 무수정) · 연두 고리 시작색 (0.7,1,0.25,0.85) · 1.9 배 · 크기 0.4 배 · 빛 번짐 = 가산 후광 2장(PM 값 · 정면으로 되돌리기 = faceTilt 0)"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ namespace WL.Combat.Weapon
|
|||
public float spiralStagger = 0.05f, spiralEase = 2f; // 다음 수리검까지(s) · 반지름 ease-out 지수
|
||||
public float spiralFadeIn = 0.08f, spiralFadeOut = 0.2f; // 처음 · 끝에 크기 0 ↔ 1(s)
|
||||
public int faceCamera = 0; // #980 PD 「수리검 이펙트 방향은 카메라 시점 기준 가장 자연스럽게」 — 1 = 수리검 면이 카메라를 봄(제 축으로 회전)
|
||||
public float faceTilt = 0f; // #980 PD 「스크린샷과 같은 느낌」 — 카메라 정면에서 카메라 오른쪽 축으로 눕히는 각(°) · 70 ≈ 데모처럼 옆에서 본 납작한 원판 + 초승달
|
||||
public string note = "";
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +122,7 @@ namespace WL.Combat.Weapon
|
|||
if (_c.minHeight > 0f) pos.y = Mathf.Max(pos.y, _ground + _c.minHeight); // 공중 부양
|
||||
WLShurikenRider.MinY = Mathf.Min(WLShurikenRider.MinY, pos.y - _ground); WLShurikenRider.MaxY = Mathf.Max(WLShurikenRider.MaxY, pos.y - _ground);
|
||||
var mv = pos - g.transform.position; // 투사체 이펙트라 진행 방향(앞 = +Z)으로 돌린다 — 꼬리가 지나온 쪽
|
||||
if (_c.faceCamera != 0) g.transform.rotation = Face(); else if (!fresh && mv.sqrMagnitude > 1e-6f) g.transform.rotation = Quaternion.LookRotation(mv);
|
||||
if (_c.faceCamera != 0) g.transform.rotation = Face(_c.faceTilt, pos); else if (!fresh && mv.sqrMagnitude > 1e-6f) g.transform.rotation = Quaternion.LookRotation(mv);
|
||||
g.transform.position = pos;
|
||||
shown++;
|
||||
}
|
||||
|
|
@ -136,7 +137,7 @@ namespace WL.Combat.Weapon
|
|||
void Spiral()
|
||||
{
|
||||
float t = Time.time - _t0; int n = Mathf.Min(_c.spiralCount, _riders.Count); bool pending = false; int shown = 0;
|
||||
var c0 = _center != null ? _center.position : transform.position; c0.y = _ground; var rot = _c.faceCamera != 0 ? Face() : Quaternion.identity;
|
||||
var c0 = _center != null ? _center.position : transform.position; c0.y = _ground; var useFace = _c.faceCamera != 0;
|
||||
for (int i = 0; i < n; i++)
|
||||
{
|
||||
int arms = Mathf.Max(1, _c.spiralArms), arm = i % arms, idx = i / arms;
|
||||
|
|
@ -150,7 +151,7 @@ namespace WL.Combat.Weapon
|
|||
var pos = c0 + dir * r + Vector3.up * (_c.spiralHeight + _c.spiralRise * e);
|
||||
float k = Mathf.Min(1f, ti / Mathf.Max(0.01f, _c.spiralFadeIn)) * Mathf.Clamp01((_c.spiralSeconds - ti) / Mathf.Max(0.01f, _c.spiralFadeOut));
|
||||
g.transform.position = pos; g.transform.localScale = Vector3.one * (_c.riderScale * k);
|
||||
g.transform.rotation = _c.faceCamera != 0 ? rot : Quaternion.LookRotation(Vector3.Cross(Vector3.up, dir) * _c.spiralDir); // 카메라를 보거나 · 공전 진행 방향
|
||||
g.transform.rotation = useFace ? Face(_c.faceTilt, pos) : Quaternion.LookRotation(Vector3.Cross(Vector3.up, dir) * _c.spiralDir); // 카메라를 보거나 · 공전 진행 방향
|
||||
WLShurikenRider.MinY = Mathf.Min(WLShurikenRider.MinY, pos.y - _ground); WLShurikenRider.MaxY = Mathf.Max(WLShurikenRider.MaxY, pos.y - _ground);
|
||||
shown++;
|
||||
}
|
||||
|
|
@ -158,11 +159,14 @@ namespace WL.Combat.Weapon
|
|||
if (!pending) Stop();
|
||||
}
|
||||
|
||||
// 수리검 면(사본 루트 +Y)을 카메라 쪽으로 · 앞(+Z) = 카메라 위쪽 — 위에서 내려다보는 카메라에서 납작한 원판이 정면으로 보이고 제 축(AutoRotate)으로 돈다
|
||||
static Quaternion Face()
|
||||
// 수리검 면(사본 루트 +Y)을 카메라 쪽으로 · 앞(+Z) = 카메라 위쪽 — 위에서 내려다보는 카메라에서 납작한 원판이 정면으로 보이고 제 축(AutoRotate)으로 돈다 · tilt° 만큼 카메라 오른쪽 축으로 눕힘
|
||||
static Quaternion Face(float tilt, Vector3 pos)
|
||||
{
|
||||
var cam = Camera.main; if (cam == null) return Quaternion.identity;
|
||||
return Quaternion.LookRotation(cam.transform.up, -cam.transform.forward);
|
||||
var to = cam.transform.position - pos; if (to.sqrMagnitude < 1e-6f) to = -cam.transform.forward; to.Normalize(); // 원근 — 자기 자리에서 카메라 쪽(화면 가장자리 수리검도 같은 각도로 보이게)
|
||||
var fwd = Vector3.ProjectOnPlane(cam.transform.up, to); if (fwd.sqrMagnitude < 1e-6f) fwd = Vector3.ProjectOnPlane(Vector3.forward, to);
|
||||
var face = Quaternion.LookRotation(fwd.normalized, to);
|
||||
return Quaternion.AngleAxis(tilt, face * Vector3.right) * face;
|
||||
}
|
||||
|
||||
int FreeSlot() { for (int i = 0; i < _riders.Count; i++) if (!_bySeed.ContainsValue(i)) return i; return -1; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue