This commit is contained in:
CortexCore 2023-11-02 20:58:55 +08:00
parent f0f348c246
commit ee3ecec6cb
168 changed files with 58830 additions and 379 deletions

View File

@ -153,6 +153,16 @@ MonoBehaviour:
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: de7344e90b711ec45a4764294a1f6c80
m_Address: Cosmetics/Steve
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 43354319a89aa5e42afc30b631405f76
m_Address: Cosmetics/6C
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: 819d03717e2ae4f4a8216ff1ba94ff77, type: 2}
m_SchemaSet:

View File

@ -21,6 +21,9 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: -4043171781414743301}
m_Position: {x: 305, y: 195, z: 0}
- serializedVersion: 1
m_State: {fileID: 1253309677106572187}
m_Position: {x: 340, y: 260, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@ -131,6 +134,32 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &1253309677106572187
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Property_Ready_Sniper_Aim
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 1a0f3d896849fce47ac5475fefcf450a, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4156959152054088877
AnimatorState:
serializedVersion: 6

View File

@ -0,0 +1,278 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Property_Ready_Sniper_Aim
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0.45781696
outSlope: 0.45781696
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.9992571
- serializedVersion: 3
time: 0.26666668
value: 0
inSlope: 0.39506844
outSlope: 0.39506844
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.66539836
- serializedVersion: 3
time: 0.5
value: 1
inSlope: 14.488998
outSlope: 14.488998
tangentMode: 0
weightedMode: 0
inWeight: 0.24313346
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: value
path: Properties/Aim
classID: 114
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: value
path: Properties/AllowFire
classID: 114
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 1
inSlope: 1.9397798
outSlope: 1.9397798
tangentMode: 0
weightedMode: 0
inWeight: 1
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: value
path: Properties/Stable
classID: 114
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
flags: 0
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 3207461190
attribute: 494360628
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
typeID: 114
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 680316791
attribute: 494360628
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
typeID: 114
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 886196573
attribute: 494360628
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
typeID: 114
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.5
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0.45781696
outSlope: 0.45781696
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.9992571
- serializedVersion: 3
time: 0.26666668
value: 0
inSlope: 0.39506844
outSlope: 0.39506844
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.66539836
- serializedVersion: 3
time: 0.5
value: 1
inSlope: 14.488998
outSlope: 14.488998
tangentMode: 0
weightedMode: 0
inWeight: 0.24313346
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: value
path: Properties/Aim
classID: 114
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: value
path: Properties/AllowFire
classID: 114
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.5
value: 1
inSlope: 1.9397798
outSlope: 1.9397798
tangentMode: 0
weightedMode: 0
inWeight: 1
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: value
path: Properties/Stable
classID: 114
script: {fileID: 11500000, guid: a970eb848545573428bd7acd46bdac3d, type: 3}
flags: 0
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@ -764,7 +764,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ReloadBolt
m_Name: BoltAction
m_Speed: 1
m_CycleOffset: 0
m_Transitions:

View File

@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: b27203fb1caca0642be9f904f1163533, type: 3}
m_Name: Cosmetic_6C
m_EditorClassIdentifier:
id: 3071
addressablePath: Cosmetics/6C
icon: {fileID: 0}
type:
rid: -2
contents:
- rid: 1055089212959490104
references:
version: 2
RefIds:
- rid: -2
type: {class: , ns: , asm: }
- rid: 1055089212959490104
type: {class: CosmeticTextureContent, ns: BITFALL.Cosmetic, asm: BITFALL.Cosmetic.Runtime}
data:
texture: {fileID: 2800000, guid: 3f2001a044b4d1146b7c246c8c8d480c, type: 3}

View File

@ -0,0 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: b27203fb1caca0642be9f904f1163533, type: 3}
m_Name: Cosmetic_Steve
m_EditorClassIdentifier:
id: 3070
addressablePath: Cosmetics/Steve
icon: {fileID: 0}
type:
rid: -2
contents:
- rid: 1055089212959490104
references:
version: 2
RefIds:
- rid: -2
type: {class: , ns: , asm: }
- rid: 1055089212959490104
type: {class: CosmeticTextureContent, ns: BITFALL.Cosmetic, asm: BITFALL.Cosmetic.Runtime}
data:
texture: {fileID: 2800000, guid: fececaf19d25e1f409adb32147d3087a, type: 3}

View File

@ -31,9 +31,9 @@ MonoBehaviour:
heavyMeleeForce: 64
fireMode:
rid: 806583747386015749
initialDamage: 100
initialBulletForce: 512
initialBulletSpeed: 256
initialDamage: 101
initialBulletForce: 2048
initialBulletSpeed: 128
initialAimZoom: 8
isScopeAim: 1
references:
@ -43,10 +43,11 @@ MonoBehaviour:
type: {class: SemiFireMode, ns: BITFALL.Guns, asm: BITFALL.Item}
data:
fireRate: 1
requireBoltAction: 1
- rid: 806583747386015752
type: {class: EquipmentAsWeapon, ns: BITFALL, asm: BITFALL.Entities.Equipment}
data:
- rid: 806583747386015753
type: {class: VectorRecoil, ns: BITFALL.Guns, asm: BITFALL.Item}
data:
recoil: {x: -8, y: 8, z: 8}
recoil: {x: -2, y: 2, z: 8}

View File

@ -19,6 +19,7 @@ MonoBehaviour:
squareIcon: {fileID: 2800000, guid: ae3a3be8020e4e8448944df901ed45b3, type: 3}
rectangleIcon: {fileID: 2800000, guid: 7910edbea6bc88e49ac8a733f8f40238, type: 3}
quality: 0
isImprovised: 0
factoryProperties:
- rid: 749940167810482195
- rid: 749940167810482196
@ -33,6 +34,9 @@ MonoBehaviour:
rid: 806583484692037646
initialDamage: 12
initialBulletForce: 256
initialBulletSpeed: 32
initialAimZoom: 1
isScopeAim: 0
references:
version: 2
RefIds:
@ -50,6 +54,7 @@ MonoBehaviour:
type: {class: SemiFireMode, ns: BITFALL.Guns, asm: BITFALL.Item}
data:
fireRate: 8
requireBoltAction: 0
- rid: 6077775441645010964
type: {class: EquipmentAsWeapon, ns: BITFALL, asm: BITFALL.Entities.Equipment}
data:

View File

@ -35,8 +35,9 @@ MonoBehaviour:
rid: 806583484692037645
initialDamage: 32
initialBulletForce: 512
initialBulletSpeed: 128
initialBulletSpeed: 64
initialAimZoom: 1
isScopeAim: 0
references:
version: 2
RefIds:

View File

@ -0,0 +1,160 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: 98a0befda4b1f449b9721f7f70b9dcf0, type: 3}
m_Name: Trails FX Profile
m_EditorClassIdentifier:
profile: {fileID: 0}
active: 1
ignoreVisibility: 0
ignoreFrames: 0
duration: 0.5
continuous: 0
smooth: 0
checkWorldPosition: 0
minDistance: 0.1
worldPositionRelativeOption: 0
worldPositionRelativeTransform: {fileID: 0}
checkScreenPosition: 1
minPixelDistance: 10
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 0
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
mask: {fileID: 0}
subMeshMask: -1
cullMode: 2
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorRamp: 0
colorRampTexture: {fileID: 0}
fadeOut: 1
colorSequence: 0
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 3
colorCycleLoop: 1
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 0
customMaterial: {fileID: 0}
texture: {fileID: 0}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 1, y: 1, z: 1}
scaleStartRandomMax: {x: 1, y: 1, z: 1}
ignoreTransformScale: 0
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 0
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
trailTint: {r: 0, g: 0, b: 0.1, a: 1}
cameraDistanceFade: 0
cameraDistanceFadeNear: 0
cameraDistanceFadeFar: 1000
lookTarget: {fileID: 0}
lookToCamera: 1
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
meshPoolSize: 256
animationStates:
interpolate: 0

View File

@ -117,7 +117,7 @@ Material:
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1.1132076, g: 0.50165886, b: 0, a: 1}
- _EmissionColor: {r: 1.4980392, g: 0.6750804, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
--- !u!114 &7552805881969327504

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,135 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7722037527298034331
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Overlay_Scope_BaseColor
m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
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: 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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 0
- _SampleGI: 0
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.028301895, g: 0.028301895, b: 0.028301895, a: 1}
- _Color: {r: 0.028301895, g: 0.028301895, b: 0.028301895, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

View File

@ -67,7 +67,7 @@ AnimatorOverrideController:
- m_OriginalClip: {fileID: 7400000, guid: 8d9f33d150164f341a38ee4645421a42, type: 2}
m_OverrideClip: {fileID: 7400000, guid: f8007ba940ee84340a80e0c3216d3bb4, type: 2}
- m_OriginalClip: {fileID: 7400000, guid: ed88f135a8a788346a203496110202b7, type: 2}
m_OverrideClip: {fileID: 7400000, guid: 980b8fac79e56fa4ca893a489cd58f1c, type: 2}
m_OverrideClip: {fileID: 7400000, guid: 1a0f3d896849fce47ac5475fefcf450a, type: 2}
- m_OriginalClip: {fileID: 7400000, guid: 4f865b7f02e5f224b8533fdd1498a38e, type: 2}
m_OverrideClip: {fileID: 8610628468645657905, guid: 3a5fae624dead2f4f817de0db6c38aa5,
type: 3}

View File

@ -16,7 +16,7 @@ Material:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
@ -99,7 +99,7 @@ Material:
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _Metallic: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
@ -113,8 +113,8 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor: {r: 1, g: 1, b: 1, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

View File

@ -1,5 +1,88 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1297237592376118043
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 85704831835494353}
- component: {fileID: 4518352093786847700}
- component: {fileID: 4799892786137225939}
m_Layer: 1
m_Name: Cylinder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &85704831835494353
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1297237592376118043}
serializedVersion: 2
m_LocalRotation: {x: -0.70710677, y: -0, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: -0.1088}
m_LocalScale: {x: 0.05, y: 0.05, z: 0.05}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 2956281190107464546}
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
--- !u!33 &4518352093786847700
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1297237592376118043}
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &4799892786137225939
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1297237592376118043}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: c4a3b3cdb61437f49a87d07e3cfbb530, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &2956281190107464557
GameObject:
m_ObjectHideFlags: 0
@ -25,14 +108,15 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2956281190107464557}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.94, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8874121523024828726}
- {fileID: 85704831835494353}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2956281190107464547
MonoBehaviour:
@ -49,13 +133,13 @@ MonoBehaviour:
trailRenderer: {fileID: 8716880379926958720}
--- !u!96 &8716880379926958720
TrailRenderer:
serializedVersion: 2
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2956281190107464557}
m_Enabled: 0
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 1
m_DynamicOccludee: 1
@ -90,9 +174,10 @@ TrailRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_Time: 0.08
m_PreviewTimeScale: 1
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthMultiplier: 0
widthCurve:
serializedVersion: 2
m_Curve:
@ -153,24 +238,34 @@ TrailRenderer:
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 0
numCapVertices: 0
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MinVertexDistance: 0.1
m_MaskInteraction: 0
m_Autodestruct: 0
m_Emitting: 1
m_ApplyActiveColorSpace: 0
--- !u!1001 &801374439789391961
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 2956281190107464546}
m_Modifications:
- target: {fileID: 3591767580669312998, guid: fe2fc116936b3a34481528b002824f25,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8086278330932947311, guid: fe2fc116936b3a34481528b002824f25,
type: 3}
propertyPath: m_RootOrder
@ -233,6 +328,9 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: -2751375205870227775, guid: fe2fc116936b3a34481528b002824f25, type: 3}
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: fe2fc116936b3a34481528b002824f25, type: 3}
--- !u!4 &8874121523024828726 stripped
Transform:

View File

@ -109,7 +109,7 @@ MonoBehaviour:
firePoint: {fileID: 2322454793245516490}
bulletService:
rid: 806583666069995709
forceFire: 1
forceFire: 0
customFireRate:
allow: 0
value: 0
@ -203,7 +203,7 @@ MonoBehaviour:
assetableItem: {fileID: 11400000, guid: 9bba7152a5d65c049b17a8461ad4e844, type: 2}
meleeService:
rid: 806583703969988608
forceAttack: 1
forceAttack: 0
references:
version: 2
RefIds:
@ -467,11 +467,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d61f8d5d7b83b1941831e20da974aa54, type: 3}
m_Name:
m_EditorClassIdentifier:
InitialFov: 0
virtualCamera: {fileID: 0}
overrideIndex:
allow: 0
value: 0
optionalScope:
allow: 0
value: {fileID: 0}
--- !u!114 &4900988971439423463
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -75,7 +75,7 @@ Camera:
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Bits: 98295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
@ -185,13 +185,4 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 903f3eba17c4fcf41990c0bf8a0f3fcd, type: 3}
m_Name:
m_EditorClassIdentifier:
ads:
rid: 5474080413458366464
brain: {fileID: 4248894547058506011}
references:
version: 2
RefIds:
- rid: 5474080413458366464
type: {class: ReferenceScriptableObject, ns: BITKit, asm: BITKit}
data:
so: {fileID: 11400000, guid: c361f1704f508b142ab5d7313ea8354c, type: 2}

View File

@ -1100,6 +1100,7 @@ GameObject:
- component: {fileID: 7303924725377500738}
- component: {fileID: 532745093476038155}
- component: {fileID: 1894260874635406670}
- component: {fileID: 6479486122723758942}
m_Layer: 6
m_Name: Player
m_TagString: Untagged
@ -1471,57 +1472,9 @@ MonoBehaviour:
overrideIndex:
allow: 0
value: 0
zoomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 75
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 60
inSlope: -12.5
outSlope: -12.5
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 2
value: 50
inSlope: -7.5
outSlope: -7.5
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 3
value: 45
inSlope: -3.3333333
outSlope: -3.3333333
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 8
value: 25
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
optionalScope:
allow: 1
value: {fileID: 8058098936547477565}
--- !u!114 &7063041954768829124
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2381,7 +2334,9 @@ MonoBehaviour:
dampValue: {x: 1, y: 1, z: 1}
damp: 16
frequence: 32
locationAdditive: {fileID: 4486952052422082421}
locationAdditives:
- {fileID: 4486952052422082421}
- {fileID: 4630340609974338260}
damageBasedMotion:
serializedVersion: 2
m_Curve:
@ -2430,6 +2385,26 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c4e62fe503fa9eb45aba921100310343, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &6479486122723758942
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4826102346843731729}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a830f58f533f474e8b7683cff1134b9, type: 3}
m_Name:
m_EditorClassIdentifier:
steamService:
rid: 1055089212959490105
references:
version: 2
RefIds:
- rid: 1055089212959490105
type: {class: SteamServiceSingleton, ns: BITKit.Steamwork, asm: BITKit.Extension.Steamwork}
data:
--- !u!1 &4826102347057741775
GameObject:
m_ObjectHideFlags: 0
@ -2562,6 +2537,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7250741415002362503}
- {fileID: 9103858848549245432}
- {fileID: 7999429370730056110}
- {fileID: 3277717096784339497}
@ -3248,6 +3224,37 @@ Transform:
m_Children: []
m_Father: {fileID: 2019605867538852436}
m_LocalEulerAnglesHint: {x: -10, y: 0, z: 0}
--- !u!1 &8044417550327552958
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 124510608249809550}
m_Layer: 7
m_Name: Sight
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &124510608249809550
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8044417550327552958}
serializedVersion: 2
m_LocalRotation: {x: -0.000000023542961, y: -0.7071068, z: -0.7071068, w: -0.000000018109972}
m_LocalPosition: {x: -0.0001, y: -0.0202, z: 0.01}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2268749414226167964}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8325772932023106936
GameObject:
m_ObjectHideFlags: 0
@ -3586,7 +3593,11 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 518203656061299679}
m_AddedComponents: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 4580683282014377900, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
insertIndex: -1
addedObject: {fileID: 4059732203151340930}
m_SourcePrefab: {fileID: 100100000, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa, type: 3}
--- !u!4 &461740354935876669 stripped
Transform:
@ -3594,12 +3605,47 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 984723819954259080}
m_PrefabAsset: {fileID: 0}
--- !u!137 &2348331999583567347 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 3259623828982151547, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 984723819954259080}
m_PrefabAsset: {fileID: 0}
--- !u!1 &3619673866897773348 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4580683282014377900, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 984723819954259080}
m_PrefabAsset: {fileID: 0}
--- !u!114 &4059732203151340930
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3619673866897773348}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 2348331999583567347}
- {fileID: 6484788819145901710}
steveRenderers: []
alexRenderers: []
--- !u!4 &4138942853584030110 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3808369081287560470, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 984723819954259080}
m_PrefabAsset: {fileID: 0}
--- !u!137 &6484788819145901710 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 6076736928665862662, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 984723819954259080}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1040364863550748081
PrefabInstance:
m_ObjectHideFlags: 0
@ -4010,6 +4056,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 2513368842649961580}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 8ce64bfbf2bb80840af381346bccb782,
type: 3}
insertIndex: -1
addedObject: {fileID: 3695162061770177013}
m_SourcePrefab: {fileID: 100100000, guid: 8ce64bfbf2bb80840af381346bccb782, type: 3}
--- !u!137 &735532174701725946 stripped
SkinnedMeshRenderer:
@ -4170,6 +4220,23 @@ MonoBehaviour:
type: {class: ReferenceScriptableObject, ns: BITKit, asm: BITKit}
data:
so: {fileID: 11400000, guid: 4a847097a446a4c42b582c2a2f878b11, type: 2}
--- !u!114 &3695162061770177013
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1772301879848412717}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 8312879711771833223}
- {fileID: 735532174701725946}
steveRenderers: []
alexRenderers: []
--- !u!4 &2437386659687487010 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3857971597623217502, guid: 8ce64bfbf2bb80840af381346bccb782,
@ -4697,6 +4764,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 2486523390929547415}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: c1a991e2fc6f6f54c977926f66a4acec,
type: 3}
insertIndex: -1
addedObject: {fileID: 4043934240236099025}
m_SourcePrefab: {fileID: 100100000, guid: c1a991e2fc6f6f54c977926f66a4acec, type: 3}
--- !u!4 &2817909135410992819 stripped
Transform:
@ -4797,6 +4868,23 @@ MonoBehaviour:
debug: 0
animator: {fileID: 514671996699977757}
layerInfos: []
--- !u!114 &4043934240236099025
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3193309152473533449}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 5158269637596109219}
- {fileID: 4538978027255161566}
steveRenderers: []
alexRenderers: []
--- !u!137 &4538978027255161566 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 2192180338147824518, guid: c1a991e2fc6f6f54c977926f66a4acec,
@ -5645,6 +5733,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 2751918525240053213}
- targetCorrespondingSourceObject: {fileID: 3857971597623217502, guid: 644cb63bc5228d44e901a3251d09e8cd,
type: 3}
insertIndex: -1
addedObject: {fileID: 124510608249809550}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 644cb63bc5228d44e901a3251d09e8cd,
type: 3}
@ -5662,6 +5754,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 8065589936586356455}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 644cb63bc5228d44e901a3251d09e8cd,
type: 3}
insertIndex: -1
addedObject: {fileID: 4896034696061477889}
m_SourcePrefab: {fileID: 100100000, guid: 644cb63bc5228d44e901a3251d09e8cd, type: 3}
--- !u!137 &279771559974666008 stripped
SkinnedMeshRenderer:
@ -5813,6 +5909,13 @@ MonoBehaviour:
damp: 16
frequence: 16
value: {x: 0, y: 0, z: 0}
initialSight: {fileID: 124510608249809550}
newSight:
allow: 0
value: {fileID: 0}
breathingAdditive:
allow: 0
value: {fileID: 0}
fireAction: {fileID: 4390646709627658297, guid: e0e9267cab824e8489fc27d83f1d07b7,
type: 3}
aimAction: {fileID: 5345126666820269769, guid: e0e9267cab824e8489fc27d83f1d07b7,
@ -5821,6 +5924,7 @@ MonoBehaviour:
type: 3}
meleeAction: {fileID: 709374767176041235, guid: e0e9267cab824e8489fc27d83f1d07b7,
type: 3}
steadyAimAction: {fileID: 0}
cameraView: {fileID: 8525020893898639929}
locationAdditive: {fileID: 4486952052422082421}
expectFiring:
@ -5903,6 +6007,25 @@ MonoBehaviour:
type: {class: ReferenceScriptableObject, ns: BITKit, asm: BITKit}
data:
so: {fileID: 11400000, guid: b7664d3b6512cb042bd9716363153bc1, type: 2}
--- !u!114 &4896034696061477889
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2753699357243898003}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 3790416042972862020}
- {fileID: 5616597724130929977}
steveRenderers:
- {fileID: 3790416042972862020}
alexRenderers:
- {fileID: 5616597724130929977}
--- !u!4 &3277717096784339497 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 644cb63bc5228d44e901a3251d09e8cd,
@ -7042,14 +7165,47 @@ PrefabInstance:
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 4580683282014377900, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
insertIndex: -1
addedObject: {fileID: 6204566845109346367}
m_SourcePrefab: {fileID: 100100000, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa, type: 3}
--- !u!1 &405759294741924888 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4580683282014377900, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 4192940043719826356}
m_PrefabAsset: {fileID: 0}
--- !u!114 &6204566845109346367
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 405759294741924888}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 1660933650970010319}
- {fileID: 1660933650970010319}
steveRenderers: []
alexRenderers: []
--- !u!4 &1074771797319587490 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3808369081287560470, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 4192940043719826356}
m_PrefabAsset: {fileID: 0}
--- !u!137 &1660933650970010319 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 3259623828982151547, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 4192940043719826356}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &4394035954756314480
PrefabInstance:
m_ObjectHideFlags: 0
@ -7423,6 +7579,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 3269250633790738649}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 2457bdeea68be7942b83d81070b7e9b5,
type: 3}
insertIndex: -1
addedObject: {fileID: 8391365113968233690}
m_SourcePrefab: {fileID: 100100000, guid: 2457bdeea68be7942b83d81070b7e9b5, type: 3}
--- !u!137 &456800702483242086 stripped
SkinnedMeshRenderer:
@ -7537,6 +7697,23 @@ MonoBehaviour:
- rid: 806583611772633088
type: {class: MeleeServiceSingleton, ns: BITFALL.Melee, asm: BITFALL.Melee.Runtime}
data:
--- !u!114 &8391365113968233690
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5547240782841867409}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 6797791864527372870}
- {fileID: 2827962871058561339}
steveRenderers: []
alexRenderers: []
--- !u!137 &6797791864527372870 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 2192180338147824518, guid: 2457bdeea68be7942b83d81070b7e9b5,
@ -7771,6 +7948,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 4846561725160298145}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 59fe55bce6eff274ba5812ea0ffba739,
type: 3}
insertIndex: -1
addedObject: {fileID: 2801954557211680929}
m_SourcePrefab: {fileID: 100100000, guid: 59fe55bce6eff274ba5812ea0ffba739, type: 3}
--- !u!137 &230503227726884351 stripped
SkinnedMeshRenderer:
@ -7878,6 +8059,23 @@ MonoBehaviour:
- rid: 806583526086934616
type: {class: MeleeServiceSingleton, ns: BITFALL.Melee, asm: BITFALL.Melee.Runtime}
data:
--- !u!114 &2801954557211680929
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5194518571645982618}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 2581565581698908720}
- {fileID: 6538094884673845581}
steveRenderers: []
alexRenderers: []
--- !u!137 &6538094884673845581 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 2192180338147824518, guid: 59fe55bce6eff274ba5812ea0ffba739,
@ -8193,6 +8391,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 7853171868855391787}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 644cb63bc5228d44e901a3251d09e8cd,
type: 3}
insertIndex: -1
addedObject: {fileID: 7178772687569022135}
m_SourcePrefab: {fileID: 100100000, guid: 644cb63bc5228d44e901a3251d09e8cd, type: 3}
--- !u!4 &1468024213681948635 stripped
Transform:
@ -8206,6 +8408,12 @@ Animator:
type: 3}
m_PrefabInstance: {fileID: 5253447055459780640}
m_PrefabAsset: {fileID: 0}
--- !u!137 &3450782833313095899 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: -1800213932466231045, guid: 644cb63bc5228d44e901a3251d09e8cd,
type: 3}
m_PrefabInstance: {fileID: 5253447055459780640}
m_PrefabAsset: {fileID: 0}
--- !u!1 &4910779100086252913 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 644cb63bc5228d44e901a3251d09e8cd,
@ -8240,12 +8448,35 @@ MonoBehaviour:
debug: 0
animator: {fileID: 1841246478262089137}
layerInfos: []
--- !u!114 &7178772687569022135
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4910779100086252913}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 6236304764949568422}
- {fileID: 3450782833313095899}
steveRenderers: []
alexRenderers: []
--- !u!4 &5723309033838735307 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 644cb63bc5228d44e901a3251d09e8cd,
type: 3}
m_PrefabInstance: {fileID: 5253447055459780640}
m_PrefabAsset: {fileID: 0}
--- !u!137 &6236304764949568422 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 2192180338147824518, guid: 644cb63bc5228d44e901a3251d09e8cd,
type: 3}
m_PrefabInstance: {fileID: 5253447055459780640}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &5352611233010789815
PrefabInstance:
m_ObjectHideFlags: 0
@ -8358,14 +8589,53 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 3789395749545569824}
m_AddedComponents: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 4580683282014377900, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
insertIndex: -1
addedObject: {fileID: 1027577094763004658}
m_SourcePrefab: {fileID: 100100000, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa, type: 3}
--- !u!137 &2169788911960666033 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 6076736928665862662, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 5352611233010789815}
m_PrefabAsset: {fileID: 0}
--- !u!4 &4722680610291221762 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 847274249425463477, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 5352611233010789815}
m_PrefabAsset: {fileID: 0}
--- !u!137 &7454804374024262860 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 3259623828982151547, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 5352611233010789815}
m_PrefabAsset: {fileID: 0}
--- !u!1 &8491977599744358939 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4580683282014377900, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
type: 3}
m_PrefabInstance: {fileID: 5352611233010789815}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1027577094763004658
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8491977599744358939}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 2169788911960666033}
- {fileID: 7454804374024262860}
steveRenderers: []
alexRenderers: []
--- !u!4 &9120422628210139297 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3808369081287560470, guid: 4d2e2ea1a5d15fa4a90ca3a79baa74fa,
@ -8563,6 +8833,16 @@ PrefabInstance:
propertyPath: recoilSpring.frequence
value: 16
objectReference: {fileID: 0}
- target: {fileID: 5543385129991014922, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: breathingAdditive.allow
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5543385129991014922, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: breathingAdditive.value
value:
objectReference: {fileID: 4630340609974338260}
- target: {fileID: 5543385129991014922, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: renderers.Array.data[0]
@ -8648,6 +8928,41 @@ PrefabInstance:
propertyPath: locationAdditive
value:
objectReference: {fileID: 843716438194269699}
- target: {fileID: 7413175997429740669, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: renderers.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7413175997429740669, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: renderers.Array.data[0]
value:
objectReference: {fileID: 8431697307891967359}
- target: {fileID: 7413175997429740669, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: renderers.Array.data[1]
value:
objectReference: {fileID: 8431697307891967359}
- target: {fileID: 7413175997429740669, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: alexRenderers.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7413175997429740669, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: steveRenderers.Array.size
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7413175997429740669, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: alexRenderers.Array.data[0]
value:
objectReference: {fileID: 894811798723960322}
- target: {fileID: 7413175997429740669, guid: 9fca9f6a9cb170842bc149a7236856d5,
type: 3}
propertyPath: steveRenderers.Array.data[0]
value:
objectReference: {fileID: 8431697307891967359}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
@ -8669,6 +8984,96 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 6977410695001814958}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &7139744295657977196
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 2019605867538852436}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalPosition.z
value: 0.1
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.00000044703472
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalRotation.x
value: -0.00000059604633
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.7071071
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.7071064
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -90
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -180
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_Name
value: Overlay_Scope
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 14d27f819f1c3f641bb51485b2b91d39, type: 3}
--- !u!4 &7250741415002362503 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
m_PrefabInstance: {fileID: 7139744295657977196}
m_PrefabAsset: {fileID: 0}
--- !u!1 &8058098936547477565 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 14d27f819f1c3f641bb51485b2b91d39,
type: 3}
m_PrefabInstance: {fileID: 7139744295657977196}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &7741503455564478201
PrefabInstance:
m_ObjectHideFlags: 0
@ -8757,6 +9162,11 @@ PrefabInstance:
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: -6750367996407960833, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: -6565134293425240629, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_Layer
@ -8802,11 +9212,26 @@ PrefabInstance:
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: -1800213932466231045, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: -1745863489998566550, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: -1402092856403460385, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: -637720069155821485, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: -457497680185661411, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_Layer
@ -8827,6 +9252,11 @@ PrefabInstance:
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: 855576828669387838, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_Name
@ -8837,6 +9267,11 @@ PrefabInstance:
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: 2192180338147824518, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4387719810744567721, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_Layer
@ -8862,6 +9297,16 @@ PrefabInstance:
propertyPath: m_Layer
value: 7
objectReference: {fileID: 0}
- target: {fileID: 6349161354037280008, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6443177987131862144, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_CastShadows
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7297106052900782587, guid: 6ee63b2c7f132b34aa209a54ae1d549c,
type: 3}
propertyPath: m_Layer
@ -9207,6 +9652,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 4925042838238742529}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 5bbc8731abf94f94a8849dd8106296fe,
type: 3}
insertIndex: -1
addedObject: {fileID: 252739679728340193}
m_SourcePrefab: {fileID: 100100000, guid: 5bbc8731abf94f94a8849dd8106296fe, type: 3}
--- !u!137 &727301493299199162 stripped
SkinnedMeshRenderer:
@ -9358,6 +9807,13 @@ MonoBehaviour:
damp: 20
frequence: 15
value: {x: 0, y: 0, z: 0}
initialSight: {fileID: 0}
newSight:
allow: 0
value: {fileID: 0}
breathingAdditive:
allow: 0
value: {fileID: 0}
fireAction: {fileID: 4390646709627658297, guid: e0e9267cab824e8489fc27d83f1d07b7,
type: 3}
aimAction: {fileID: 5345126666820269769, guid: e0e9267cab824e8489fc27d83f1d07b7,
@ -9366,6 +9822,7 @@ MonoBehaviour:
type: 3}
meleeAction: {fileID: 709374767176041235, guid: e0e9267cab824e8489fc27d83f1d07b7,
type: 3}
steadyAimAction: {fileID: 0}
cameraView: {fileID: 3579016247041219514}
locationAdditive: {fileID: 4486952052422082421}
expectFiring:
@ -9463,6 +9920,23 @@ MonoBehaviour:
type: {class: ReferenceScriptableObject, ns: BITKit, asm: BITKit}
data:
so: {fileID: 11400000, guid: b7664d3b6512cb042bd9716363153bc1, type: 2}
--- !u!114 &252739679728340193
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7048933845581474064}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 727301493299199162}
- {fileID: 8322527087331379143}
steveRenderers: []
alexRenderers: []
--- !u!4 &7681178683086533546 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 5bbc8731abf94f94a8849dd8106296fe,

View File

@ -107,6 +107,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 8823825610688837616}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5afe13492c9acf478def44319cb3619,
type: 3}
insertIndex: -1
addedObject: {fileID: 1166721261996592115}
m_SourcePrefab: {fileID: 100100000, guid: a5afe13492c9acf478def44319cb3619, type: 3}
--- !u!1 &3130178554240382059 stripped
GameObject:
@ -307,3 +311,175 @@ TrailRenderer:
m_Autodestruct: 0
m_Emitting: 1
m_ApplyActiveColorSpace: 1
--- !u!114 &1166721261996592115
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3130178554240382059}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 11400000, guid: 59ab4c84f9f4ed34d9f2ae41d7edc40e, type: 2}
profileSync: 1
target: {fileID: 8902346065236267787}
_active: 1
ignoreVisibility: 0
executeInEditMode: 0
ignoreFrames: 0
duration: 0.5
continuous: 0
smooth: 0
checkWorldPosition: 1
minDistance: 0.1
worldPositionRelativeOption: 0
worldPositionRelativeTransform: {fileID: 0}
checkScreenPosition: 1
minPixelDistance: 10
stepsBufferSize: 1023
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 0
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
mask: {fileID: 0}
drawBehind: 1
cullMode: 2
subMeshMask: -1
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorRamp: 0
colorRampTexture: {fileID: 0}
colorRampStart: {fileID: 0}
colorRampEnd: {fileID: 0}
fadeOut: 1
colorSequence: 0
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 3
colorCycleLoop: 1
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 5
customMaterial: {fileID: 0}
texture: {fileID: 0}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 1, y: 1, z: 1}
scaleStartRandomMax: {x: 1, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
ignoreTransformScale: 0
scaleUniform: 0
parent: {fileID: 0}
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
trailTint: {r: 0, g: 0, b: 0.1, a: 1}
cameraDistanceFade: 0
cameraDistanceFadeNear: 0
cameraDistanceFadeFar: 1000
animationStates:
animator: {fileID: 0}
lookTarget: {fileID: 0}
lookToCamera: 1
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
meshPoolSize: 256
interpolate: 0
--- !u!4 &8902346065236267787 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -2577548232221058511, guid: a5afe13492c9acf478def44319cb3619,
type: 3}
m_PrefabInstance: {fileID: 2860288370872289594}
m_PrefabAsset: {fileID: 0}

View File

@ -12,6 +12,7 @@ GameObject:
- component: {fileID: 8365587156604046498}
- component: {fileID: 3168693612350792015}
- component: {fileID: 6759274799101860308}
- component: {fileID: 2658742347464340854}
m_Layer: 0
m_Name: EquipController
m_TagString: Untagged
@ -97,6 +98,19 @@ MonoBehaviour:
debug: 0
animator: {fileID: 8365587156604046498}
layerInfos: []
--- !u!114 &2658742347464340854
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2231966161653709123}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers: []
--- !u!1 &2241040556830830124
GameObject:
m_ObjectHideFlags: 0

View File

@ -159,6 +159,13 @@ MonoBehaviour:
damp: 20
frequence: 15
value: {x: 0, y: 0, z: 0}
initialSight: {fileID: 0}
newSight:
allow: 0
value: {fileID: 0}
breathingAdditive:
allow: 0
value: {fileID: 0}
fireAction: {fileID: 4390646709627658297, guid: e0e9267cab824e8489fc27d83f1d07b7,
type: 3}
aimAction: {fileID: 5345126666820269769, guid: e0e9267cab824e8489fc27d83f1d07b7,
@ -167,6 +174,8 @@ MonoBehaviour:
type: 3}
meleeAction: {fileID: 709374767176041235, guid: e0e9267cab824e8489fc27d83f1d07b7,
type: 3}
steadyAimAction: {fileID: 2241482626736855995, guid: e0e9267cab824e8489fc27d83f1d07b7,
type: 3}
cameraView: {fileID: 2427857643014188708}
locationAdditive: {fileID: 0}
expectFiring:

View File

@ -302,6 +302,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 7613617252232372131}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
insertIndex: -1
addedObject: {fileID: 1311415486234117464}
- targetCorrespondingSourceObject: {fileID: 3227681933796678702, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
insertIndex: -1
@ -1281,6 +1285,32 @@ MonoBehaviour:
overrideAngularMotion:
allow: 0
value: 0
--- !u!114 &1311415486234117464
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1630585989029977934}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1eaae13bc84ab5f4abf433021f1b9499, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers:
- {fileID: 6323914363302859334}
- {fileID: 7427218707016986437}
- {fileID: 5019296759075670233}
- {fileID: 4378624254320444163}
- {fileID: 7354814916988172562}
- {fileID: 7367222540271198610}
- {fileID: 2668854896512285276}
steveRenderers:
- {fileID: 6323914363302859334}
- {fileID: 4378624254320444163}
alexRenderers:
- {fileID: 7427218707016986437}
- {fileID: 7354814916988172562}
--- !u!1 &1729084152005531091 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -8241982726922733620, guid: b805b0f643b3776478b9ea3e6701ebb8,
@ -1616,6 +1646,12 @@ ConfigurableJoint:
m_EnablePreprocessing: 1
m_MassScale: 1
m_ConnectedMassScale: 1
--- !u!137 &2668854896512285276 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: -4653971157396203453, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
m_PrefabInstance: {fileID: 1900633944933622303}
m_PrefabAsset: {fileID: 0}
--- !u!1 &3840099519353866764 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3398720915967387667, guid: b805b0f643b3776478b9ea3e6701ebb8,
@ -1963,6 +1999,12 @@ ConfigurableJoint:
m_EnablePreprocessing: 1
m_MassScale: 1
m_ConnectedMassScale: 1
--- !u!137 &4378624254320444163 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: -6439136948098473700, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
m_PrefabInstance: {fileID: 1900633944933622303}
m_PrefabAsset: {fileID: 0}
--- !u!1 &4498669756109410294 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -6625335125320094231, guid: b805b0f643b3776478b9ea3e6701ebb8,
@ -2121,6 +2163,12 @@ ConfigurableJoint:
m_EnablePreprocessing: 1
m_MassScale: 1
m_ConnectedMassScale: 1
--- !u!137 &5019296759075670233 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: -2321474423952446778, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
m_PrefabInstance: {fileID: 1900633944933622303}
m_PrefabAsset: {fileID: 0}
--- !u!1 &5222408372585942371 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -3307383484744224900, guid: b805b0f643b3776478b9ea3e6701ebb8,
@ -2279,6 +2327,12 @@ CapsuleCollider:
m_Height: 0.3
m_Direction: 1
m_Center: {x: 0, y: 0.05, z: 0}
--- !u!137 &6323914363302859334 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: 5594427428836028505, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
m_PrefabInstance: {fileID: 1900633944933622303}
m_PrefabAsset: {fileID: 0}
--- !u!1 &7036148079364461546 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -304833110879391243, guid: b805b0f643b3776478b9ea3e6701ebb8,
@ -2437,6 +2491,24 @@ ConfigurableJoint:
m_EnablePreprocessing: 1
m_MassScale: 1
m_ConnectedMassScale: 1
--- !u!137 &7354814916988172562 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: -256171143935583475, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
m_PrefabInstance: {fileID: 1900633944933622303}
m_PrefabAsset: {fileID: 0}
--- !u!137 &7367222540271198610 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: -261831800944540787, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
m_PrefabInstance: {fileID: 1900633944933622303}
m_PrefabAsset: {fileID: 0}
--- !u!137 &7427218707016986437 stripped
SkinnedMeshRenderer:
m_CorrespondingSourceObject: {fileID: -183908091694985894, guid: b805b0f643b3776478b9ea3e6701ebb8,
type: 3}
m_PrefabInstance: {fileID: 1900633944933622303}
m_PrefabAsset: {fileID: 0}
--- !u!1 &8317327607978938029 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 7569844970340953266, guid: b805b0f643b3776478b9ea3e6701ebb8,

View File

@ -67,6 +67,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1621845164855518716}
- component: {fileID: 804197744649964323}
- component: {fileID: -2281902509228225294}
- component: {fileID: 4083894557606377552}
- component: {fileID: -3918555459250571244}
@ -103,6 +104,14 @@ Transform:
- {fileID: 3380121738530805390}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &804197744649964323
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 594564951014165300}
m_Mesh: {fileID: -8023080413318814639, guid: f2e64a0364f41734798d5f179e8dbf89, type: 3}
--- !u!114 &-2281902509228225294
MonoBehaviour:
m_ObjectHideFlags: 0
@ -117,6 +126,10 @@ MonoBehaviour:
m_EditorClassIdentifier:
appId: 1934920
allowCharacters: {fileID: 4900000, guid: 409d2554d9447844482d62f16b64f38b, type: 3}
overrideInventoryItemDefs:
allow: 1
value:
- obj: {fileID: 11400000, guid: cc2d583887d8ad8448aa10300cf43732, type: 2}
--- !u!114 &4083894557606377552
MonoBehaviour:
m_ObjectHideFlags: 0
@ -132,17 +145,13 @@ MonoBehaviour:
layerMask:
serializedVersion: 2
m_Bits: 513
material: {fileID: 2100000, guid: c4a3b3cdb61437f49a87d07e3cfbb530, type: 2}
entitiesService:
rid: -2
netProvider:
rid: -2
damageService:
rid: 6077775219685064714
pool:
defaultCapacity: 16
prefab: {fileID: 2956281190107464547, guid: cd8502ee01a85944bbccb38128facc13,
type: 3}
root: {fileID: 1621845164855518716}
references:
version: 2
RefIds:
@ -1301,7 +1310,6 @@ MonoBehaviour:
seleableLabel: {fileID: 5870675284324803859}
crosshairImage: {fileID: 7197977614289111421}
crosshairParentImage: {fileID: 1020875659093885614}
scopeImage: {fileID: 5667603518862187298}
playerNameLabel: {fileID: 3634826882621984808}
playerAvatarImage: {fileID: 2959116518108072906}
playerInfo: {fileID: 3013491651699976577}

File diff suppressed because it is too large Load Diff

View File

@ -16,10 +16,10 @@ namespace BITFALL
[Serializable]
public record InstanceBullet : SpawnBullet
{
public Vector3 Velocity;
public Vector3 currentPos;
public float currentSpeed = 64;
public float ElapsedTime;
public BITBullet model;
}
[Serializable]
public class BulletServiceSingleton : IBulletService
@ -31,7 +31,8 @@ namespace BITFALL
public static Action<SpawnBullet> Spawn;
[Header(Constant.Header.Settings)]
public LayerMask layerMask;
[SerializeField] private LayerMask layerMask;
[SerializeField] private Material material;
[Header(Constant.Header.Providers)]
[SerializeField, SerializeReference, SubclassSelector]
@ -41,25 +42,50 @@ namespace BITFALL
[SerializeField, SerializeReference, SubclassSelector]
private IDamageService damageService;
[Header(Constant.Header.Settings)]
[SerializeField] private UnityPool<BITBullet> pool = new();
[Header(Constant.Header.InternalVariables)]
private readonly List<InstanceBullet> instances = new();
private readonly RaycastHit[] _raycastHits = new RaycastHit[16];
private const float dragCoefficient = 0.045f; // 子弹的阻力系数
private const float bulletMass = 0.015f; // 子弹的质量,单位:千克
private Mesh _mesh;
private void Start()
{
_mesh = GetComponent<MeshFilter>().mesh;
Spawn += SpawnBullet;
}
private void OnDestroy()
{
Spawn -= SpawnBullet;
}
private void Update()
{
var camera = Camera.main;
if (!camera) return;
var rot = camera.transform.rotation * Quaternion.Euler(0, 180, 0);
foreach (var bullet in instances.ToArray())
{
if (bullet.ElapsedTime >= 0.04f)
{
// Graphics.DrawMesh(_mesh, bullet.currentPos, bullet.rot, material,
// LayerMask.NameToLayer("TransparentFX"));
var martix = Matrix4x4.TRS(
bullet.currentPos,
rot,
Vector3.one + Vector3.one * Mathf.Clamp(bullet.ElapsedTime, 0, 16));
Graphics.DrawMesh(_mesh, martix, material,
LayerMask.NameToLayer("TransparentFX"));
}
}
}
private void FixedUpdate()
{
foreach (var bullet in instances.ToArray())
{
var size = Physics.RaycastNonAlloc(bullet.currentPos, bullet.forward, _raycastHits, bullet.currentSpeed * Time.fixedDeltaTime, layerMask);
var size = Physics.RaycastNonAlloc(bullet.currentPos, bullet.Velocity, _raycastHits, Vector3.Distance(default,bullet.Velocity) * Time.fixedDeltaTime, layerMask);
var validHit = false;
foreach (var raycastHit in _raycastHits.Take(size).OrderBy(x => Vector3.Distance(bullet.pos, x.point)))
{
@ -69,43 +95,73 @@ namespace BITFALL
break;
}
if (validHit ||bullet.currentSpeed <= 0)
if (validHit ||bullet.currentSpeed <= 0 || bullet.Velocity.sqrMagnitude <= 0.01f || bullet.ElapsedTime >= 8)
{
instances.TryRemove(bullet);
pool.Return(bullet.model);
//pool.Return(bullet.model);
}
else
{
// 计算子弹的下坠距离
float distance = 0.5f * Physics.gravity.y * bullet.ElapsedTime * bullet.ElapsedTime;
// // 计算子弹的下坠距离
// float distance =Mathf.Clamp(
// 0.5f * Physics.gravity.y * bullet.ElapsedTime * bullet.ElapsedTime,
// Physics.gravity.y
// ,0
// ) ;
//
// bullet.currentSpeed -= bullet.startSpeed * Time.fixedDeltaTime;
// bullet.currentPos += (Vector3)bullet.forward * (bullet.currentSpeed * Time.fixedDeltaTime);
// bullet.currentPos += Vector3.up * distance;
// bullet.model.transform.position = bullet.currentPos;
//
// bullet.ElapsedTime += Time.fixedDeltaTime;
bullet.currentSpeed -= bullet.startSpeed * Time.fixedDeltaTime;
bullet.currentPos += (Vector3)bullet.forward * (bullet.currentSpeed * Time.fixedDeltaTime);
bullet.currentPos += Vector3.up * distance;
bullet.model.transform.position = bullet.currentPos;
// 计算重力下坠
bullet.ElapsedTime += Time.fixedDeltaTime;
bullet.ElapsedTime+=Time.fixedDeltaTime;
bullet.Velocity+= Physics.gravity * (Time.fixedDeltaTime * bullet.ElapsedTime);
// // 计算空气阻力
// float airDragForce = 0.5f * dragCoefficient * 1.225f * bullet.Velocity.magnitude * bullet.Velocity.magnitude;
//
// if (float.IsNaN(airDragForce))
// {
// bullet.Velocity=Vector3.zero;
// continue;
// }
//
// Vector3 airDragDirection = -bullet.Velocity.normalized;
// Vector3 airDrag = airDragDirection * airDragForce / bulletMass;
var newVelocity =bullet.Velocity * Time.fixedDeltaTime;
bullet.currentPos+=newVelocity;
float CalculateElevationAngle(float distance)
{
float g = Mathf.Abs(Physics.gravity.y);
float angle = 0.5f * Mathf.Asin(distance * g / (bullet.startSpeed * bullet.startSpeed));
return angle * Mathf.Rad2Deg;
}
}
}
}
private async void RpcSpawnBullet(SpawnBullet x)
{
await UniTask.SwitchToMainThread();
var instance = pool.Get();
InstanceBullet bullet = new()
{
initiator = x.initiator,
currentPos = x.pos,
startSpeed = x.startSpeed,
pos = x.pos,
rot = x.rot,
forward = x.forward,
initialDamage = x.initialDamage,
model = instance,
InitialForce = x.InitialForce,
Velocity =x.forward * x.startSpeed,
};
var instanceTransform = instance.transform;
instanceTransform.SetPositionAndRotation(x.pos, x.rot);
instanceTransform.forward = x.forward;
instances.Add(bullet);
}
private void SpawnBullet(SpawnBullet x)
@ -156,7 +212,7 @@ namespace BITFALL
{
"BulletHit",
};
if (raycastHit.transform.TryGetComponent<ITag>(out var _tag))
if (raycastHit.collider.TryGetComponent<ITag>(out var _tag))
{
tags.AddRange(_tag.GetTags());
}
@ -191,5 +247,7 @@ namespace BITFALL
}
void IBulletService.Spawn(SpawnBullet bullet) => SpawnBullet(bullet);
}
}

View File

@ -0,0 +1,28 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// ReSharper disable ConvertToAutoProperty
namespace BITFALL.Cosmetic
{
[Serializable]
public struct CosmeticTextureContent:ICosmeticContent
{
[SerializeField] private Texture texture;
public Texture Texture => texture;
}
public class AssetableCosmetic : ScriptableObject,ICosmetic
{
[SerializeField] private ulong id;
[SerializeField] private string addressablePath;
[SerializeField] private Sprite icon;
[SerializeReference, SubclassSelector] private ICosmeticType type;
[SerializeReference, SubclassSelector] private ICosmeticContent[] contents;
public string AddressablePath=> addressablePath;
public ulong Id => id;
public ICosmeticType Type=> type;
public ICosmeticContent[] Contents=> contents;
}
}

View File

@ -0,0 +1,20 @@
{
"name": "BITFALL.Cosmetic.Runtime",
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:677cd05ca06c46b4395470200b1acdad",
"GUID:d525ad6bd40672747bde77962f1c401e",
"GUID:49b49c76ee64f6b41bf28ef951cb0e50",
"GUID:2b6752324f5c76d4cad13e2095c77b9e"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,25 @@
{
"name": "BITFALL.Entities.Cosmetic.Runtime",
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:709caf8d7fb6ef24bbba0ab9962a3ad0",
"GUID:2b6752324f5c76d4cad13e2095c77b9e",
"GUID:0743625b554095843871fab2dd150305",
"GUID:1bb4187526a9431478feccaef064696a",
"GUID:d525ad6bd40672747bde77962f1c401e",
"GUID:49b49c76ee64f6b41bf28ef951cb0e50",
"GUID:f51ebe6a0ceec4240a699833d6309b23",
"GUID:9e24947de15b9834991c9d8411ea37cf",
"GUID:84651a3751eca9349aac36a66bba901b"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,48 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using BITFALL.Cosmetic;
using BITKit;
using BITKit.Entities;
using UnityEngine;
namespace BITFALL.Entities.Cosmetic
{
public sealed class CosmeticTextureBehaviour : EntityBehavior
{
[SerializeField] private Renderer[] renderers;
[SerializeField] private Renderer[] steveRenderers;
[SerializeField] private Renderer[] alexRenderers;
[Inject(true)] private ICosmeticService _cosmeticService;
public override void OnAwake()
{
if (_cosmeticService is not null)
_cosmeticService.OnCosmeticsChanged += OnCosmeticsChanged;
}
private void OnCosmeticsChanged()
{
foreach (var cosmetic in _cosmeticService.Cosmetics)
{
foreach (var content in cosmetic.Contents.OfType<CosmeticTextureContent>())
{
foreach (var _renderer in renderers)
{
if (content.Texture is Texture2D texture2D)
{
var multiple = texture2D.width / 64;
var color = texture2D.GetPixels32()[17 * multiple * texture2D.width + 51* multiple];
var isSteve = color.a is 1;
Debug.Log(color);
steveRenderers.ForEach(x => x.enabled = isSteve);
alexRenderers.ForEach(x => x.enabled = !isSteve);
}
_renderer.material.mainTexture = content.Texture;
}
}
}
}
}
}

View File

@ -0,0 +1,29 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Security;
using BITFALL.Cosmetic;
using BITKit;
using BITKit.Entities;
using BITKit.Steamwork;
using UnityEngine;
using UnityEngine.AddressableAssets;
namespace BITFALL.Entities.Cosmetic
{
[CustomType(typeof(ICosmeticService))]
public class EntityCosmeticService : EntityBehavior,ICosmeticService
{
[SerializeReference, SubclassSelector] private ISteamService steamService;
public ICosmetic[] Cosmetics { get; private set; }
public event Action OnCosmeticsChanged;
public override async void OnStart()
{
base.OnStart();var items =await steamService.GetInventoryItemDefsAsync(destroyCancellationToken);
Cosmetics = items.Select(itemDef => Addressables.LoadAssetAsync<ICosmetic>(itemDef.AddressablePath).WaitForCompletion()).ToArray();
OnCosmeticsChanged?.Invoke();
}
}
}

View File

@ -15,6 +15,7 @@ using BITKit.Entities.Melee;
using BITKit.Entities.VFX;
using Cinemachine;
using Cysharp.Threading.Tasks;
using Unity.Mathematics;
namespace BITKit.Entities
{
@ -171,7 +172,7 @@ namespace BITKit.Entities
[SerializeField] private Optional<int> overrideIndex;
[SerializeField] private AnimationCurve zoomCurve;
[SerializeField] private Optional<GameObject> optionalScope;
public event Action<IBasicItem> OnEquip;
public event Action<IBasicItem> OnUnEquip;
@ -180,7 +181,6 @@ namespace BITKit.Entities
private readonly EntryGroup<IEquipBase> equips = new();
protected IEquipBase entryComplete;
private PlayerConfig playerConfig;
private IBasicItem _currentItem;
@ -244,7 +244,24 @@ namespace BITKit.Entities
if (virtualCamera is not null)
{
virtualCamera.m_Lens.FieldOfView =zoomCurve.Evaluate(Zoom.Allow?Zoom.Value:0);
virtualCamera.m_Lens.FieldOfView =
Mathf.Lerp(
virtualCamera.m_Lens.FieldOfView,
Zoom.Allow ?
Mathf.Rad2Deg * CalcZoomFOV(Mathf.Deg2Rad * 60f, Zoom.Value) : PlayerConfig.Singleton.Fov,
16*deltaTime
);
float CalcZoomFOV(float baseFOV, float zoom)
{
return 2.0f * Mathf.Atan(Mathf.Tan(baseFOV / 2.0f) / zoom);
}
}
if (optionalScope.Allow)
{
optionalScope.Value.SetActive(AllowScope);
}
if (overrideIndex.Allow && (_health?.IsAlive ?? true))

View File

@ -62,14 +62,21 @@ namespace BITFALL.Guns
[Header(Constant.Header.Settings)]
[SerializeField] private Vector3 bulletInitialOffset;
[SerializeField] private SpringEulerAngle recoilSpring=new();
[Header(Constant.Header.Gameobjects)]
[SerializeField] private Transform initialSight;
[SerializeField] private Optional<Transform> newSight;
[Header(nameof(Optional<GameObject>))]
[SerializeField] private Optional<LocationAdditive> breathingAdditive;
// 输入系统
[Header(Constant.Header.Input)]
public InputActionReference fireAction;
public InputActionReference aimAction;
public InputActionReference reloadAction;
public InputActionReference meleeAction;
[SerializeField] internal InputActionReference fireAction;
[SerializeField] internal InputActionReference aimAction;
[SerializeField] internal InputActionReference reloadAction;
[SerializeField] internal InputActionReference meleeAction;
[SerializeField] internal InputActionReference steadyAimAction;
[Header(Constant.Header.HotFix)]
[SerializeField] private Transform cameraView;
@ -97,6 +104,7 @@ namespace BITFALL.Guns
private static readonly int IsGrounded = Animator.StringToHash("IsGrounded");
private AssetableGun _gun=>item as AssetableGun;
private bool isHolstered;
private bool isSteadyAim;
public bool RequireBolt { get; set; }
@ -111,6 +119,7 @@ namespace BITFALL.Guns
inputActionGroup.RegisterCallback(aimAction, OnAim);
inputActionGroup.RegisterCallback(reloadAction, OnReload);
inputActionGroup.RegisterCallback(meleeAction, OnMelee);
inputActionGroup.RegisterCallback(steadyAimAction, OnSteadyAim);
_movement.OnStateChanged += OnMovementStateChanged;
_movement.OnCommand += OnMovementCommand;
@ -119,6 +128,20 @@ namespace BITFALL.Guns
isHolstered = state is BITConstant.Player.Holster;
};
}
private void OnSteadyAim(InputAction.CallbackContext obj)
{
switch (obj)
{
case { interaction: PressInteraction, performed: true } when CurrentState is Aim:
isSteadyAim = true;
break;
case { interaction: PressInteraction, canceled: true }:
isSteadyAim = false;
break;
}
}
private void OnMovementCommand(object obj)
{
switch (obj)
@ -215,7 +238,6 @@ namespace BITFALL.Guns
{
}
}
public override void OnUpdate(float deltaTime)
{
UpdateState(deltaTime);
@ -240,6 +262,8 @@ namespace BITFALL.Guns
break;
}
animator.animator.SetBool(IsGrounded,_movement.IsGrounded);
animator.animator.SetFloat(BITConstant.Player.SqrMagnitude,_movement.LocomotionBasedVelocity.sqrMagnitude);
@ -250,8 +274,50 @@ namespace BITFALL.Guns
if(AnimationProperties.TryGetValue(BITConstant.Player.Aim, out var _aim))
{
_equipService.Zoom.Allow = CurrentState is Aim;
_equipService.Zoom.Value =Mathf.Lerp(0,_gun.InitialAimZoom, _aim);
_equipService.Zoom.Value =Mathf.Lerp(1,_gun.InitialAimZoom, _aim);
_equipService.AllowScope = _aim > 0.86f && _gun.IsScopeAim;
if (breathingAdditive.Allow)
{
var breatheFrequency = 0.5f; // 呼吸的频率,值越大呼吸越快
var breatheAmplitude = 0.005f; // 呼吸的幅度,即准星上下移动的最大距离
if (_playerMovement.Stamina <= 8)
{
breatheFrequency = 8;
breatheAmplitude = 0.1f;
}
var breatheOffset = Mathf.Sin(Time.time * breatheFrequency) * breatheAmplitude;
if (isSteadyAim)
{
if (_playerMovement.Stamina > 0)
{
_playerMovement.Stamina -= 16 * deltaTime;
breatheOffset *= 0.16f;
}
else
{
isSteadyAim = false;
}
}
else
{
breatheOffset *= _aim;
}
_playerMovement.AddViewEuler(new float2(breatheOffset, breatheOffset));
}
if (newSight.Allow)
{
transform.localPosition=Vector3.Lerp(default, newSight.Value.position-initialSight.position, _aim);
}
else
{
transform.localPosition = default;
}
}
if (AnimationProperties.TryGetValue(BITConstant.Player.Stable, out var stable))
@ -266,7 +332,7 @@ namespace BITFALL.Guns
AllowRendering.SetDisableElements(64564,_equipService.AllowScope);
}
public override void AnimationEvent(string eventName)
{
if(IsEntered is false) return;
@ -302,10 +368,11 @@ namespace BITFALL.Guns
BulletService.Spawn(new SpawnBullet
{
initiator = Entity.Id,
pos = (_transform.position+rotation * bulletInitialOffset).Fix(),
pos = (_transform.position+rotation * bulletInitialOffset),
rot = rotation,
forward = _transform.forward.Fix(),
forward = _transform.forward,
initialDamage = _gun.InitialDamage,
startSpeed = _gun.InitialBulletSpeed,
InitialForce = _gun.InitialBulletForce,
});
@ -352,11 +419,10 @@ namespace BITFALL.Guns
case AutoFireMode :
switch (context)
{
case {interaction:TapInteraction , started:true}:
case {interaction:PressInteraction , started:true}:
expectFiring.shouldBe = true;
break;
case {interaction:TapInteraction , performed:true}:
case {interaction:HoldInteraction , canceled:true}:
case {interaction:PressInteraction , canceled:true}:
expectFiring.shouldBe = false;
break;
}
@ -364,7 +430,7 @@ namespace BITFALL.Guns
case SemiFireMode:
switch (context)
{
case { interaction: TapInteraction, started: true }:
case { interaction: PressInteraction, started: true } when fireInterval.AllowUpdateWithoutReset && RequireBolt is false:
expectFiring.shouldBe = true;
break;
}

View File

@ -167,7 +167,13 @@ namespace BITFALL.Guns.States
root.animator.CrossFade(BITConstant.Player.Aim, 0.16f);
break;
}
_entityMovement.ExecuteCommand<PlayerCancelRunCommand>();
_entityMovement.ExecuteCommand<PlayerDisableRunCommand>(new(this));
}
public override void OnStateExit(IState old, IState newState)
{
base.OnStateExit(old, newState);
_entityMovement.ExecuteCommand<PlayerEnableRunCommand>(new(this));
}
public override void OnStateUpdate(float deltaTime)

View File

@ -35,9 +35,10 @@ namespace BITFALL.Player.Movement
if (_equipService.Zoom.Allow)
{
velocity = default;
angularVelocity = default;
if (_equipService.AllowScope is false)
angularVelocity = default;
}
currentPosition = Vector3.Lerp(currentPosition,velocity * posValue,posDelta * deltaTime);
currentRotation = Quaternion.Lerp(currentRotation,Quaternion.Euler(angularVelocity * rotValue),rotDelta * deltaTime);

View File

@ -8,7 +8,7 @@ namespace BITKit.Entities.Player.Feel
public sealed class PlayerHitMotion : EntityBehavior
{
[SerializeField] private Spring3 spring;
[SerializeField] private LocationAdditive locationAdditive;
[SerializeField] private LocationAdditive[] locationAdditives;
[SerializeField] private AnimationCurve damageBasedMotion;
public override void OnStart()
{
@ -25,7 +25,10 @@ namespace BITKit.Entities.Player.Feel
public override void OnUpdate(float deltaTime)
{
spring.Update(deltaTime,default);
locationAdditive.AddEuler(spring.value);
foreach (var x in locationAdditives)
{
x.AddEuler(spring.value);
}
}
}

View File

@ -275,7 +275,7 @@ namespace BITFALL.Entities.Player.Movement
{
//case { interaction: PressInteraction, started: true }:
case { interaction: PressInteraction, performed:true }:
if (ExpectRun.shouldBe)
if (ExpectRun.shouldBe && Stamina> 0)
ExpectSprint.shouldBe = true;
ExpectRun.shouldBe = true;
ExpectCrouch.Reset();

View File

@ -30,7 +30,6 @@ namespace BITFALL.UX
[SerializeField] private UXLabel seleableLabel;
[SerializeField] private UXImage crosshairImage;
[SerializeField] private UXImage crosshairParentImage;
[SerializeField] private UXImage scopeImage;
[SerializeField] private UXLabel playerNameLabel;
[SerializeField] private UXImage playerAvatarImage;
[SerializeField] private UXElement playerInfo;
@ -145,8 +144,6 @@ namespace BITFALL.UX
crosshairImage.visualElement.SetActive(_equipService.AllowAttack);
scopeImage.SetActive(_equipService.AllowScope);
crosshairImage.visualElement.transform.scale =
Vector3.one *
Mathf.Lerp(1.25f, 1, _equipService.Stable);
@ -163,7 +160,9 @@ namespace BITFALL.UX
if(_equipService is null) return;
var currentCrosshairOpacity = crosshairParentImage.visualElement.style.opacity.value;
crosshairParentImage.visualElement.style.opacity = Mathf.Lerp(currentCrosshairOpacity, _equipService.Zoom.Allow ? 0 : 1, Time.deltaTime * 5);
crosshairParentImage.visualElement.style.opacity =
_equipService.AllowScope?0:
Mathf.Lerp(currentCrosshairOpacity, _equipService.Zoom.Allow ? 0 : 1, Time.deltaTime * 5);
}
private static void OnReturn(InputAction.CallbackContext context)

View File

@ -3,7 +3,7 @@
<ui:Template name="DialogueLabel" src="project://database/Assets/Artists/UX/DialogueLabel.uxml?fileID=9197481963319205126&amp;guid=3ff4d7289dadb214fbfb566f1312a6e0&amp;type=3#DialogueLabel" />
<Style src="project://database/Assets/BITKit/Unity/UX/BITQuest.uss?fileID=7433441132597879392&amp;guid=5c2d746d52de8e340b788034994ee23e&amp;type=3#BITQuest" />
<Style src="project://database/Assets/BITKit/Unity/UX/Common/Common.uss?fileID=7433441132597879392&amp;guid=a3a69d3518fd02b489e721f3c5b0b539&amp;type=3#Common" />
<ui:VisualElement name="scope-container" picking-mode="Ignore" class="root" style="background-image: url(&apos;project://database/Assets/Artists/Arts/Crosshair/Scope_Full.png?fileID=2800000&amp;guid=50d89dfc15f847f479789c87471d9a98&amp;type=3#Scope_Full&apos;); -unity-background-scale-mode: scale-and-crop;" />
<ui:VisualElement name="scope-container" picking-mode="Ignore" class="root" style="background-image: url(&apos;project://database/Assets/Artists/Arts/Crosshair/Scope_Full.png?fileID=2800000&amp;guid=50d89dfc15f847f479789c87471d9a98&amp;type=3#Scope_Full&apos;); -unity-background-scale-mode: scale-and-crop; display: none;" />
<ui:VisualElement name="Profiler" class="pa-16" style="position: absolute; flex-direction: row;">
<ui:Label text="FPS" display-tooltip-when-elided="true" name="fps-label" class="profiler-label profiler" style="background-color: rgba(0, 0, 0, 0.5);" />
<ui:Label text="Ping" display-tooltip-when-elided="true" name="ping-label" class="profiler-label profiler" style="background-color: rgba(0, 0, 0, 0.5);" />
@ -21,7 +21,7 @@
<ui:Label text="互动" display-tooltip-when-elided="true" name="selectable-label" style="background-color: rgb(210, 210, 210); padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px; color: rgb(7, 7, 7);" />
</ui:VisualElement>
<ui:VisualElement name="crosshair-container" class="root">
<ui:VisualElement name="crosshair-image--fixed" style="margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; background-color: rgba(255, 255, 255, 0.5); width: 8px; height: 8px; border-top-left-radius: 110px; border-bottom-left-radius: 110px; border-top-right-radius: 110px; border-bottom-right-radius: 110px;" />
<ui:VisualElement name="crosshair-image--fixed" class="flex-center" style="background-color: rgba(255, 255, 255, 0.5); width: 8px; height: 8px; border-top-left-radius: 110px; border-bottom-left-radius: 110px; border-top-right-radius: 110px; border-bottom-right-radius: 110px;" />
<ui:VisualElement class="root">
<ui:VisualElement name="crosshair-image" class="flex-center" style="width: 64px; height: 64px; background-image: url(&apos;project://database/Assets/Artists/Arts/Icons/Crosshair_No_Dot.png?fileID=2800000&amp;guid=507fe62dcf74ad84d966ea70a924771e&amp;type=3#Crosshair_No_Dot&apos;);" />
</ui:VisualElement>

View File

@ -0,0 +1,16 @@
{
"name": "BITFALL.Cosmetic",
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": true
}

View File

@ -0,0 +1,29 @@
using System;
using System.Collections;
using System.Collections.Generic;
using BITKit;
namespace BITFALL.Cosmetic
{
public interface ICosmeticType
{
/// <summary>
/// 排除的饰品类型
/// </summary>
ICosmeticType[] Excludes { get; }
}
public interface ICosmeticContent{}
public interface ICosmetic:IAddressable
{
ulong Id { get; }
ICosmeticType Type { get; }
ICosmeticContent[] Contents { get; }
}
public interface ICosmeticService
{
ICosmetic[] Cosmetics { get; }
event Action OnCosmeticsChanged;
}
}

View File

@ -287,7 +287,9 @@ namespace BITKit
BIT4Log.Warning<BITApp>($"{nameof(BITApp)}初始化错误:");
BIT4Log.LogException(e);
}
#if NET5_0_OR_GREATER
ServiceProvider = ServiceCollection.BuildServiceProvider();
#endif
}
public static void Stop()
{

View File

@ -17,6 +17,9 @@ namespace BITKit.Entities
IEntityComponent[] Components { get; }
bool RegisterComponent<T>(T component);
IServiceProvider ServiceProvider { get; }
#if NET5_0_OR_GREATER
IServiceCollection ServiceCollection { get; }
#endif
void Inject(object obj);
}
/// <summary>

View File

@ -65,9 +65,9 @@ namespace BITKit
public bool TryGetEntried(out T value)
{
EnsureConfiguration();
if (index is not -1)
if (m_index is not -1)
{
value = list[index];
value = list[m_index];
return true;
}
value = default;
@ -86,7 +86,6 @@ namespace BITKit
else
{
var currentIndex = m_index;
m_index = index;
if (currentIndex is not -1 && list.TryGetElementAt(currentIndex, out var currentElement))
{
currentElement.Exit();
@ -100,7 +99,7 @@ namespace BITKit
currentElement.IsEntered = false;
OnExit?.Invoke(currentElement);
}
m_index = index;
if (index is not -1 && list.TryGetElementAt(index, out var nextElement))
{
nextElement.IsEntered = true;

View File

@ -56,7 +56,7 @@
"id": "9db494c5-bec3-4b09-bd5f-66ba07a3a729",
"expectedControlType": "Button",
"processors": "",
"interactions": "Tap,Hold,Press",
"interactions": "Press,Tap,Hold",
"initialStateCheck": false
},
{

View File

@ -4,7 +4,8 @@
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:75469ad4d38634e559750d17036d5f7c",
"GUID:709caf8d7fb6ef24bbba0ab9962a3ad0"
"GUID:709caf8d7fb6ef24bbba0ab9962a3ad0",
"GUID:7efac18f239530141802fb139776f333"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Security.Permissions;
using UnityEngine;
using BITKit.Entities;
using BITKit.Events;
@ -23,7 +24,7 @@ namespace BITKit.Vehicles
public WheelType wheelType;
}
public sealed class Vehicle : MonoBehaviour
public sealed class Vehicle : EntityBehavior
{
[Header(Constant.Header.Settings)] public float maxMotorTorque = 64;
[SerializeField] private float maxSteeringAngle = 45;
@ -36,6 +37,9 @@ namespace BITKit.Vehicles
[SerializeField]
private new Rigidbody rigidbody;
[SerializeField] private GameObject[] objects;
[SerializeField] private GameObject[] destroyedObjects;
[SerializeField] private Transform driveAnchor;
[Header(Constant.Header.Gameobjects)]
@ -53,7 +57,29 @@ namespace BITKit.Vehicles
private bool isBraking;
private readonly ValidHandle highSpeedHandle = new();
private IUnityEntity _unityEntity;
private void Start()
[Inject]
private IHealth _health;
public override void OnAwake()
{
base.OnAwake();
_health.OnSetAlive += OnSetAlive;
}
private void OnSetAlive(bool obj)
{
foreach (var x in objects)
{
x.SetActive(obj);
}
foreach (var x in destroyedObjects)
{
x.SetActive(!obj);
}
}
public override void OnStart()
{
highSpeedHandle.AddListener(x =>
{
@ -69,8 +95,7 @@ namespace BITKit.Vehicles
});
highSpeedHandle.Invoke();
}
private void Update()
public override void OnUpdate(float deltaTime)
{
var torque = maxMotorTorque *(optionalVertical.Allow ? optionalVertical.Value : vertical);
var steel =maxSteeringAngle * (optionalHorizontal.Allow ? optionalHorizontal.Value : horizontal);

View File

@ -0,0 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: ab6c34283d61d534183f9a63e54f932c, type: 3}
m_Name: 6C
m_EditorClassIdentifier:
addressablePath: Cosmetics/6C
id: 4980
defId: 3071
type:

View File

@ -3,7 +3,9 @@
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
"GUID:f51ebe6a0ceec4240a699833d6309b23"
"GUID:f51ebe6a0ceec4240a699833d6309b23",
"GUID:d525ad6bd40672747bde77962f1c401e",
"GUID:49b49c76ee64f6b41bf28ef951cb0e50"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@ -0,0 +1,14 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace BITKit.Steamwork
{
public interface ISteamInventoryItemDef:IAddressable
{
ulong Id { get; }
int DefId { get; }
string Type { get; }
}
}

View File

@ -28,6 +28,8 @@ namespace BITKit.Steamwork
/// </summary>
bool IsInitialized { get; }
UniTask<Texture2D> GetAvatarAsync(CancellationToken token);
UniTask<ISteamInventoryItemDef[]> GetInventoryItemDefsAsync(CancellationToken token);
}
}

View File

@ -0,0 +1,19 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace BITKit.Steamwork
{
public sealed class ScriptableInventoryItemDef: ScriptableObject,ISteamInventoryItemDef
{
[SerializeField] private string addressablePath;
[SerializeField] private ulong id;
[SerializeField] private int defId;
[SerializeField] private string type;
public string AddressablePath => addressablePath;
public ulong Id => id;
public int DefId => defId;
public string Type => type;
}
}

View File

@ -0,0 +1,30 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Object = UnityEngine.Object;
namespace BITKit.Steamwork
{
public class SteamInventoryItemDef : ISteamInventoryItemDef
{
public string AddressablePath { get; internal set; }
public ulong Id { get; internal set;}
public int DefId { get; internal set;}
public string Type { get; internal set;}
}
[Serializable]
public sealed class UnityInventoryItemDef:ISteamInventoryItemDef
{
[SerializeField] private Object obj;
private ISteamInventoryItemDef _steamInventoryItemDefImplementation=>obj as ISteamInventoryItemDef;
public string AddressablePath => _steamInventoryItemDefImplementation.AddressablePath;
public ulong Id => _steamInventoryItemDefImplementation.Id;
public int DefId => _steamInventoryItemDefImplementation.DefId;
public string Type => _steamInventoryItemDefImplementation.Type;
}
}

View File

@ -19,6 +19,9 @@ namespace BITKit.Steamwork
[Header(Constant.Header.Settings)]
[SerializeField] private TextAsset allowCharacters;
[Header(Constant.Header.Settings)]
[SerializeField] private Optional<UnityInventoryItemDef[]> overrideInventoryItemDefs;
//接口实现
public ulong SteamId => SteamClient.SteamId;
public string Name =>SteamClient.IsValid ? SteamClient.Name.Where(x=>allowCharacters.text.Contains(x)).Aggregate("",(current, c) => current+c) : Environment.UserDomainName;
@ -30,6 +33,18 @@ namespace BITKit.Steamwork
return avatar.Value.Covert();
}
public async UniTask<ISteamInventoryItemDef[]> GetInventoryItemDefsAsync(CancellationToken token)
{
if(overrideInventoryItemDefs.Allow)return overrideInventoryItemDefs.Value;
var items = await SteamInventory.GetAllItemsAsync();
if(items.HasValue is false)return Array.Empty<ISteamInventoryItemDef>();
return items.Value.GetItems().Select(x => new SteamInventoryItemDef()
{
Id = x.Id,
DefId = x.DefId
}).Cast<ISteamInventoryItemDef>().ToArray();
}
public int Id => (int)SteamClient.SteamId.AccountId;
private bool initialized;
@ -50,10 +65,10 @@ namespace BITKit.Steamwork
initialized = true;
BIT4Log.Log<SteamService>("已初始化Steam");
}
catch (Exception)
catch (Exception e)
{
BIT4Log.Warning<SteamService>("Steam初始化失败请验证客户端是否运行");
throw;
Debug.Log(e);
}
}
@ -73,5 +88,6 @@ namespace BITKit.Steamwork
public string Name => _steamServiceImplementation.Name;
public bool IsInitialized=>_steamServiceImplementation.IsInitialized;
public UniTask<Texture2D> GetAvatarAsync(CancellationToken token)=>_steamServiceImplementation.GetAvatarAsync(token);
public UniTask<ISteamInventoryItemDef[]> GetInventoryItemDefsAsync(CancellationToken token)=>_steamServiceImplementation.GetInventoryItemDefsAsync(token);
}
}

View File

@ -0,0 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: ab6c34283d61d534183f9a63e54f932c, type: 3}
m_Name: Steve
m_EditorClassIdentifier:
addressablePath: Cosmetics/Steve
id: 4980
defId: 3070
type:

View File

@ -0,0 +1,13 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!134 &13400000
PhysicMaterial:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Bouncy
dynamicFriction: 0
staticFriction: 0
bounciness: 0.95
frictionCombine: 1
bounceCombine: 3

View File

@ -0,0 +1,135 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7064903886676325987
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Bullet
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
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: 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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,13 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!134 &13400000
PhysicMaterial:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: BulletPhysic
dynamicFriction: 0
staticFriction: 0
bounciness: 0.85
frictionCombine: 1
bounceCombine: 3

View File

@ -0,0 +1,149 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-451999331054531731
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Floor
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _NORMALMAP
m_InvalidKeywords:
- _LIGHTMAPPING_DYNAMIC_LIGHTMAPS
- _LIGHTMAPPING_REALTIME
- _UVSEC_UV1
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: 884b8253f926d4308b1586ed520d7a49, type: 3}
m_Scale: {x: 2, y: 2}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: ba5918c68ce8d4ce5b5f5dc19f5bb4bc, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 5, y: 5}
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: 2, y: 2}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 884b8253f926d4308b1586ed520d7a49, type: 3}
m_Scale: {x: 2, y: 2}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Occlusion:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: 943181a31ab5a411496dc4b0d6a41630, type: 3}
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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 0.02
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EmissionScaleUI: 1
- _EnvironmentReflections: 1
- _GlossMapScale: 0.538
- _Glossiness: 0.221
- _GlossyReflections: 1
- _Lightmapping: 1
- _Metallic: 0.504
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.0104
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.221
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0.99999994}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecularColor: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,135 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1932732611494234441
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: GlossBlack
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
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: 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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.822
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.822
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0, g: 0, b: 0, a: 1}
- _Color: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,148 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Gold
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _LIGHTMAPPING_DYNAMIC_LIGHTMAPS
- _LIGHTMAPPING_REALTIME
- _UVSEC_UV1
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
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: 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}
- _Occlusion:
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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EmissionScaleUI: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.97
- _GlossyReflections: 1
- _Lightmapping: 1
- _Metallic: 1
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.97
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 0.8088235, g: 0.6295969, b: 0.3033088, a: 1}
m_BuildTextureStacks: []
--- !u!114 &7046466507556892669
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: 7

View File

@ -0,0 +1,149 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1548179710625287282
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlasticGlossy
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
m_InvalidKeywords:
- _LIGHTMAPPING_DYNAMIC_LIGHTMAPS
- _LIGHTMAPPING_REALTIME
- _UVSEC_UV1
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
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: 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}
- _Occlusion:
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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EmissionScaleUI: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.8
- _GlossyReflections: 1
- _Lightmapping: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.8
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0, g: 0.78942597, b: 0.79607844, a: 1}
- _Color: {r: 0, g: 0.78942597, b: 0.79607844, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,135 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1382865502905882176
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Red
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
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: 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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.752
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.752
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 0, b: 0, a: 1}
- _Color: {r: 1, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,149 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7227990211004394089
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Silk
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
m_InvalidKeywords:
- _LIGHTMAPPING_DYNAMIC_LIGHTMAPS
- _LIGHTMAPPING_REALTIME
- _UVSEC_UV1
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
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: 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}
- _Occlusion:
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}
- _SpecGlossMap:
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:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EmissionScaleUI: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.6
- _GlossyReflections: 1
- _Lightmapping: 1
- _Metallic: 0.75
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.49411762, g: 0.145098, b: 0.16470584, a: 1}
- _Color: {r: 0.49411762, g: 0.14509797, b: 0.16470581, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 0.74264705, g: 0.20750435, b: 0.216731, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,152 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-8800328458050052607
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wall
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _NORMALMAP
- _OCCLUSIONMAP
- _PARALLAXMAP
- _SPECGLOSSMAP
m_InvalidKeywords:
- _LIGHTMAPPING_DYNAMIC_LIGHTMAPS
- _LIGHTMAPPING_REALTIME
- _UVSEC_UV1
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: e7270b60e133d41c9b29cd72997edbfc, type: 3}
m_Scale: {x: 3, y: 3}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: 7c7d41484c0864a989f443933ca47cb1, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 3.3333333, y: 3.3333333}
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: 3, y: 3}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: e7270b60e133d41c9b29cd72997edbfc, type: 3}
m_Scale: {x: 3, y: 3}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Occlusion:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: 7e52e9d36451244f3a507e226fdaad41, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 2800000, guid: 1187419c16b3443dbb96c4ac1c193ad1, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 2800000, guid: a1d43acc22aa4427f89ca56382ce5272, type: 3}
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:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 0.02
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EmissionScaleUI: 1
- _EnvironmentReflections: 1
- _GlossMapScale: 0.325
- _Glossiness: 0.311
- _GlossyReflections: 1
- _Lightmapping: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.0203
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.311
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0.99999994}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecularColor: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1901971205018296}
m_IsPrefabParent: 1
--- !u!1 &1901971205018296
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4429587239378596}
- component: {fileID: 33797767686321082}
- component: {fileID: 135711264599091526}
- component: {fileID: 23869898302054552}
- component: {fileID: 54873775769405296}
- component: {fileID: 114393423543620178}
m_Layer: 0
m_Name: BulletArrow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4429587239378596
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &23869898302054552
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 27170b1587adc40ce89eeb3186043090, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &33797767686321082
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54873775769405296
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114393423543620178
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
target: {fileID: 4429587239378596}
active: 1
ignoreFrames: 0
duration: 0.5
continuous: 0
smooth: 0
checkWorldPosition: 1
minDistance: 0.25
checkScreenPosition: 0
minPixelDistance: 10
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 1
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorSequence: 3
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 3
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 1
texture: {fileID: 2800000, guid: 5d67d51a1e4c947a2aaebc1c814a3b7c, type: 3}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 5, y: 1, z: 1}
scaleStartRandomMax: {x: 5, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 2
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 1
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
animationStates:
lookTarget: {fileID: 0}
lookToCamera: 0
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
--- !u!135 &135711264599091526
SphereCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Material: {fileID: 13400000, guid: aff81c7762cdc43aa89dd44d1d60edfe, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1901971205018296}
m_IsPrefabParent: 1
--- !u!1 &1901971205018296
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4429587239378596}
- component: {fileID: 33797767686321082}
- component: {fileID: 135711264599091526}
- component: {fileID: 23869898302054552}
- component: {fileID: 54873775769405296}
- component: {fileID: 114393423543620178}
m_Layer: 0
m_Name: BulletCollision
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4429587239378596
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &23869898302054552
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 27170b1587adc40ce89eeb3186043090, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &33797767686321082
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54873775769405296
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114393423543620178
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
target: {fileID: 4429587239378596}
active: 1
ignoreFrames: 0
duration: 0.5
continuous: 0
smooth: 0
checkWorldPosition: 0
minDistance: 0.25
checkScreenPosition: 0
minPixelDistance: 10
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 1
orientToSurface: 1
ground: 0
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorSequence: 0
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 3
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 1
texture: {fileID: 2800000, guid: c8e532839ba68419faacbb0f572e93a2, type: 3}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 5, y: 1, z: 1}
scaleStartRandomMax: {x: 5, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 2
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 1
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
animationStates:
lookTarget: {fileID: 0}
lookToCamera: 0
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
--- !u!135 &135711264599091526
SphereCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Material: {fileID: 13400000, guid: aff81c7762cdc43aa89dd44d1d60edfe, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1901971205018296}
m_IsPrefabParent: 1
--- !u!1 &1901971205018296
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4429587239378596}
- component: {fileID: 33797767686321082}
- component: {fileID: 135711264599091526}
- component: {fileID: 23869898302054552}
- component: {fileID: 54873775769405296}
- component: {fileID: 114393423543620178}
m_Layer: 0
m_Name: BulletDash
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4429587239378596
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &23869898302054552
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 27170b1587adc40ce89eeb3186043090, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &33797767686321082
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54873775769405296
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114393423543620178
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
target: {fileID: 4429587239378596}
active: 1
ignoreFrames: 0
duration: 0.5
continuous: 1
smooth: 0
checkWorldPosition: 0
minDistance: 0.1
checkScreenPosition: 1
minPixelDistance: 10
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 0
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
colorOverTime:
serializedVersion: 2
key0: {r: 0.8897059, g: 0.8897059, b: 0.8897059, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorSequence: 0
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 3
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 5
texture: {fileID: 0}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 1, y: 1, z: 1}
scaleStartRandomMax: {x: 1, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 2
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 0
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
animationStates:
lookTarget: {fileID: 0}
lookToCamera: 1
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
--- !u!135 &135711264599091526
SphereCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Material: {fileID: 13400000, guid: aff81c7762cdc43aa89dd44d1d60edfe, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1901971205018296}
m_IsPrefabParent: 1
--- !u!1 &1901971205018296
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4429587239378596}
- component: {fileID: 33797767686321082}
- component: {fileID: 135711264599091526}
- component: {fileID: 23869898302054552}
- component: {fileID: 54873775769405296}
- component: {fileID: 114393423543620178}
m_Layer: 0
m_Name: BulletDiscrete
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4429587239378596
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &23869898302054552
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 27170b1587adc40ce89eeb3186043090, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &33797767686321082
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54873775769405296
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114393423543620178
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
target: {fileID: 4429587239378596}
active: 1
ignoreFrames: 0
duration: 0.5
continuous: 0
smooth: 0
checkWorldPosition: 0
minDistance: 0.1
checkScreenPosition: 1
minPixelDistance: 7
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 0
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorSequence: 0
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 3
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 0
texture: {fileID: 0}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 0.3, y: 0.1, z: 0.1}
scaleStartRandomMax: {x: 0.5, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 2
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 1
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
animationStates:
lookTarget: {fileID: 0}
lookToCamera: 1
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
--- !u!135 &135711264599091526
SphereCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Material: {fileID: 13400000, guid: aff81c7762cdc43aa89dd44d1d60edfe, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1901971205018296}
m_IsPrefabParent: 1
--- !u!1 &1901971205018296
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4429587239378596}
- component: {fileID: 33797767686321082}
- component: {fileID: 135711264599091526}
- component: {fileID: 23869898302054552}
- component: {fileID: 54873775769405296}
- component: {fileID: 114393423543620178}
m_Layer: 0
m_Name: BulletGround
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4429587239378596
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &23869898302054552
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 27170b1587adc40ce89eeb3186043090, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &33797767686321082
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54873775769405296
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114393423543620178
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
target: {fileID: 4429587239378596}
active: 1
ignoreFrames: 0
duration: 0.5
continuous: 0
smooth: 0
checkWorldPosition: 1
minDistance: 0.05
checkScreenPosition: 0
minPixelDistance: 10
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 1
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorSequence: 0
color: {r: 0, g: 0, b: 0, a: 1}
colorCycleDuration: 3
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 0
texture: {fileID: 0}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 0.3, y: 1, z: 1}
scaleStartRandomMax: {x: 0.3, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 2
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 1
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
animationStates:
lookTarget: {fileID: 0}
lookToCamera: 1
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
--- !u!135 &135711264599091526
SphereCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Material: {fileID: 13400000, guid: aff81c7762cdc43aa89dd44d1d60edfe, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1901971205018296}
m_IsPrefabParent: 1
--- !u!1 &1901971205018296
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4429587239378596}
- component: {fileID: 33797767686321082}
- component: {fileID: 135711264599091526}
- component: {fileID: 23869898302054552}
- component: {fileID: 54873775769405296}
- component: {fileID: 114393423543620178}
m_Layer: 0
m_Name: BulletRainbow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4429587239378596
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &23869898302054552
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 27170b1587adc40ce89eeb3186043090, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &33797767686321082
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54873775769405296
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114393423543620178
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
target: {fileID: 4429587239378596}
active: 1
ignoreFrames: 0
duration: 0.5
continuous: 1
smooth: 0
checkWorldPosition: 0
minDistance: 0.1
checkScreenPosition: 1
minPixelDistance: 10
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 0
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorSequence: 2
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 1
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 0
texture: {fileID: 0}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 1, y: 1, z: 1}
scaleStartRandomMax: {x: 1, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 2
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 0
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
animationStates:
lookTarget: {fileID: 0}
lookToCamera: 1
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
--- !u!135 &135711264599091526
SphereCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Material: {fileID: 13400000, guid: aff81c7762cdc43aa89dd44d1d60edfe, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,247 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1901971205018296}
m_IsPrefabParent: 1
--- !u!1 &1901971205018296
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4429587239378596}
- component: {fileID: 33797767686321082}
- component: {fileID: 135711264599091526}
- component: {fileID: 23869898302054552}
- component: {fileID: 54873775769405296}
- component: {fileID: 114393423543620178}
m_Layer: 0
m_Name: BulletSmooth
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4429587239378596
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.03, y: 0.03, z: 0.03}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &23869898302054552
MeshRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: 27170b1587adc40ce89eeb3186043090, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &33797767686321082
MeshFilter:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!54 &54873775769405296
Rigidbody:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114393423543620178
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 47f233e4c5d6f4aa6a1618016c2233f3, type: 3}
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
target: {fileID: 4429587239378596}
active: 1
ignoreFrames: 0
duration: 0.5
continuous: 1
smooth: 0
checkWorldPosition: 0
minDistance: 0.1
checkScreenPosition: 1
minPixelDistance: 10
maxStepsPerFrame: 12
checkTime: 0
timeInterval: 1
checkCollisions: 0
orientToSurface: 1
ground: 0
surfaceOffset: 0.05
collisionLayerMask:
serializedVersion: 2
m_Bits: 4294967295
drawBehind: 1
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65535
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
colorSequence: 4
color: {r: 1, g: 1, b: 1, a: 1}
colorCycleDuration: 3
pingPongSpeed: 1
colorStartPalette:
serializedVersion: 2
key0: {r: 1, g: 0, b: 0, a: 1}
key1: {r: 0, g: 1, b: 0, a: 1}
key2: {r: 0, g: 0, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 32768
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
cam: {fileID: 0}
effect: 0
texture: {fileID: 0}
scale: {x: 1, y: 1, z: 1}
scaleStartRandomMin: {x: 1, y: 1, z: 1}
scaleStartRandomMax: {x: 1, y: 1, z: 1}
scaleOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 2
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
- serializedVersion: 2
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
scaleUniform: 0
localPositionRandomMin: {x: 0, y: 0, z: 0}
localPositionRandomMax: {x: 0, y: 0, z: 0}
laserBandWidth: 0.1
laserIntensity: 20
laserFlash: 0.2
animationStates:
lookTarget: {fileID: 0}
lookToCamera: 1
textureCutOff: 0.25
normalThreshold: 0.3
useLastAnimationState: 0
maxBatches: 50
--- !u!135 &135711264599091526
SphereCollider:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1901971205018296}
m_Material: {fileID: 13400000, guid: aff81c7762cdc43aa89dd44d1d60edfe, type: 2}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Center: {x: 0, y: 0, z: 0}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
using UnityEngine;
namespace TrailsFX.Demos {
public class MoveObject : MonoBehaviour
{
void Update ()
{
Rigidbody rb = GetComponent<Rigidbody> ();
if (rb == null)
return;
Vector3 direction = Vector3.zero;
if (Input.GetKey (KeyCode.A)) {
direction = Vector3.right;
}
if (Input.GetKey (KeyCode.D)) {
direction = Vector3.left;
}
if (Input.GetKey (KeyCode.W)) {
direction = Vector3.back;
}
if (Input.GetKey (KeyCode.S)) {
direction = Vector3.forward;
}
rb.AddForce (direction * 10);
}
}
}

View File

@ -0,0 +1,31 @@
using UnityEngine;
namespace TrailsFX.Demos {
public class RotateObject : MonoBehaviour
{
public float speed = 100f;
Vector3 eulerAngles;
void Start ()
{
SetAngles ();
}
void Update ()
{
transform.Rotate (eulerAngles * (Time.deltaTime * speed));
if (Random.value > 0.995f) {
SetAngles ();
}
}
void SetAngles ()
{
eulerAngles = new Vector3 (Random.value - 0.5f, Random.value - 0.5f, Random.value - 0.5f);
}
}
}

View File

@ -0,0 +1,68 @@
using UnityEngine;
namespace TrailsFX.Demos {
public class Shooter : MonoBehaviour {
public float timeInterval = 0.3f;
public GameObject[] bulletPrefabs;
Quaternion targetRot;
float lastTargetTime;
Vector3 lookAt, previousLookAt;
GameObject[] bulletPool;
int poolIndex;
Vector3 startPos;
void Start() {
startPos = transform.position;
bulletPool = new GameObject[20];
previousLookAt = Vector3.up;
NewTarget();
}
void Update() {
float deltaTime = Time.deltaTime;
if (Vector3.Distance(startPos, transform.position) < 0.002f) {
if (Time.time - lastTargetTime > timeInterval) {
NewTarget();
Shoot();
}
transform.rotation = Quaternion.Lerp(transform.rotation, targetRot, deltaTime * 5f);
} else {
lastTargetTime = Time.time;
}
transform.position = Vector3.Lerp(transform.position, startPos, deltaTime * 4f);
}
void NewTarget() {
lookAt = new Vector3(Random.Range(-1f, 1f), Random.Range(0.5f, 1f), Random.Range(-1f, 1f));
targetRot.SetFromToRotation(previousLookAt, lookAt);
previousLookAt = lookAt;
lastTargetTime = Time.time;
}
void Shoot() {
if (++poolIndex >= bulletPool.Length) {
poolIndex = 0;
}
GameObject bullet = bulletPool[poolIndex];
if (bulletPool[poolIndex] == null) {
GameObject bulletPrefab = bulletPrefabs[Random.Range(0, bulletPrefabs.Length)];
bullet = Instantiate<GameObject>(bulletPrefab);
bulletPool[poolIndex] = bullet;
}
Vector3 cannonTip = transform.TransformPoint(new Vector3(0, 1.1f, 0));
Vector3 direction = (cannonTip - transform.position).normalized;
transform.position -= direction * 0.05f;
bullet.transform.position = cannonTip;
bullet.GetComponent<Rigidbody>().velocity = direction * (2f + Random.value);
bullet.GetComponent<Renderer>().enabled = true;
TrailEffect trail = bullet.GetComponent<TrailEffect>();
trail.Clear();
trail.duration = 0.5f + (Random.value * 2f);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,2 @@
[InternetShortcut]
URL=https://kronnect.com/guides-category/trails-fx/

View File

@ -0,0 +1,2 @@
[InternetShortcut]
URL=https://kronnect.com

View File

@ -0,0 +1,416 @@
using UnityEditor;
using UnityEngine;
namespace TrailsFX {
[CustomEditor(typeof(TrailEffect))]
[CanEditMultipleObjects]
public class TrailEffectEditor : Editor {
SerializedProperty profile, profileSync, executeInEditMode, targetProp, active, ignoreVisibility, ignoreFrames;
SerializedProperty continuous, smooth;
SerializedProperty checkWorldPosition, minDistance, worldPositionRelativeOption, worldPositionRelativeTransform;
SerializedProperty checkScreenPosition, minPixelDistance;
SerializedProperty checkTime, timeInterval;
SerializedProperty checkCollisions, collisionLayerMask, orientToSurface, surfaceOffset;
SerializedProperty duration, maxStepsPerFrame, stepsBufferSize;
SerializedProperty mask;
SerializedProperty drawBehind, cullMode, subMeshMask, cam, lookTarget, lookToCamera, ground;
SerializedProperty colorSequence, color, colorCycleDuration, colorCycleLoop, pingPongSpeed, colorStartPalette, colorOverTime;
SerializedProperty colorRamp, colorRampTexture, colorRampStart, colorRampEnd, fadeOut;
SerializedProperty laserBandWidth, laserIntensity, laserFlash;
SerializedProperty trailTint;
SerializedProperty effect, customMaterial, texture, textureCutOff;
SerializedProperty localPositionRandomMin, localPositionRandomMax, parent;
SerializedProperty scale, scaleStartRandomMin, scaleStartRandomMax, scaleOverTime, scaleUniform, ignoreTransformScale;
SerializedProperty normalThreshold;
SerializedProperty useLastAnimationState, maxBatches, meshPoolSize, interpolate, animationStates, animator;
SerializedProperty cameraDistanceFade, cameraDistanceFadeNear, cameraDistanceFadeFar;
bool profileChanged, enableProfileApply;
TrailEffect thisEffect;
void OnEnable() {
profile = serializedObject.FindProperty("profile");
profileSync = serializedObject.FindProperty("profileSync");
targetProp = serializedObject.FindProperty("target");
executeInEditMode = serializedObject.FindProperty("executeInEditMode");
active = serializedObject.FindProperty("_active");
ignoreVisibility = serializedObject.FindProperty("ignoreVisibility");
ignoreFrames = serializedObject.FindProperty("ignoreFrames");
continuous = serializedObject.FindProperty("continuous");
smooth = serializedObject.FindProperty("smooth");
checkWorldPosition = serializedObject.FindProperty("checkWorldPosition");
minDistance = serializedObject.FindProperty("minDistance");
worldPositionRelativeOption = serializedObject.FindProperty("worldPositionRelativeOption");
worldPositionRelativeTransform = serializedObject.FindProperty("worldPositionRelativeTransform");
checkScreenPosition = serializedObject.FindProperty("checkScreenPosition");
minPixelDistance = serializedObject.FindProperty("minPixelDistance");
checkTime = serializedObject.FindProperty("checkTime");
checkCollisions = serializedObject.FindProperty("checkCollisions");
timeInterval = serializedObject.FindProperty("timeInterval");
collisionLayerMask = serializedObject.FindProperty("collisionLayerMask");
orientToSurface = serializedObject.FindProperty("orientToSurface");
surfaceOffset = serializedObject.FindProperty("surfaceOffset");
duration = serializedObject.FindProperty("duration");
maxStepsPerFrame = serializedObject.FindProperty("maxStepsPerFrame");
stepsBufferSize = serializedObject.FindProperty("stepsBufferSize");
mask = serializedObject.FindProperty("mask");
drawBehind = serializedObject.FindProperty("drawBehind");
cameraDistanceFade = serializedObject.FindProperty("cameraDistanceFade");
cameraDistanceFadeNear = serializedObject.FindProperty("cameraDistanceFadeNear");
cameraDistanceFadeFar = serializedObject.FindProperty("cameraDistanceFadeFar");
cullMode = serializedObject.FindProperty("cullMode");
subMeshMask = serializedObject.FindProperty("subMeshMask");
cam = serializedObject.FindProperty("cam");
colorSequence = serializedObject.FindProperty("colorSequence");
color = serializedObject.FindProperty("color");
colorCycleDuration = serializedObject.FindProperty("colorCycleDuration");
colorCycleLoop = serializedObject.FindProperty("colorCycleLoop");
pingPongSpeed = serializedObject.FindProperty("pingPongSpeed");
colorStartPalette = serializedObject.FindProperty("colorStartPalette");
colorOverTime = serializedObject.FindProperty("colorOverTime");
colorRamp = serializedObject.FindProperty("colorRamp");
colorRampTexture = serializedObject.FindProperty("colorRampTexture");
colorRampStart = serializedObject.FindProperty("colorRampStart");
colorRampEnd = serializedObject.FindProperty("colorRampEnd");
fadeOut = serializedObject.FindProperty("fadeOut");
scaleOverTime = serializedObject.FindProperty("scaleOverTime");
effect = serializedObject.FindProperty("effect");
customMaterial = serializedObject.FindProperty("customMaterial");
texture = serializedObject.FindProperty("texture");
textureCutOff = serializedObject.FindProperty("textureCutOff");
localPositionRandomMin = serializedObject.FindProperty("localPositionRandomMin");
localPositionRandomMax = serializedObject.FindProperty("localPositionRandomMax");
parent = serializedObject.FindProperty("parent");
scale = serializedObject.FindProperty("scale");
scaleStartRandomMin = serializedObject.FindProperty("scaleStartRandomMin");
scaleStartRandomMax = serializedObject.FindProperty("scaleStartRandomMax");
scaleUniform = serializedObject.FindProperty("scaleUniform");
ignoreTransformScale = serializedObject.FindProperty("ignoreTransformScale");
lookTarget = serializedObject.FindProperty("lookTarget");
lookToCamera = serializedObject.FindProperty("lookToCamera");
ground = serializedObject.FindProperty("ground");
useLastAnimationState = serializedObject.FindProperty("useLastAnimationState");
maxBatches = serializedObject.FindProperty("maxBatches");
meshPoolSize = serializedObject.FindProperty("meshPoolSize");
interpolate = serializedObject.FindProperty("interpolate");
animationStates = serializedObject.FindProperty("animationStates");
animator = serializedObject.FindProperty("animator");
normalThreshold = serializedObject.FindProperty("normalThreshold");
laserBandWidth = serializedObject.FindProperty("laserBandWidth");
laserIntensity = serializedObject.FindProperty("laserIntensity");
laserFlash = serializedObject.FindProperty("laserFlash");
trailTint = serializedObject.FindProperty("trailTint");
thisEffect = (TrailEffect)target;
thisEffect.CheckEditorSettings();
}
public override void OnInspectorGUI() {
EditorGUILayout.Separator();
serializedObject.Update();
if (!SystemInfo.supportsInstancing) {
EditorGUILayout.HelpBox("Current platform does not support GPU instancing. Trail effects won't render correctly.", MessageType.Error);
}
EditorGUILayout.BeginHorizontal();
TrailEffectProfile prevProfile = (TrailEffectProfile)profile.objectReferenceValue;
EditorGUILayout.PropertyField(profile, new GUIContent("Profile", "Create or load stored presets."));
if (profile.objectReferenceValue != null) {
if (prevProfile != profile.objectReferenceValue) {
profileChanged = true;
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
GUILayout.Label("", GUILayout.Width(EditorGUIUtility.labelWidth));
if (GUILayout.Button(new GUIContent("Create", "Creates a new profile which is a copy of the current settings."), GUILayout.Width(60))) {
CreateProfile();
profileChanged = false;
enableProfileApply = false;
GUIUtility.ExitGUI();
return;
}
if (GUILayout.Button(new GUIContent("Load", "Updates settings with the profile configuration."), GUILayout.Width(60))) {
profileChanged = true;
}
if (!enableProfileApply) {
GUI.enabled = false;
}
if (GUILayout.Button(new GUIContent("Save", "Updates profile configuration with changes in this inspector."), GUILayout.Width(60))) {
enableProfileApply = false;
profileChanged = false;
thisEffect.profile.Save(thisEffect);
EditorUtility.SetDirty(thisEffect.profile);
GUIUtility.ExitGUI();
return;
}
GUI.enabled = true;
EditorGUILayout.EndHorizontal();
EditorGUILayout.PropertyField(profileSync, new GUIContent("Sync With Profile", "If disabled, profile settings will only be loaded when clicking 'Load' which allows you to customize settings after loading a profile and keep those changes."));
EditorGUILayout.BeginHorizontal();
} else {
if (GUILayout.Button(new GUIContent("Create", "Creates a new profile which is a copy of the current settings."), GUILayout.Width(60))) {
CreateProfile();
GUIUtility.ExitGUI();
return;
}
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.PropertyField(targetProp, new GUIContent("Target", "The object to which trails are attached."));
Transform t = (Transform)targetProp.objectReferenceValue;
if (t != null) {
if (t.GetComponentsInChildren<Renderer>().Length > 1) {
EditorGUILayout.HelpBox("More than 1 renderer found under target. Only the first one will be used. If you want to add trails to the others, add a TrailEffect component to each renderer.", MessageType.Warning);
}
}
EditorGUILayout.PropertyField(executeInEditMode, new GUIContent("Execute In Edit Mode", "Render effect also when not in Play Mode."));
EditorGUILayout.Separator();
EditorGUILayout.BeginHorizontal();
EditorGUILayout.LabelField("Triggers", EditorStyles.boldLabel);
if (GUILayout.Button("Help", GUILayout.Width(60))) {
EditorUtility.DisplayDialog("Quick help", "Move mouse over any property label to show a tooltip with additional info.\n\nIf you have any question, issue or suggestion, please contact us (check README file!).", "Ok");
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.PropertyField(active, new GUIContent("Active", "Enable new trails. If this property is disabled, object won't render more trails when move but existing trail will be visible until it fades out."));
EditorGUILayout.PropertyField(ignoreVisibility);
EditorGUILayout.PropertyField(ignoreFrames, new GUIContent("Ignore First Frames", "Number of initial frames to ignore. Useful to ignore first frames while animation starts."));
EditorGUILayout.PropertyField(continuous, new GUIContent("Continuous", "Leave a continuous trail."));
if (!continuous.boolValue) {
EditorGUILayout.PropertyField(checkWorldPosition, new GUIContent("World Position Change", "Adds a trail when the position of the object in world space changes."));
if (checkWorldPosition.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(minDistance);
EditorGUILayout.PropertyField(smooth);
EditorGUILayout.PropertyField(worldPositionRelativeOption, new GUIContent("Relative To", "You can optionally specify a reference position or pivot determined by another gameobject. This can be useful if you want to track position changes with respect to a parent object."));
if (worldPositionRelativeOption.intValue == (int)PositionChangeRelative.OtherGameObject) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(worldPositionRelativeTransform, new GUIContent("GameObject"));
EditorGUI.indentLevel--;
}
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(checkScreenPosition, new GUIContent("Screen Position Change", "Adds a trail when the screen position of the object changes."));
if (checkScreenPosition.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(minPixelDistance);
EditorGUILayout.PropertyField(cam, new GUIContent("Camera", "A reference camera to compute pixel distance. If left unassigned the main camera will be picked automatically."));
EditorGUILayout.PropertyField(smooth);
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(checkTime, new GUIContent("Time Interval", "Adds a trail every n seconds or fractions of seconds."));
if (checkTime.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(timeInterval, new GUIContent("Interval", "Interval in seconds."));
EditorGUI.indentLevel--;
}
}
EditorGUILayout.PropertyField(checkCollisions, new GUIContent("Collisions", "Adds a trail when object collides with other geometry."));
if (checkCollisions.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(collisionLayerMask, new GUIContent("Layer Mask"));
EditorGUILayout.PropertyField(orientToSurface, new GUIContent("Orient To Surface"));
EditorGUILayout.PropertyField(surfaceOffset, new GUIContent("Surface Offset"));
EditorGUI.indentLevel--;
}
EditorGUILayout.Separator();
EditorGUILayout.LabelField("Appearance", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(effect, new GUIContent("Trail Effect", "The type of trail to render."));
EditorGUI.indentLevel++;
switch (effect.intValue) {
case (int)TrailStyle.Color:
EditorGUILayout.PropertyField(colorRamp, new GUIContent("Color Ramp"));
if (colorRamp.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(colorRampTexture, new GUIContent("Color Ramp Texture"));
EditorGUILayout.PropertyField(colorRampStart, new GUIContent("Ramp Start Anchor", "Transform (part of the target) which points to the start of the color ramp. For example, for a sword, create two empty objects (start and end) under the sword to map the ramp to the sword edge."));
EditorGUILayout.PropertyField(colorRampEnd, new GUIContent("Ramp End Anchor", "Transform (part of the target) which points to the end of the color ramp. For example, for a sword, create two empty objects (start and end) under the sword to map the ramp to the sword edge."));
EditorGUI.indentLevel--;
}
break;
case (int)TrailStyle.TextureStamp:
EditorGUILayout.PropertyField(texture);
EditorGUILayout.PropertyField(textureCutOff, new GUIContent("Cut Off", "Alpha threshold for texture transparency."));
EditorGUILayout.PropertyField(lookTarget, new GUIContent("Look Target", "Make the texture face specified target."));
if (lookTarget.objectReferenceValue == null) {
EditorGUILayout.PropertyField(lookToCamera, new GUIContent("Look To Camera"));
}
break;
case (int)TrailStyle.Clone:
EditorGUILayout.PropertyField(textureCutOff, new GUIContent("Luminance Cut Off"));
break;
case (int)TrailStyle.Outline:
EditorGUILayout.PropertyField(normalThreshold, new GUIContent("Normal Threshold"));
break;
case (int)TrailStyle.Dash:
EditorGUILayout.PropertyField(laserBandWidth, new GUIContent("Separation"));
EditorGUILayout.PropertyField(laserIntensity, new GUIContent("Intensity"));
EditorGUILayout.PropertyField(laserFlash, new GUIContent("Flash"));
break;
case (int)TrailStyle.SpaceDistortion:
EditorGUILayout.PropertyField(trailTint, new GUIContent("Additive Tint"));
#if UNITY_2019_3_OR_NEWER
try {
UnityEngine.Rendering.RenderPipelineAsset pipe = UnityEngine.Rendering.GraphicsSettings.currentRenderPipeline;
if (pipe != null) {
string pipeName = pipe.ToString();
if (pipeName.Contains("Universal") || pipeName.Contains("URP")) {
bool opaqueTexture = (bool)pipe.GetType().GetProperty("supportsCameraOpaqueTexture").GetValue(pipe, null);
if (!opaqueTexture) {
EditorGUILayout.HelpBox("Space Distortion requires Opaque Texture option in the Universal Rendering Pipeline asset!", MessageType.Error);
if (GUILayout.Button("Go to Universal Rendering Pipeline Asset")) {
Selection.activeObject = pipe;
}
}
}
}
} catch { }
#endif
break;
case (int)TrailStyle.Custom:
EditorGUILayout.PropertyField(customMaterial);
break;
}
if (((TrailStyle)effect.intValue).supportsColor()) {
EditorGUILayout.PropertyField(colorSequence, new GUIContent("Color Sequence", "The color used by each trail snapshot"));
EditorGUI.indentLevel++;
switch (colorSequence.intValue) {
case (int)ColorSequence.Cycle:
EditorGUILayout.PropertyField(colorStartPalette, new GUIContent("Palette"));
EditorGUILayout.PropertyField(colorCycleDuration, new GUIContent("Cycle Duration"));
EditorGUILayout.PropertyField(colorCycleLoop, new GUIContent("Loop"));
break;
case (int)ColorSequence.PingPong:
EditorGUILayout.PropertyField(colorStartPalette, new GUIContent("Palette"));
EditorGUILayout.PropertyField(pingPongSpeed, new GUIContent("Speed"));
break;
case (int)ColorSequence.Random:
case (int)ColorSequence.FixedRandom:
EditorGUILayout.PropertyField(colorStartPalette, new GUIContent("Palette"));
break;
case (int)ColorSequence.Fixed:
EditorGUILayout.PropertyField(color);
break;
}
EditorGUI.indentLevel--;
EditorGUILayout.PropertyField(colorOverTime, new GUIContent("Color Over Time", "Tint color and alpha to be multiplied to the start color."));
}
EditorGUILayout.PropertyField(fadeOut, new GUIContent("Fade Out", "Applies fade out to the trail color over time."));
EditorGUI.indentLevel--;
EditorGUILayout.PropertyField(duration);
EditorGUILayout.PropertyField(maxStepsPerFrame, new GUIContent("Max Steps Per Frame", "If the object moves fast, the object is drawn several times along the trajectory depending on trigger options above like 'World Position Change', 'Screen Position Change', etc. This property controls the maximum number of trail steps or repetitions per frame."));
EditorGUILayout.PropertyField(stepsBufferSize, new GUIContent("Steps Buffer Size", "Max number of active trail steps for this object. Should be greater than FPS multiplied by the Max Steps Per Frame. For example, if the 'Max Steps Per Frame' is 15 and the expected FPS of the game is 60, the buffer size should be at least 900 (15x60). Please note that increasing this value beyond necessary will degrade performace."));
EditorGUILayout.PropertyField(mask, new GUIContent("Mask (R)"));
EditorGUILayout.PropertyField(drawBehind, new GUIContent("Draw Behind", "Forces the trail to be rendered behind the object."));
EditorGUILayout.PropertyField(cameraDistanceFade);
if (cameraDistanceFade.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(cameraDistanceFadeNear, new GUIContent("Near Distance"));
EditorGUILayout.PropertyField(cameraDistanceFadeFar, new GUIContent("Far Distance"));
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(cullMode, new GUIContent("Cull Mode", "Cull mode for trail rendering."));
EditorGUILayout.PropertyField(subMeshMask, new GUIContent("SubMesh Mask", "Specify which submeshes are included in the trail. This is a bitmask: -1 = all (default value), 1 = first submesh only, 2 = second submesh only, 3 means first and second submesh only, 4 = third submesh only, and so on."));
EditorGUILayout.LabelField(new GUIContent("Position", "By default, trail is generated at the object position. In this section you can apply displacement for the source position or specify that the trail should be stamped on the ground."));
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(localPositionRandomMin, new GUIContent("Random Min"));
EditorGUILayout.PropertyField(localPositionRandomMax, new GUIContent("Random Max"));
EditorGUILayout.PropertyField(parent);
EditorGUILayout.PropertyField(ground, new GUIContent("Ground", "Position the texture at the ground beneath the object"));
if (ground.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(orientToSurface, new GUIContent("Orient To Surface"));
EditorGUI.indentLevel--;
}
EditorGUI.indentLevel--;
EditorGUILayout.LabelField(new GUIContent("Scale", "Scale control for the trail effect."));
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(ignoreTransformScale);
EditorGUILayout.PropertyField(scaleUniform, new GUIContent("Uniform Scale"));
if (scaleUniform.boolValue) {
Vector3 baseScale = scale.vector3Value;
baseScale.x = EditorGUILayout.FloatField(new GUIContent("Base Scale"), baseScale.x);
baseScale.y = baseScale.z = baseScale.x;
scale.vector3Value = baseScale;
Vector3 min = scaleStartRandomMin.vector3Value;
min.x = EditorGUILayout.FloatField(new GUIContent("Random Min"), min.x);
scaleStartRandomMin.vector3Value = min;
Vector3 max = scaleStartRandomMax.vector3Value;
max.x = EditorGUILayout.FloatField(new GUIContent("Random Max"), max.x);
scaleStartRandomMax.vector3Value = max;
} else {
EditorGUILayout.PropertyField(scale, new GUIContent("Base Scale"));
EditorGUILayout.PropertyField(scaleStartRandomMin, new GUIContent("Random Min"));
EditorGUILayout.PropertyField(scaleStartRandomMax, new GUIContent("Random Max"));
}
EditorGUILayout.PropertyField(scaleOverTime, new GUIContent("Scale Over Time"));
EditorGUI.indentLevel--;
EditorGUILayout.LabelField("Skinned Mesh Only");
EditorGUI.indentLevel++;
GUI.enabled = thisEffect.isSkinned;
EditorGUILayout.PropertyField(useLastAnimationState, new GUIContent("Use Last Animation", "Repeats the last animation for the entire trail. This option optimizes the number of batches."));
if (!useLastAnimationState.boolValue) {
EditorGUILayout.PropertyField(maxBatches, new GUIContent("Max Batches", "Can specify the maximum number of batches allowed when rendering animated skinned mesh trails."));
EditorGUILayout.PropertyField(meshPoolSize, new GUIContent("Mesh Pool Size", "Maximum number of baked skinned meshes. Reducing this value will save memory but very long trails may reuse animation steps."));
EditorGUILayout.PropertyField(interpolate, new GUIContent("Interpolate", "Interpolate vertices to provide a smoother effect."));
}
EditorGUILayout.PropertyField(animationStates);
EditorGUILayout.PropertyField(animator);
GUI.enabled = true;
EditorGUI.indentLevel--;
if (serializedObject.ApplyModifiedProperties() || profileChanged) {
if (thisEffect.profile != null) {
if (profileChanged) {
thisEffect.profile.Load(thisEffect);
profileChanged = false;
enableProfileApply = false;
} else {
enableProfileApply = true;
}
}
foreach (TrailEffect effect in targets) {
effect.UpdateMaterialProperties();
}
}
}
void MarkDirty() {
EditorUtility.SetDirty(thisEffect);
UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEngine.SceneManagement.SceneManager.GetActiveScene());
}
#region Profile handling
void CreateProfile() {
TrailEffectProfile newProfile = CreateInstance<TrailEffectProfile>();
newProfile.Save(thisEffect);
AssetDatabase.CreateAsset(newProfile, "Assets/Trails FX Profile.asset");
AssetDatabase.SaveAssets();
EditorUtility.FocusProjectWindow();
Selection.activeObject = newProfile;
thisEffect.profile = newProfile;
}
#endregion
}
}

View File

@ -0,0 +1,287 @@
using UnityEditor;
using UnityEngine;
namespace TrailsFX {
[CustomEditor(typeof(TrailEffectProfile))]
[CanEditMultipleObjects]
public class TrailEffectProfileEditor : Editor {
SerializedProperty active, ignoreVisibility, ignoreFrames;
SerializedProperty continuous, smooth;
SerializedProperty checkWorldPosition, minDistance, worldPositionRelativeOption, worldPositionRelativeTransform;
SerializedProperty checkScreenPosition, minPixelDistance;
SerializedProperty checkTime, timeInterval;
SerializedProperty checkCollisions, collisionLayerMask, orientToSurface, surfaceOffset;
SerializedProperty duration, maxStepsPerFrame;
SerializedProperty mask;
SerializedProperty drawBehind, cullMode, subMeshMask, lookTarget, lookToCamera, ground;
SerializedProperty colorSequence, color, colorCycleDuration, colorCycleLoop, pingPongSpeed, colorStartPalette, colorOverTime, colorRamp, colorRampTexture, fadeOut;
SerializedProperty laserBandWidth, laserIntensity, laserFlash;
SerializedProperty trailTint;
SerializedProperty effect, customMaterial, texture, textureCutOff;
SerializedProperty localPositionRandomMin, localPositionRandomMax;
SerializedProperty scale, scaleStartRandomMin, scaleStartRandomMax, scaleOverTime, scaleUniform, ignoreTransformScale;
SerializedProperty normalThreshold;
SerializedProperty useLastAnimationState, maxBatches, meshPoolSize, interpolate, animationStates;
SerializedProperty cameraDistanceFade, cameraDistanceFadeNear, cameraDistanceFadeFar;
void OnEnable() {
active = serializedObject.FindProperty("active");
ignoreVisibility = serializedObject.FindProperty("ignoreVisibility");
continuous = serializedObject.FindProperty("continuous");
smooth = serializedObject.FindProperty("smooth");
ignoreFrames = serializedObject.FindProperty("ignoreFrames");
checkWorldPosition = serializedObject.FindProperty("checkWorldPosition");
minDistance = serializedObject.FindProperty("minDistance");
worldPositionRelativeOption = serializedObject.FindProperty("worldPositionRelativeOption");
worldPositionRelativeTransform = serializedObject.FindProperty("worldPositionRelativeTransform");
checkScreenPosition = serializedObject.FindProperty("checkScreenPosition");
minPixelDistance = serializedObject.FindProperty("minPixelDistance");
checkTime = serializedObject.FindProperty("checkTime");
checkCollisions = serializedObject.FindProperty("checkCollisions");
timeInterval = serializedObject.FindProperty("timeInterval");
collisionLayerMask = serializedObject.FindProperty("collisionLayerMask");
orientToSurface = serializedObject.FindProperty("orientToSurface");
surfaceOffset = serializedObject.FindProperty("surfaceOffset");
duration = serializedObject.FindProperty("duration");
maxStepsPerFrame = serializedObject.FindProperty("maxStepsPerFrame");
mask = serializedObject.FindProperty("mask");
drawBehind = serializedObject.FindProperty("drawBehind");
cameraDistanceFade = serializedObject.FindProperty("cameraDistanceFade");
cameraDistanceFadeNear = serializedObject.FindProperty("cameraDistanceFadeNear");
cameraDistanceFadeFar = serializedObject.FindProperty("cameraDistanceFadeFar"); cullMode = serializedObject.FindProperty("cullMode");
subMeshMask = serializedObject.FindProperty("subMeshMask");
colorSequence = serializedObject.FindProperty("colorSequence");
colorCycleDuration = serializedObject.FindProperty("colorCycleDuration");
colorCycleLoop = serializedObject.FindProperty("colorCycleLoop");
pingPongSpeed = serializedObject.FindProperty("pingPongSpeed");
color = serializedObject.FindProperty("color");
colorStartPalette = serializedObject.FindProperty("colorStartPalette");
colorOverTime = serializedObject.FindProperty("colorOverTime");
colorRamp = serializedObject.FindProperty("colorRamp");
colorRampTexture = serializedObject.FindProperty("colorRampTexture");
fadeOut = serializedObject.FindProperty("fadeOut");
scaleOverTime = serializedObject.FindProperty("scaleOverTime");
effect = serializedObject.FindProperty("effect");
customMaterial = serializedObject.FindProperty("customMaterial");
texture = serializedObject.FindProperty("texture");
textureCutOff = serializedObject.FindProperty("textureCutOff");
localPositionRandomMin = serializedObject.FindProperty("localPositionRandomMin");
localPositionRandomMax = serializedObject.FindProperty("localPositionRandomMax");
scale = serializedObject.FindProperty("scale");
scaleStartRandomMin = serializedObject.FindProperty("scaleStartRandomMin");
scaleStartRandomMax = serializedObject.FindProperty("scaleStartRandomMax");
scaleUniform = serializedObject.FindProperty("scaleUniform");
ignoreTransformScale = serializedObject.FindProperty("ignoreTransformScale");
lookTarget = serializedObject.FindProperty("lookTarget");
lookToCamera = serializedObject.FindProperty("lookToCamera");
ground = serializedObject.FindProperty("ground");
useLastAnimationState = serializedObject.FindProperty("useLastAnimationState");
maxBatches = serializedObject.FindProperty("maxBatches");
meshPoolSize = serializedObject.FindProperty("meshPoolSize");
interpolate = serializedObject.FindProperty("interpolate");
animationStates = serializedObject.FindProperty("animationStates");
normalThreshold = serializedObject.FindProperty("normalThreshold");
laserBandWidth = serializedObject.FindProperty("laserBandWidth");
laserIntensity = serializedObject.FindProperty("laserIntensity");
laserFlash = serializedObject.FindProperty("laserFlash");
trailTint = serializedObject.FindProperty("trailTint");
}
public override void OnInspectorGUI() {
EditorGUILayout.Separator();
serializedObject.Update();
EditorGUILayout.LabelField("Triggers", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(active, new GUIContent("Active", "Enable new trails."));
EditorGUILayout.PropertyField(ignoreVisibility);
EditorGUILayout.PropertyField(ignoreFrames, new GUIContent("Ignore First Frames", "Number of initial frames to ignore."));
EditorGUILayout.PropertyField(continuous, new GUIContent("Continuous", "Continuous trail."));
if (!continuous.boolValue) {
EditorGUILayout.PropertyField(checkWorldPosition, new GUIContent("World Position Change", "Adds a trail when the position of the object in world space changes."));
if (checkWorldPosition.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(minDistance);
EditorGUILayout.PropertyField(smooth);
EditorGUILayout.PropertyField(worldPositionRelativeOption, new GUIContent("Relative To", "You can optionally specify a reference position or pivot determined by another gameobject. This can be useful if you want to track position changes with respect to a parent object."));
if (worldPositionRelativeOption.intValue == (int)PositionChangeRelative.OtherGameObject) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(worldPositionRelativeTransform, new GUIContent("GameObject"));
EditorGUI.indentLevel--;
}
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(checkScreenPosition, new GUIContent("Screen Position Change", "Adds a trail when the screen position of the object changes."));
if (checkScreenPosition.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(minPixelDistance);
EditorGUILayout.PropertyField(smooth);
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(checkTime, new GUIContent("Time Interval"));
if (checkTime.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(timeInterval, new GUIContent("Interval", "Interval in seconds."));
EditorGUI.indentLevel--;
}
}
EditorGUILayout.PropertyField(checkCollisions, new GUIContent("Collisions"));
if (checkCollisions.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(collisionLayerMask, new GUIContent("Layer Mask"));
EditorGUILayout.PropertyField(orientToSurface, new GUIContent("Orient To Surface"));
EditorGUILayout.PropertyField(surfaceOffset, new GUIContent("Surface Offset"));
EditorGUI.indentLevel--;
}
EditorGUILayout.Separator();
EditorGUILayout.LabelField("Appearance", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(duration);
EditorGUILayout.PropertyField(mask, new GUIContent("Mask (R)"));
EditorGUILayout.PropertyField(drawBehind, new GUIContent("Draw Behind", "Forces the trail to be rendered behind the object."));
EditorGUILayout.PropertyField(cameraDistanceFade);
if (cameraDistanceFade.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(cameraDistanceFadeNear, new GUIContent("Near Distance"));
EditorGUILayout.PropertyField(cameraDistanceFadeFar, new GUIContent("Far Distance"));
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(cullMode, new GUIContent("Cull Mode", "Culling mode for trail rendering."));
EditorGUILayout.PropertyField(subMeshMask, new GUIContent("SubMesh Mask", "Specify which submeshes are included in the trail. This is a bitmask: -1 = all (default value), 1 = first submesh only, 2 = second submesh only, 3 means first and second submesh only, 4 = third submesh only, and so on."));
EditorGUILayout.PropertyField(maxStepsPerFrame, new GUIContent("Max Steps Per Frame", "If the object moves fast, the object is drawn several times along the trajectory depending on the trigger options Min Distance and Min Pixel Distance. This property controls the maximum number of repetitions per frame."));
EditorGUILayout.PropertyField(effect, new GUIContent("Trail Effect"));
EditorGUI.indentLevel++;
switch (effect.intValue) {
case (int)TrailStyle.Color:
EditorGUILayout.PropertyField(colorRamp, new GUIContent("Color Ramp"));
if (colorRamp.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(colorRampTexture, new GUIContent("Color Ramp Texture"));
EditorGUI.indentLevel--;
}
break;
case (int)TrailStyle.TextureStamp:
EditorGUILayout.PropertyField(texture);
EditorGUILayout.PropertyField(textureCutOff, new GUIContent("Cut Off"));
EditorGUILayout.PropertyField(lookTarget, new GUIContent("Look Target"));
if (lookTarget.objectReferenceValue == null) {
EditorGUILayout.PropertyField(lookToCamera, new GUIContent("Look To Camera"));
}
break;
case (int)TrailStyle.Clone:
EditorGUILayout.PropertyField(textureCutOff, new GUIContent("Luminance Cut Off"));
break;
case (int)TrailStyle.Outline:
EditorGUILayout.PropertyField(normalThreshold, new GUIContent("Normal Threshold"));
break;
case (int)TrailStyle.Dash:
EditorGUILayout.PropertyField(laserBandWidth, new GUIContent("Separation"));
EditorGUILayout.PropertyField(laserIntensity, new GUIContent("Intensity"));
EditorGUILayout.PropertyField(laserFlash, new GUIContent("Flash"));
break;
case (int)TrailStyle.SpaceDistortion:
EditorGUILayout.PropertyField(trailTint, new GUIContent("Additive Tint"));
break;
case (int)TrailStyle.Custom:
EditorGUILayout.PropertyField(customMaterial);
break;
}
if (((TrailStyle)effect.intValue).supportsColor()) {
EditorGUILayout.PropertyField(colorSequence, new GUIContent("Color"));
EditorGUI.indentLevel++;
switch (colorSequence.intValue) {
case (int)ColorSequence.Cycle:
EditorGUILayout.PropertyField(colorStartPalette, new GUIContent("Palette"));
EditorGUILayout.PropertyField(colorCycleDuration, new GUIContent("Cycle Duration"));
EditorGUILayout.PropertyField(colorCycleLoop, new GUIContent("Loop"));
break;
case (int)ColorSequence.PingPong:
EditorGUILayout.PropertyField(colorStartPalette, new GUIContent("Palette"));
EditorGUILayout.PropertyField(pingPongSpeed, new GUIContent("Speed"));
break;
case (int)ColorSequence.Random:
case (int)ColorSequence.FixedRandom:
EditorGUILayout.PropertyField(colorStartPalette, new GUIContent("Palette"));
break;
case (int)ColorSequence.Fixed:
EditorGUILayout.PropertyField(color);
break;
}
EditorGUI.indentLevel--;
EditorGUILayout.PropertyField(colorOverTime, new GUIContent("Color Over Time", "Tint color and alpha to be multiplied to the start color."));
EditorGUILayout.PropertyField(colorRamp, new GUIContent("Stylized Color Ramp"));
}
EditorGUILayout.PropertyField(fadeOut, new GUIContent("Fade Out", "Applies fade out to the trail color over time."));
EditorGUILayout.LabelField(new GUIContent("Position"));
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(localPositionRandomMin, new GUIContent("Random Min"));
EditorGUILayout.PropertyField(localPositionRandomMax, new GUIContent("Random Max"));
EditorGUILayout.PropertyField(ground, new GUIContent("Ground", "Position the texture at the ground beneath the object"));
if (ground.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(orientToSurface, new GUIContent("Orient To Surface"));
EditorGUI.indentLevel--;
}
EditorGUI.indentLevel--;
EditorGUILayout.LabelField(new GUIContent("Scale"));
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(ignoreTransformScale);
EditorGUILayout.PropertyField(scaleUniform, new GUIContent("Uniform Scale"));
if (scaleUniform.boolValue) {
Vector3 baseScale = scale.vector3Value;
baseScale.x = EditorGUILayout.FloatField (new GUIContent ("Base Scale"), baseScale.x);
baseScale.y = baseScale.z = baseScale.x;
scale.vector3Value = baseScale;
Vector3 min = scaleStartRandomMin.vector3Value;
min.x = EditorGUILayout.FloatField(new GUIContent("Random Min"), min.x);
scaleStartRandomMin.vector3Value = min;
Vector3 max = scaleStartRandomMax.vector3Value;
max.x = EditorGUILayout.FloatField(new GUIContent("Random Max"), max.x);
scaleStartRandomMax.vector3Value = max;
} else {
EditorGUILayout.PropertyField(scale, new GUIContent("Base Scale"));
EditorGUILayout.PropertyField(scaleStartRandomMin, new GUIContent("Random Min"));
EditorGUILayout.PropertyField(scaleStartRandomMax, new GUIContent("Random Max"));
}
EditorGUILayout.PropertyField(scaleOverTime, new GUIContent("Scale Over Time"));
EditorGUI.indentLevel--;
EditorGUI.indentLevel--;
EditorGUILayout.LabelField("Skinned Mesh Only");
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(useLastAnimationState, new GUIContent("Use Last Animation", "Repeats the last animation for the entire trail. This option optimizes the number of batches."));
if (!useLastAnimationState.boolValue) {
EditorGUILayout.PropertyField(maxBatches, new GUIContent("Max Batches", "Can specify the maximum number of batches allowed when rendering animated skinned mesh trails."));
EditorGUILayout.PropertyField(meshPoolSize, new GUIContent("Mesh Pool Size", "Maximum number of baked skinned meshes. Reducing this value will save memory but very long trails may reuse animation steps."));
EditorGUILayout.PropertyField(interpolate, new GUIContent("Interpolate", "Interpolate vertices to provide a smoother effect."));
}
EditorGUILayout.PropertyField(animationStates, new GUIContent("Animation States", "Add trails only during these animation states."));
EditorGUI.indentLevel--;
if (serializedObject.ApplyModifiedProperties() || (Event.current.type == EventType.ExecuteCommand &&
Event.current.commandName == "UndoRedoPerformed")) {
// Triggers profile reload on all Trail Effect scripts
TrailEffect[] effects = FindObjectsOfType<TrailEffect>();
for (int t = 0; t < targets.Length; t++) {
TrailEffectProfile profile = (TrailEffectProfile)targets[t];
for (int k = 0; k < effects.Length; k++) {
if (effects[k] != null && effects[k].profile == profile && effects[k].profileSync) {
profile.Load(effects[k]);
effects[k].UpdateMaterialProperties();
}
}
}
EditorUtility.SetDirty(target);
}
}
}
}

View File

@ -0,0 +1,174 @@
**************************************
* TRAILS FX *
* Created by Ramiro Oliva (Kronnect) *
* README FILE *
**************************************
Quick help: how to use this asset?
----------------------------------
Trails FX is an asset for drawing fast and smooth trails behind moving objects.
Just add "Trail Effect" script to any gameobject and configure its properties.
URP special instructions (only URP!):
- Space Distortion effect requires Opaque Texture enabled in Universal Rendering Pipeline asset.
- The demo scene is created for built-in pipeline. Please use the URP material converter to convert demo scene built-in materials to URP.
Demos & Documentation
---------------------
Please take a few minutes to examine the demo scene and documentation folder included with the asset.
Support & Feedback
------------------
Every property in the inspector shows a tooltip with some info when you pass the mouse over them.
If you have any issue or question please use the contact info below.
Also if you like Trails FX, please rate it on the Asset Store. It encourages us to keep improving it! Thanks!
Contact details:
* Support-Web: https://kronnect.com/support
* Support-Discord: https://discord.gg/EH2GMaM
* Email: contact@kronnect.com
* Twitter: @Kronnect
Future updates
--------------
All our assets follow an incremental development process by which a few beta releases are published on our support forum (kronnect.com).
We encourage you to signup and engage our forum. The forum is the primary support and feature discussions medium.
Of course, all updates of Trails FX be eventually available on the Asset Store.
More Cool Assets!
-----------------
Check out our other assets here:
https://assetstore.unity.com/publishers/15018
Version history
---------------
Current version
- Added "Parent" option to create trail with a transform relative to a parent
- Added "Custom" trail style which can use a user-defined material (it needs to be GPU instancing compatible - see Trails FX shaders for examples)
- API: added GetTrailPosition method
Version 3.1
- Added Mask Texture option
Version 3.0.1
- [Fix] Fixed profile editor issue
- Updated documentation to link to the Guides website
Version 3.0
- Added "Camera Distance Fade" option
Version 2.4
- Added "Ignore visibility" option. Let trails to be added even if the object's renderer is not enabled
Version 2.3
- Added HDR support to color settings
- [Fix] Fixed an issue with changing snapshots behind skinned mesh renderers
Version 2.2
- Time based effects (like cycle or ping-pong) now takes into account the time when the effect was enabled
- Added "Loop" option to Color cycle effect
- Added "Ignore Transform Scale" option
- API: added "Restart()" which repeats the current trail cycle on demand
Version 2.1
- Minimum Unity version required is now Unity 2020.3.16
- Ability to specify time interval in animation state. Example: Attack(0.3-0.7)
Version 2.0
- Added "Interpolate" option under Skinned Mesh section. This option can be enabled to smooth trails on skinned mesh renderers.
- Added "Color Ramp" options under Color effect. Adds an stylized dash effect (see: https://youtu.be/bYHwCgt3YWE)
- Two color ramp example textures added to SamplePresets folder.
- All shader keywords are now local keywords.
- [Fix] Fixed trails vanishing when game is paused setting time.timeScale to 0
Version 1.8
- Added "Fade Out" option to inspector (true, by default). Applies a fade out to the color alpha over time. Can be disabled to manually control alpha in the color gradient.
- [Fix] Fixed space distortion effect no longer visible in Unity 2021.3 URP
Version 1.7
- Added Animator property to inspector
Version 1.6.2
- [Fix] Fixed black trail artifact issue with some animated skinned renderers
Version 1.6.1
- [Fix] Fixed memory leak issue when baking skinned meshes
Version 1.6
- Added "Additive Tint Color" option to Space Distortion style
Version 1.5.92
- Startup optimizations
Version 1.5.91
- Animation states now are recognized regardless of layer
Version 1.5.9
- [Fix] Fixed skinned mesh scaling issue
Version 1.5.8
- [Fix] Fixed animation states only option when target is not a character
Version 1.5.6
- [Fix] Fixed world position relative change algorithm
Version 1.5.5
- Improved interpolated trail
- Added mesh pool size configurable option
- Memory optimization when enabling "Use Last Animation" option
Version 1.5.4
- [Fix] Fixed trail issue for very small durations during start
Version 1.5.3
- [Fix] Fixed trail sequence when active property is toggled on/off
- [Fix] Fixed scale over time issue on rotated objects
Version 1.5.2
- [Fix] Fixed material leak
Version 1.5.1
- [Fix] Fixed Space Distortion rendering issue in Unity 2019 for builtin
Version 1.5
- Added "SubMesh Mask" option to filter submeshes
Version 1.4.2
- [Fix] Fixed wrong scale of skinned mesh trails when parent scale is different than skinned mesh's gameobject
Version 1.4.1
- [Fix] Trails are now rendered to the same layer than gameobject
Version 1.4
- Improved performance of color/scale and other gradient-type fields computation
- Added "Steps Buffer Size" to inspector which allows you to increase or decrease the number of active trail steps
Version 1.3
- Added "Cull Mode" option to inspector
Version 1.2
- Added 'Execute in Edit Mode' option to inspector
Version 1.1
- Added World Position Relative To option
Version 1.0.1
- [Fix] Fixed trail size when character is scaled
Version 1.0
- Initial version

View File

@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TrailClearMask
m_Shader: {fileID: 4800000, guid: d65df080bc2274b17b40ec41c9475d6a, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _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: 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}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,63 @@
Shader "TrailsFX/ClearMask" {
Properties {
_Cull ("Cull", Int) = 2
}
SubShader
{
Tags { "Queue"="Transparent+110" "RenderType"="Transparent" }
Pass
{
Stencil {
Ref 2
ReadMask 2
WriteMask 2
Comp equal
Pass zero
}
ColorMask 0
ZTest Always
ZWrite Off
Cull [_Cull]
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing assumeuniformscaling nolightprobe nolodfade nolightmap
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
UNITY_VERTEX_INPUT_INSTANCE_ID
float4 pos : SV_POSITION;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert (appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
return 0;
}
ENDCG
}
}
}

View File

@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TrailEffectClone
m_Shader: {fileID: 4800000, guid: bbcc364a8f3a645a3b03709ca87499e5, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _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: 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}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,125 @@
Shader "TrailsFX/Effect/Clone" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
_Color ("Color", Color) = (1,1,1,1)
_CutOff("Cut Off", Float) = 0.5
_Cull ("Cull", Int) = 2
}
SubShader
{
Tags { "Queue"="Transparent+101" "RenderType"="Transparent" }
Pass
{
Stencil {
Ref 2
ReadMask 2
Comp NotEqual
Pass replace
}
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
Cull [_Cull]
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing assumeuniformscaling nolightprobe nolodfade nolightmap
#pragma multi_compile_local _ TRAIL_ALPHACLIP
#pragma multi_compile_local _ TRAIL_INTERPOLATE
#pragma multi_compile_local _ TRAIL_MASK
#pragma multi_compile_local _ TRAIL_LOCAL
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
#if TRAIL_INTERPOLATE
float4 prevVertex : TEXCOORD1;
#endif
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
UNITY_VERTEX_INPUT_INSTANCE_ID
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
UNITY_VERTEX_OUTPUT_STEREO
};
sampler2D _MainTex;
float4 _MainTex_ST;
fixed _CutOff;
sampler2D _MaskTex;
float4x4 _PivotMatrix;
UNITY_INSTANCING_BUFFER_START(Props)
UNITY_DEFINE_INSTANCED_PROP(fixed4, _Colors)
#if TRAIL_INTERPOLATE
UNITY_DEFINE_INSTANCED_PROP(half, _SubFrameKeys)
#endif
#if TRAIL_LOCAL
UNITY_DEFINE_INSTANCED_PROP(float4x4, _ParentMatrices)
#endif
UNITY_INSTANCING_BUFFER_END(Props)
v2f vert (appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
float4 vertex = v.vertex;
#if TRAIL_INTERPOLATE
half key = UNITY_ACCESS_INSTANCED_PROP(Props, _SubFrameKeys);
vertex.xyz = lerp(v.prevVertex.xyz, vertex.xyz, key);
#endif
#if TRAIL_LOCAL
vertex = mul(unity_ObjectToWorld, vertex);
float4x4 parentMatrix = UNITY_ACCESS_INSTANCED_PROP(Props, _ParentMatrices);
vertex = mul(parentMatrix, vertex);
vertex = mul(_PivotMatrix, vertex);
o.pos = mul(UNITY_MATRIX_VP, vertex);
#else
o.pos = UnityObjectToClipPos(vertex);
#endif
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
inline fixed getLuma(fixed3 rgb) {
const fixed3 lum = float3(0.299, 0.587, 0.114);
return dot(rgb, lum);
}
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
fixed4 col = tex2D(_MainTex, i.uv);
#if TRAIL_ALPHACLIP
clip(getLuma(col.rgb) - _CutOff);
#endif
col *= UNITY_ACCESS_INSTANCED_PROP(Props, _Colors);
#if TRAIL_MASK
fixed4 mask = tex2D(_MaskTex, i.uv);
col.a *= mask.r;
#endif
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TrailEffectColor
m_Shader: {fileID: 4800000, guid: 0b2a4427332444a4e9e4bcbb0e39792b, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _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: 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}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,146 @@
Shader "TrailsFX/Effect/Color" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
_Color ("Color", Color) = (1,1,1,1)
_Cull ("Cull", Int) = 2
_ColorRamp("Color Ramp", 2D) = "white" {}
}
SubShader
{
Tags { "Queue"="Transparent+101" "RenderType"="Transparent"}
Pass
{
Stencil {
Ref 2
ReadMask 2
Comp NotEqual
Pass replace
}
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
Cull [_Cull]
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing assumeuniformscaling nolightprobe nolodfade nolightmap
#pragma multi_compile_local _ TRAIL_INTERPOLATE
#pragma multi_compile_local _ TRAIL_COLOR_RAMP
#pragma multi_compile_local _ TRAIL_MASK
#pragma multi_compile_local _ TRAIL_LOCAL
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
#if TRAIL_MASK
float2 uv : TEXCOORD0;
#endif
#if TRAIL_INTERPOLATE
float4 prevVertex : TEXCOORD1;
#endif
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
UNITY_VERTEX_INPUT_INSTANCE_ID
float4 pos : SV_POSITION;
#if TRAIL_MASK
float2 uv : TEXCOORD0;
#endif
#if TRAIL_COLOR_RAMP
float3 wpos : TEXCOORD1;
#endif
UNITY_VERTEX_OUTPUT_STEREO
};
UNITY_INSTANCING_BUFFER_START(Props)
UNITY_DEFINE_INSTANCED_PROP(fixed4, _Colors)
#if TRAIL_INTERPOLATE || TRAIL_COLOR_RAMP
UNITY_DEFINE_INSTANCED_PROP(half, _SubFrameKeys)
#endif
#if TRAIL_COLOR_RAMP
UNITY_DEFINE_INSTANCED_PROP(float4, _RampStartPos)
UNITY_DEFINE_INSTANCED_PROP(fixed4, _RampEndPos)
#endif
#if TRAIL_LOCAL
UNITY_DEFINE_INSTANCED_PROP(float4x4, _ParentMatrices)
#endif
UNITY_INSTANCING_BUFFER_END(Props)
sampler2D _ColorRamp;
sampler2D _MaskTex;
float4 _MaskTex_ST;
float4x4 _PivotMatrix;
v2f vert (appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
float4 vertex = v.vertex;
#if TRAIL_INTERPOLATE
half key = UNITY_ACCESS_INSTANCED_PROP(Props, _SubFrameKeys);
vertex.xyz = lerp(v.prevVertex.xyz, vertex.xyz, key);
#endif
#if TRAIL_LOCAL
vertex = mul(unity_ObjectToWorld, vertex);
float4x4 parentMatrix = UNITY_ACCESS_INSTANCED_PROP(Props, _ParentMatrices);
vertex = mul(parentMatrix, vertex);
vertex = mul(_PivotMatrix, vertex);
o.pos = mul(UNITY_MATRIX_VP, vertex);
#if TRAIL_COLOR_RAMP
o.wpos = vertex.xyz;
#endif
#else
o.pos = UnityObjectToClipPos(vertex);
#if TRAIL_COLOR_RAMP
o.wpos = mul(unity_ObjectToWorld, vertex).xyz;
#endif
#endif
#if TRAIL_MASK
o.uv = TRANSFORM_TEX(v.uv, _MaskTex);
#endif
return o;
}
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
fixed4 col = UNITY_ACCESS_INSTANCED_PROP(Props, _Colors);
#if TRAIL_COLOR_RAMP
half key = UNITY_ACCESS_INSTANCED_PROP(Props, _SubFrameKeys);
float3 rampStart = UNITY_ACCESS_INSTANCED_PROP(Props, _RampStartPos).xyz;
float3 rampEnd = UNITY_ACCESS_INSTANCED_PROP(Props, _RampEndPos).xyz;
float3 dir = rampEnd - rampStart;
float len = length(dir);
float3 axis = dir / len;
float3 toWpos = i.wpos - rampStart;
float t = dot(toWpos, axis);
float d = t / len;
fixed4 ramp = tex2Dlod(_ColorRamp, float4(d, key, 0, 0));
col *= ramp;
if (floor(d) != 0) col = 0;
#endif
#if TRAIL_MASK
fixed4 mask = tex2D(_MaskTex, i.uv);
col.a *= mask.r;
#endif
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TrailEffectDistort
m_Shader: {fileID: 4800000, guid: b2ec35bcf9559476bb1a7cd86d073907, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _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: 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}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,241 @@
Shader "TrailsFX/Effect/Distort" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
_Color ("Color", Color) = (1,1,1,1)
_Cull ("Cull", Int) = 2
_AdditiveTint ("Additive Tint", Color) = (0,0,0.1)
}
SubShader
{
Tags { "Queue"="Transparent+101" "RenderType"="Transparent" "RenderPipeline" = "UniversalPipeline" }
Pass
{
Stencil {
Ref 2
ReadMask 2
Comp NotEqual
Pass replace
}
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing assumeuniformscaling nolightprobe nolodfade nolightmap
#pragma multi_compile_local _ TRAIL_INTERPOLATE
#pragma multi_compile_local _ TRAIL_MASK
#pragma multi_compile_local _ TRAIL_LOCAL
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
#if TRAIL_MASK
float2 uv : TEXCOORD0;
#endif
#if TRAIL_INTERPOLATE
float4 prevVertex : TEXCOORD1;
#endif
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
UNITY_VERTEX_INPUT_INSTANCE_ID
float4 pos : SV_POSITION;
#if TRAIL_MASK
float2 uv : TEXCOORD0;
#endif
float4 grabPos : TEXCOORD1;
fixed4 color : COLOR;
UNITY_VERTEX_OUTPUT_STEREO
};
UNITY_INSTANCING_BUFFER_START(Props)
UNITY_DEFINE_INSTANCED_PROP(fixed4, _Colors)
#if TRAIL_INTERPOLATE
UNITY_DEFINE_INSTANCED_PROP(half, _SubFrameKeys)
#endif
#if TRAIL_LOCAL
UNITY_DEFINE_INSTANCED_PROP(float4x4, _ParentMatrices)
#endif
UNITY_INSTANCING_BUFFER_END(Props)
sampler2D _MaskTex;
float4 _MaskTex_ST;
float4x4 _PivotMatrix;
v2f vert (appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
float4 vertex = v.vertex;
#if TRAIL_INTERPOLATE
half key = UNITY_ACCESS_INSTANCED_PROP(Props, _SubFrameKeys);
vertex.xyz = lerp(v.prevVertex.xyz, vertex.xyz, key);
#endif
#if TRAIL_LOCAL
vertex = mul(unity_ObjectToWorld, vertex);
float4x4 parentMatrix = UNITY_ACCESS_INSTANCED_PROP(Props, _ParentMatrices);
vertex = mul(parentMatrix, vertex);
vertex = mul(_PivotMatrix, vertex);
o.pos = mul(UNITY_MATRIX_VP, vertex);
#else
o.pos = UnityObjectToClipPos(vertex);
#endif
o.grabPos = ComputeGrabScreenPos(o.pos);
o.color = UNITY_ACCESS_INSTANCED_PROP(Props, _Colors);
o.grabPos.xy += (0.5.xx - o.color.rg) * o.color.a / o.grabPos.w;
#if TRAIL_MASK
o.uv = TRANSFORM_TEX(v.uv, _MaskTex);
#endif
return o;
}
sampler2D _CameraOpaqueTexture;
fixed4 _AdditiveTint;
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
fixed4 col = tex2Dproj(_CameraOpaqueTexture, i.grabPos);
col.rgb += _AdditiveTint;
col.a *= i.color.a;
#if TRAIL_MASK
fixed4 mask = tex2D(_MaskTex, i.uv);
col.a *= mask.r;
#endif
return col;
}
ENDCG
}
}
SubShader
{
Tags { "Queue"="Transparent+101" "RenderType"="Transparent" }
GrabPass {
"_BackgroundTexture"
}
Pass
{
Stencil {
Ref 2
ReadMask 2
Comp NotEqual
Pass replace
}
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
Cull [_Cull]
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing assumeuniformscaling nolightprobe nolodfade nolightmap
#pragma multi_compile_local _ TRAIL_INTERPOLATE
#pragma multi_compile_local _ TRAIL_MASK
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
#if TRAIL_MASK
float2 uv : TEXCOORD0;
#endif
#if TRAIL_INTERPOLATE
float4 prevVertex : TEXCOORD1;
#endif
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
UNITY_VERTEX_INPUT_INSTANCE_ID
float4 pos : SV_POSITION;
#if TRAIL_MASK
float2 uv : TEXCOORD0;
#endif
float4 grabPos : TEXCOORD1;
fixed4 color : COLOR;
UNITY_VERTEX_OUTPUT_STEREO
};
UNITY_INSTANCING_BUFFER_START(Props)
UNITY_DEFINE_INSTANCED_PROP(fixed4, _Colors)
#if TRAIL_INTERPOLATE
UNITY_DEFINE_INSTANCED_PROP(half, _SubFrameKeys)
#endif
UNITY_INSTANCING_BUFFER_END(Props)
sampler2D _BackgroundTexture;
fixed4 _AdditiveTint;
sampler2D _MaskTex;
float4 _MaskTex_ST;
v2f vert (appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
float4 vertex = v.vertex;
#if TRAIL_INTERPOLATE
half key = UNITY_ACCESS_INSTANCED_PROP(Props, _SubFrameKeys);
vertex.xyz = lerp(v.prevVertex.xyz, vertex.xyz, key);
#endif
o.pos = UnityObjectToClipPos(vertex);
o.grabPos = ComputeGrabScreenPos(o.pos);
o.color = UNITY_ACCESS_INSTANCED_PROP(Props, _Colors);
o.grabPos.xy += (0.5.xx - o.color.rg) * o.color.a / o.grabPos.w;
#if TRAIL_MASK
o.uv = TRANSFORM_TEX(v.uv, _MaskTex);
#endif
return o;
}
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
fixed4 col = tex2Dproj(_BackgroundTexture, i.grabPos);
col.rgb += _AdditiveTint;
col.a *= i.color.a;
#if TRAIL_MASK
fixed4 mask = tex2D(_MaskTex, i.uv);
col.a *= mask.r;
#endif
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: TrailEffectLaser
m_Shader: {fileID: 4800000, guid: 1e2ed48517d8843da9dce67060676fb7, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _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: 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}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _NormalThreshold: 0.1
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

Some files were not shown because too many files have changed in this diff Show More