Merge branch 'main' of https://gitea.deprived.dev/Sveskejuice/3DTD
This commit is contained in:
commit
8356f4ae10
|
@ -0,0 +1,137 @@
|
||||||
|
%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: GhostProjectile
|
||||||
|
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords:
|
||||||
|
- _ALPHAPREMULTIPLY_ON
|
||||||
|
- _SURFACE_TYPE_TRANSPARENT
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: 3000
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Transparent
|
||||||
|
disabledShaderPasses:
|
||||||
|
- DepthOnly
|
||||||
|
- SHADOWCASTER
|
||||||
|
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: 10
|
||||||
|
- _DstBlendAlpha: 10
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _Metallic: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 1
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 0
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 0.38039213, g: 0.38431373, b: 0.39215687, a: 0.78431374}
|
||||||
|
- _Color: {r: 0.3803921, g: 0.3843137, b: 0.39215684, a: 0.78431374}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
--- !u!114 &8625757837965251938
|
||||||
|
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
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 66b56adfef1823449b3992c35d0f489c
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,140 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &-6532468477391232685
|
||||||
|
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: TrajectoryLine
|
||||||
|
m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords:
|
||||||
|
- _SURFACE_TYPE_TRANSPARENT
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 1
|
||||||
|
m_CustomRenderQueue: 3000
|
||||||
|
stringTagMap:
|
||||||
|
RenderType: Transparent
|
||||||
|
disabledShaderPasses:
|
||||||
|
- DepthOnly
|
||||||
|
- SHADOWCASTER
|
||||||
|
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: 0
|
||||||
|
- _Cutoff: 0.834
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DstBlend: 10
|
||||||
|
- _DstBlendAlpha: 10
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _SampleGI: 0
|
||||||
|
- _Smoothness: 0.5
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 5
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 1
|
||||||
|
- _UVSec: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 0
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 0.015686275}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 0.015686275}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2332a9014d9db304793b505bab51a107
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,14 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!134 &13400000
|
||||||
|
PhysicMaterial:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: WallMat
|
||||||
|
dynamicFriction: 0
|
||||||
|
staticFriction: 0
|
||||||
|
bounciness: 1
|
||||||
|
frictionCombine: 1
|
||||||
|
bounceCombine: 1
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: db65845c02126636d9fae11e1ea2f004
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 13400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Binary file not shown.
|
@ -0,0 +1,109 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 18a302e9a279644c19653ac58e191809
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
|
motionNodeName:
|
||||||
|
rigImportErrors:
|
||||||
|
rigImportWarnings:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations: []
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 0.1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 0.001
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -13,6 +13,7 @@ GameObject:
|
||||||
- component: {fileID: 5408793041970514069}
|
- component: {fileID: 5408793041970514069}
|
||||||
- component: {fileID: 58437666630366278}
|
- component: {fileID: 58437666630366278}
|
||||||
- component: {fileID: 4851113807957284959}
|
- component: {fileID: 4851113807957284959}
|
||||||
|
- component: {fileID: 8700343489547611766}
|
||||||
m_Layer: 6
|
m_Layer: 6
|
||||||
m_Name: Bullet
|
m_Name: Bullet
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
@ -133,3 +134,19 @@ Rigidbody:
|
||||||
m_Interpolate: 0
|
m_Interpolate: 0
|
||||||
m_Constraints: 0
|
m_Constraints: 0
|
||||||
m_CollisionDetection: 0
|
m_CollisionDetection: 0
|
||||||
|
--- !u!114 &8700343489547611766
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2962360034595352958}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a98521a4b559621438fc196adc605f3b, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
bounciness: 1
|
||||||
|
damage: 10
|
||||||
|
wallRebounces: 4
|
||||||
|
comingFrom: {fileID: 0}
|
||||||
|
|
|
@ -0,0 +1,85 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2962360034595352958
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 888336455889056387}
|
||||||
|
- component: {fileID: 345585203663460175}
|
||||||
|
- component: {fileID: 5408793041970514069}
|
||||||
|
m_Layer: 6
|
||||||
|
m_Name: ProjectileGhost
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &888336455889056387
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2962360034595352958}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 7.372555, y: -18.054228, z: 22.62589}
|
||||||
|
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
||||||
|
m_ConstrainProportionsScale: 1
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &345585203663460175
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2962360034595352958}
|
||||||
|
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &5408793041970514069
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2962360034595352958}
|
||||||
|
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: 66b56adfef1823449b3992c35d0f489c, 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}
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f657bc53e175aad72a117bf3ef556359
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -73,6 +73,10 @@ PrefabInstance:
|
||||||
type: 3}
|
type: 3}
|
||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: 7883233016828513649}
|
addedObject: {fileID: 7883233016828513649}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: eb5e13df78999ef878da1db5c63224e2,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 5565472806559733162}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: eb5e13df78999ef878da1db5c63224e2, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: eb5e13df78999ef878da1db5c63224e2, type: 3}
|
||||||
--- !u!1 &872127579833310669 stripped
|
--- !u!1 &872127579833310669 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
|
@ -95,7 +99,40 @@ MonoBehaviour:
|
||||||
startHealth: 100
|
startHealth: 100
|
||||||
OnHealthZero:
|
OnHealthZero:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 7883233016828513649}
|
||||||
|
m_TargetAssemblyTypeName: HealthComponent, Assembly-CSharp
|
||||||
|
m_MethodName: SimpleKill
|
||||||
|
m_Mode: 1
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument:
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
OnHealthChange:
|
OnHealthChange:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
|
--- !u!65 &5565472806559733162
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 872127579833310669}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
|
|
@ -231,6 +231,36 @@ PrefabInstance:
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: BlackHole
|
value: BlackHole
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Size.x
|
||||||
|
value: 0.5101528
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Size.y
|
||||||
|
value: 1.8364654
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Size.z
|
||||||
|
value: 0.5177386
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Center.x
|
||||||
|
value: -0.022192955
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Center.y
|
||||||
|
value: -0.0720216
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Center.z
|
||||||
|
value: -0.008693576
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects:
|
m_AddedGameObjects:
|
||||||
|
|
|
@ -383,7 +383,7 @@ Transform:
|
||||||
m_GameObject: {fileID: 2676689439087408815}
|
m_GameObject: {fileID: 2676689439087408815}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0.00723}
|
m_LocalPosition: {x: 0, y: 0, z: 0.00846}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
|
@ -845,7 +845,7 @@ LineRenderer:
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
- {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0}
|
- {fileID: 2100000, guid: 2332a9014d9db304793b505bab51a107, type: 2}
|
||||||
m_StaticBatchInfo:
|
m_StaticBatchInfo:
|
||||||
firstSubMesh: 0
|
firstSubMesh: 0
|
||||||
subMeshCount: 0
|
subMeshCount: 0
|
||||||
|
@ -912,7 +912,7 @@ LineRenderer:
|
||||||
atime6: 0
|
atime6: 0
|
||||||
atime7: 0
|
atime7: 0
|
||||||
m_Mode: 0
|
m_Mode: 0
|
||||||
m_ColorSpace: -1
|
m_ColorSpace: 0
|
||||||
m_NumColorKeys: 2
|
m_NumColorKeys: 2
|
||||||
m_NumAlphaKeys: 2
|
m_NumAlphaKeys: 2
|
||||||
numCornerVertices: 0
|
numCornerVertices: 0
|
||||||
|
@ -994,6 +994,36 @@ PrefabInstance:
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Turret
|
value: Turret
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Size.x
|
||||||
|
value: 0.5204178
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Size.y
|
||||||
|
value: 1.2033536
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Size.z
|
||||||
|
value: 0.6565219
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Center.x
|
||||||
|
value: -0.02208674
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Center.y
|
||||||
|
value: -0.07302019
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5565472806559733162, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Center.z
|
||||||
|
value: -0.05310279
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8365322460670124409, guid: f54a14318952c90c5b47a300aedb0d15,
|
- target: {fileID: 8365322460670124409, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
|
@ -1072,8 +1102,15 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 3c6fb039e74d12a7bbfde22591bc7eee, type: 3}
|
m_Script: {fileID: 11500000, guid: 3c6fb039e74d12a7bbfde22591bc7eee, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
barrel: {fileID: 2740722787380423134}
|
||||||
horizontalArc: {fileID: 8981486734084153558}
|
horizontalArc: {fileID: 8981486734084153558}
|
||||||
verticalArc: {fileID: 5247639431516572416}
|
verticalArc: {fileID: 5247639431516572416}
|
||||||
|
spaceBetweenGhosts: 0.5
|
||||||
|
trajectoryBounces: 4
|
||||||
|
ghostPrefab: {fileID: 2962360034595352958, guid: f657bc53e175aad72a117bf3ef556359,
|
||||||
|
type: 3}
|
||||||
|
trajectoryLine: {fileID: 3987931586699850031}
|
||||||
|
trajectoryObjectPoolSize: 25
|
||||||
attackSecondsDelay: 1
|
attackSecondsDelay: 1
|
||||||
projectileSequence:
|
projectileSequence:
|
||||||
- Arc: 0
|
- Arc: 0
|
||||||
|
@ -1083,9 +1120,6 @@ MonoBehaviour:
|
||||||
type: 3}
|
type: 3}
|
||||||
Burst: 0
|
Burst: 0
|
||||||
BurstDelay: 0
|
BurstDelay: 0
|
||||||
barrel: {fileID: 2740722787380423134}
|
|
||||||
trajectory: {fileID: 3987931586699850031}
|
|
||||||
trajectoryBounces: 4
|
|
||||||
--- !u!4 &9116936080776508834 stripped
|
--- !u!4 &9116936080776508834 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 527409087646353271, guid: f54a14318952c90c5b47a300aedb0d15,
|
m_CorrespondingSourceObject: {fileID: 527409087646353271, guid: f54a14318952c90c5b47a300aedb0d15,
|
||||||
|
|
|
@ -135,6 +135,7 @@ GameObject:
|
||||||
- component: {fileID: 163929262}
|
- component: {fileID: 163929262}
|
||||||
- component: {fileID: 163929261}
|
- component: {fileID: 163929261}
|
||||||
- component: {fileID: 163929260}
|
- component: {fileID: 163929260}
|
||||||
|
- component: {fileID: 163929264}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Cube (3)
|
m_Name: Cube (3)
|
||||||
m_TagString: Wall
|
m_TagString: Wall
|
||||||
|
@ -228,6 +229,18 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1696531492}
|
m_Father: {fileID: 1696531492}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &163929264
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 163929259}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c2cdf8a35ccaacc4695675d2ada4aecf, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &310810784
|
--- !u!1 &310810784
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -240,6 +253,7 @@ GameObject:
|
||||||
- component: {fileID: 310810787}
|
- component: {fileID: 310810787}
|
||||||
- component: {fileID: 310810786}
|
- component: {fileID: 310810786}
|
||||||
- component: {fileID: 310810785}
|
- component: {fileID: 310810785}
|
||||||
|
- component: {fileID: 310810789}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Cube (1)
|
m_Name: Cube (1)
|
||||||
m_TagString: Wall
|
m_TagString: Wall
|
||||||
|
@ -333,6 +347,18 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1696531492}
|
m_Father: {fileID: 1696531492}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &310810789
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 310810784}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c2cdf8a35ccaacc4695675d2ada4aecf, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &1257773688
|
--- !u!1 &1257773688
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -451,6 +477,12 @@ MonoBehaviour:
|
||||||
m_LightCookieSize: {x: 1, y: 1}
|
m_LightCookieSize: {x: 1, y: 1}
|
||||||
m_LightCookieOffset: {x: 0, y: 0}
|
m_LightCookieOffset: {x: 0, y: 0}
|
||||||
m_SoftShadowQuality: 0
|
m_SoftShadowQuality: 0
|
||||||
|
--- !u!1 &1267316003 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 7435709693246867821, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1774990605473331699}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &1425080745
|
--- !u!1 &1425080745
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -463,6 +495,7 @@ GameObject:
|
||||||
- component: {fileID: 1425080748}
|
- component: {fileID: 1425080748}
|
||||||
- component: {fileID: 1425080747}
|
- component: {fileID: 1425080747}
|
||||||
- component: {fileID: 1425080746}
|
- component: {fileID: 1425080746}
|
||||||
|
- component: {fileID: 1425080750}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Cube (4)
|
m_Name: Cube (4)
|
||||||
m_TagString: Wall
|
m_TagString: Wall
|
||||||
|
@ -556,6 +589,18 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1696531492}
|
m_Father: {fileID: 1696531492}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &1425080750
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1425080745}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c2cdf8a35ccaacc4695675d2ada4aecf, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &1696531491
|
--- !u!1 &1696531491
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -605,6 +650,7 @@ GameObject:
|
||||||
- component: {fileID: 1786067372}
|
- component: {fileID: 1786067372}
|
||||||
- component: {fileID: 1786067371}
|
- component: {fileID: 1786067371}
|
||||||
- component: {fileID: 1786067370}
|
- component: {fileID: 1786067370}
|
||||||
|
- component: {fileID: 1786067374}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Cube (2)
|
m_Name: Cube (2)
|
||||||
m_TagString: Wall
|
m_TagString: Wall
|
||||||
|
@ -698,6 +744,18 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1696531492}
|
m_Father: {fileID: 1696531492}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &1786067374
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1786067369}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c2cdf8a35ccaacc4695675d2ada4aecf, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &1820565102
|
--- !u!1 &1820565102
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -710,6 +768,7 @@ GameObject:
|
||||||
- component: {fileID: 1820565106}
|
- component: {fileID: 1820565106}
|
||||||
- component: {fileID: 1820565105}
|
- component: {fileID: 1820565105}
|
||||||
- component: {fileID: 1820565104}
|
- component: {fileID: 1820565104}
|
||||||
|
- component: {fileID: 1820565107}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Cube (5)
|
m_Name: Cube (5)
|
||||||
m_TagString: Wall
|
m_TagString: Wall
|
||||||
|
@ -803,6 +862,18 @@ MeshFilter:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1820565102}
|
m_GameObject: {fileID: 1820565102}
|
||||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!114 &1820565107
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1820565102}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c2cdf8a35ccaacc4695675d2ada4aecf, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &1915595172
|
--- !u!1 &1915595172
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -815,6 +886,7 @@ GameObject:
|
||||||
- component: {fileID: 1915595175}
|
- component: {fileID: 1915595175}
|
||||||
- component: {fileID: 1915595174}
|
- component: {fileID: 1915595174}
|
||||||
- component: {fileID: 1915595173}
|
- component: {fileID: 1915595173}
|
||||||
|
- component: {fileID: 1915595177}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Cube
|
m_Name: Cube
|
||||||
m_TagString: Wall
|
m_TagString: Wall
|
||||||
|
@ -908,6 +980,18 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1696531492}
|
m_Father: {fileID: 1696531492}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &1915595177
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1915595172}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c2cdf8a35ccaacc4695675d2ada4aecf, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1001 &1774990605473331699
|
--- !u!1001 &1774990605473331699
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -921,6 +1005,191 @@ PrefabInstance:
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Cinemachine
|
value: Cinemachine
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3313768392743891090, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: fadeSpeed
|
||||||
|
value: 5.05
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3313768392743891090, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: hideFadeSpeed
|
||||||
|
value: 7
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3313768392743891090, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: showFadeSpeed
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: cam
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 1267316003}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: sens.x
|
||||||
|
value: 300
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: sens.y
|
||||||
|
value: 3
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: scrollSpeed
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: stopAfterTime
|
||||||
|
value: 15
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: stopStiffness
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: decelerationMultiplier
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.size
|
||||||
|
value: 4
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[1].time
|
||||||
|
value: 0.2991759
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[2].time
|
||||||
|
value: 0.6705839
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[3].time
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[1].value
|
||||||
|
value: 0.51186574
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[2].value
|
||||||
|
value: 0.6387135
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[3].value
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[0].inSlope
|
||||||
|
value: 1.710919
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[1].inSlope
|
||||||
|
value: 0.50856996
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[2].inSlope
|
||||||
|
value: 0.078333884
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[3].inSlope
|
||||||
|
value: 1.0967482
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[0].outSlope
|
||||||
|
value: 1.710919
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[1].inWeight
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[1].outSlope
|
||||||
|
value: 0.50856996
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[2].inWeight
|
||||||
|
value: 0.37746048
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[2].outSlope
|
||||||
|
value: 0.078333884
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[3].inWeight
|
||||||
|
value: 0.33333334
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[3].outSlope
|
||||||
|
value: 1.0967482
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[0].outWeight
|
||||||
|
value: 0.33333334
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[1].outWeight
|
||||||
|
value: 0.30844653
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[2].outWeight
|
||||||
|
value: 0.33333334
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[0].tangentMode
|
||||||
|
value: 34
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[1].tangentMode
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[2].tangentMode
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3837216061230793568, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: curve.m_Curve.Array.data[3].tangentMode
|
||||||
|
value: 34
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5664717836218291588, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_XAxis.m_DecelTime
|
||||||
|
value: 0.25
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5664717836218291588, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_YAxis.m_DecelTime
|
||||||
|
value: 0.25
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8882344377078016156, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
- target: {fileID: 8882344377078016156, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
|
|
|
@ -241,6 +241,74 @@ MonoBehaviour:
|
||||||
m_LightCookieSize: {x: 1, y: 1}
|
m_LightCookieSize: {x: 1, y: 1}
|
||||||
m_LightCookieOffset: {x: 0, y: 0}
|
m_LightCookieOffset: {x: 0, y: 0}
|
||||||
m_SoftShadowQuality: 1
|
m_SoftShadowQuality: 1
|
||||||
|
--- !u!1001 &504816165
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0.8027312
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0.20438403
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: -3.614678
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 919132149155446097, guid: 18a302e9a279644c19653ac58e191809,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: GreenBoy
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 18a302e9a279644c19653ac58e191809, type: 3}
|
||||||
--- !u!1 &643774939
|
--- !u!1 &643774939
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -267,7 +335,7 @@ BoxCollider:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 643774939}
|
m_GameObject: {fileID: 643774939}
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 13400000, guid: db65845c02126636d9fae11e1ea2f004, type: 2}
|
||||||
m_IncludeLayers:
|
m_IncludeLayers:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 0
|
m_Bits: 0
|
||||||
|
@ -372,7 +440,7 @@ BoxCollider:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 769011490}
|
m_GameObject: {fileID: 769011490}
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 13400000, guid: db65845c02126636d9fae11e1ea2f004, type: 2}
|
||||||
m_IncludeLayers:
|
m_IncludeLayers:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 0
|
m_Bits: 0
|
||||||
|
@ -576,6 +644,16 @@ PrefabInstance:
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransformParent: {fileID: 0}
|
m_TransformParent: {fileID: 0}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
|
- target: {fileID: 7437064479105606814, guid: 9415cb10a1bd579269301ca4f61a1554,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: trajectoryBounces
|
||||||
|
value: 3
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7437064479105606814, guid: 9415cb10a1bd579269301ca4f61a1554,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: trajectoryObjectPoolSize
|
||||||
|
value: 100
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7437064479105606814, guid: 9415cb10a1bd579269301ca4f61a1554,
|
- target: {fileID: 7437064479105606814, guid: 9415cb10a1bd579269301ca4f61a1554,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: projectileSequence.Array.data[0].Speed
|
propertyPath: projectileSequence.Array.data[0].Speed
|
||||||
|
@ -667,7 +745,7 @@ BoxCollider:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1085503232}
|
m_GameObject: {fileID: 1085503232}
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 13400000, guid: db65845c02126636d9fae11e1ea2f004, type: 2}
|
||||||
m_IncludeLayers:
|
m_IncludeLayers:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 0
|
m_Bits: 0
|
||||||
|
@ -772,7 +850,7 @@ BoxCollider:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1197417724}
|
m_GameObject: {fileID: 1197417724}
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 13400000, guid: db65845c02126636d9fae11e1ea2f004, type: 2}
|
||||||
m_IncludeLayers:
|
m_IncludeLayers:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 0
|
m_Bits: 0
|
||||||
|
@ -877,7 +955,7 @@ BoxCollider:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1621186629}
|
m_GameObject: {fileID: 1621186629}
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 13400000, guid: db65845c02126636d9fae11e1ea2f004, type: 2}
|
||||||
m_IncludeLayers:
|
m_IncludeLayers:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 0
|
m_Bits: 0
|
||||||
|
@ -1165,7 +1243,7 @@ PrefabInstance:
|
||||||
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalRotation.w
|
propertyPath: m_LocalRotation.w
|
||||||
value: -0.13805284
|
value: -0.1380528
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
@ -1180,7 +1258,7 @@ PrefabInstance:
|
||||||
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
- target: {fileID: 7348612162646443967, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalRotation.z
|
propertyPath: m_LocalRotation.z
|
||||||
value: -0.13815573
|
value: -0.13815574
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8882344377078016156, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
- target: {fileID: 8882344377078016156, guid: fd9f9b61c0ebb324ebc9f929e26706bc,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
@ -1263,7 +1341,7 @@ BoxCollider:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1797347348}
|
m_GameObject: {fileID: 1797347348}
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 13400000, guid: db65845c02126636d9fae11e1ea2f004, type: 2}
|
||||||
m_IncludeLayers:
|
m_IncludeLayers:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 0
|
m_Bits: 0
|
||||||
|
@ -1496,3 +1574,4 @@ SceneRoots:
|
||||||
- {fileID: 1932692269}
|
- {fileID: 1932692269}
|
||||||
- {fileID: 1671091699}
|
- {fileID: 1671091699}
|
||||||
- {fileID: 770231297}
|
- {fileID: 770231297}
|
||||||
|
- {fileID: 504816165}
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Cinemachine;
|
using Cinemachine;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
public class CameraController : MonoBehaviour
|
public class CameraController : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private GameObject cam;
|
[SerializeField] private GameObject cam;
|
||||||
|
|
||||||
public float scrollSpeed;
|
public float scrollSpeed;
|
||||||
|
public float stopAfterTime = 0.25f;
|
||||||
|
public AnimationCurve curve = new AnimationCurve(new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f));
|
||||||
|
[Range(1f, 0f)] public float decelerationMultiplier;
|
||||||
|
|
||||||
public Vector2 sens;
|
public Vector2 sens;
|
||||||
private Vector2 defaultMaxSpeed;
|
private Vector2 defaultMaxSpeed;
|
||||||
|
|
||||||
|
private float timer;
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
defaultMaxSpeed *= 0;
|
defaultMaxSpeed *= 0;
|
||||||
|
@ -17,16 +23,24 @@ public class CameraController : MonoBehaviour
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
defaultMaxSpeed = new Vector2(cam.GetComponent<CinemachineFreeLook>().m_XAxis.m_MaxSpeed, cam.GetComponent<CinemachineFreeLook>().m_YAxis.m_MaxSpeed);
|
//defaultMaxSpeed = new Vector2(cam.GetComponent<CinemachineFreeLook>().m_XAxis.m_MaxSpeed, cam.GetComponent<CinemachineFreeLook>().m_YAxis.m_MaxSpeed);
|
||||||
|
|
||||||
if (Input.GetMouseButtonDown(1))
|
if (Input.GetMouseButtonDown(1))
|
||||||
{
|
{
|
||||||
defaultMaxSpeed = sens;
|
defaultMaxSpeed = sens;
|
||||||
|
|
||||||
|
// Enable mouse input
|
||||||
|
cam.GetComponent<CinemachineFreeLook>().m_XAxis.m_InputAxisName = "Mouse X";
|
||||||
|
cam.GetComponent<CinemachineFreeLook>().m_YAxis.m_InputAxisName = "Mouse Y";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Input.GetMouseButtonUp(1))
|
if (Input.GetMouseButtonUp(1))
|
||||||
{
|
{
|
||||||
defaultMaxSpeed *= 0;
|
timer = 0;
|
||||||
|
|
||||||
|
// Disable mouse input
|
||||||
|
cam.GetComponent<CinemachineFreeLook>().m_XAxis.m_InputAxisName = "";
|
||||||
|
cam.GetComponent<CinemachineFreeLook>().m_YAxis.m_InputAxisName = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
cam.GetComponent<CinemachineFreeLook>().m_XAxis.m_MaxSpeed = defaultMaxSpeed.x;
|
cam.GetComponent<CinemachineFreeLook>().m_XAxis.m_MaxSpeed = defaultMaxSpeed.x;
|
||||||
|
@ -35,5 +49,11 @@ public class CameraController : MonoBehaviour
|
||||||
float scroll = Input.GetAxis("Mouse ScrollWheel");
|
float scroll = Input.GetAxis("Mouse ScrollWheel");
|
||||||
|
|
||||||
cam.GetComponent<CinemachineCameraOffset>().m_Offset.z += scroll * scrollSpeed;
|
cam.GetComponent<CinemachineCameraOffset>().m_Offset.z += scroll * scrollSpeed;
|
||||||
|
|
||||||
|
|
||||||
|
timer += Time.deltaTime;
|
||||||
|
float evalTime = timer / stopAfterTime;
|
||||||
|
if (!Input.GetMouseButton(1))
|
||||||
|
defaultMaxSpeed = Vector2.LerpUnclamped(defaultMaxSpeed, Vector2.zero, curve.Evaluate(evalTime));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,18 +3,16 @@ using UnityEngine;
|
||||||
|
|
||||||
public class HideWall : MonoBehaviour
|
public class HideWall : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
|
||||||
[SerializeField] private GameObject target;
|
[SerializeField] private GameObject target;
|
||||||
[SerializeField] private GameObject origin;
|
[SerializeField] private GameObject origin;
|
||||||
public GameObject prevObject;
|
|
||||||
|
|
||||||
public Material defaultMaterial; // Material when not hitting "Wall"
|
[Range(1f, 10f)] public float hideFadeSpeed;
|
||||||
public Material hitMaterial; // Material when hitting "Wall"
|
[Range(1f, 10f)] public float showFadeSpeed;
|
||||||
|
|
||||||
public float sphereRadius;
|
public float sphereRadius;
|
||||||
float maxSphereRayDistance;
|
|
||||||
public Vector3 maxSphereRayDistanceOffset;
|
public Vector3 maxSphereRayDistanceOffset;
|
||||||
|
|
||||||
|
float maxSphereRayDistance;
|
||||||
private List<GameObject> prevHitObjects = new List<GameObject>();
|
private List<GameObject> prevHitObjects = new List<GameObject>();
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
|
@ -29,44 +27,36 @@ public class HideWall : MonoBehaviour
|
||||||
|
|
||||||
List<GameObject> hitObjectsThisFrame = new List<GameObject>();
|
List<GameObject> hitObjectsThisFrame = new List<GameObject>();
|
||||||
|
|
||||||
// Change material of currently hit objects
|
|
||||||
for (int i = 0; i < hits.Length; i++)
|
for (int i = 0; i < hits.Length; i++)
|
||||||
{
|
{
|
||||||
if (hits[i].collider.CompareTag("Wall"))
|
if (hits[i].collider != null && hits[i].collider.CompareTag("Wall"))
|
||||||
{
|
{
|
||||||
var hitGameObject = hits[i].collider.gameObject;
|
var hitGameObject = hits[i].collider.gameObject;
|
||||||
hitObjectsThisFrame.Add(hitGameObject);
|
hitObjectsThisFrame.Add(hitGameObject);
|
||||||
|
|
||||||
// Change material only if this object wasn't hit last frame
|
var wallOpacity = hitGameObject.GetComponent<WallOpacity>();
|
||||||
if (!prevHitObjects.Contains(hitGameObject))
|
if (wallOpacity != null && !prevHitObjects.Contains(hitGameObject))
|
||||||
{
|
{
|
||||||
Renderer renderer = hits[i].collider.GetComponent<Renderer>();
|
wallOpacity.HideWall(hideFadeSpeed);
|
||||||
if (renderer != null)
|
|
||||||
{
|
|
||||||
renderer.material = hitMaterial;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restore the material of objects that are not hit this frame but were hit in the previous frame
|
foreach (var prevHitObject in prevHitObjects)
|
||||||
for (int i = 0; i < prevHitObjects.Count; i++)
|
|
||||||
{
|
{
|
||||||
if (!hitObjectsThisFrame.Contains(prevHitObjects[i]))
|
if (!hitObjectsThisFrame.Contains(prevHitObject))
|
||||||
{
|
{
|
||||||
Renderer renderer = prevHitObjects[i].GetComponent<Renderer>();
|
var wallOpacity = prevHitObject.GetComponent<WallOpacity>();
|
||||||
if (renderer != null)
|
if (wallOpacity != null)
|
||||||
{
|
{
|
||||||
renderer.material = defaultMaterial;
|
wallOpacity.ShowWall(showFadeSpeed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the list of previously hit objects
|
|
||||||
prevHitObjects = hitObjectsThisFrame;
|
prevHitObjects = hitObjectsThisFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void OnDrawGizmos()
|
private void OnDrawGizmos()
|
||||||
{
|
{
|
||||||
Gizmos.color = Color.red;
|
Gizmos.color = Color.red;
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class WallOpacity : MonoBehaviour
|
||||||
|
{
|
||||||
|
private float t;
|
||||||
|
private bool isShowing = true;
|
||||||
|
|
||||||
|
private float showFadeSpeed;
|
||||||
|
private float hideFadeSpeed;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
t = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
if (isShowing)
|
||||||
|
{
|
||||||
|
t += Time.deltaTime * showFadeSpeed;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
t -= Time.deltaTime * hideFadeSpeed;
|
||||||
|
}
|
||||||
|
t = Mathf.Clamp(t, 0, 1);
|
||||||
|
|
||||||
|
Renderer renderer = GetComponent<Renderer>();
|
||||||
|
if (renderer != null)
|
||||||
|
{
|
||||||
|
var originalMat = renderer.material;
|
||||||
|
var originalColor = originalMat.color;
|
||||||
|
originalMat.color = new Color(originalColor.r, originalColor.g, originalColor.b, t);
|
||||||
|
renderer.material = originalMat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ShowWall(float speed)
|
||||||
|
{
|
||||||
|
isShowing = true;
|
||||||
|
showFadeSpeed = speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void HideWall(float speed)
|
||||||
|
{
|
||||||
|
isShowing = false;
|
||||||
|
hideFadeSpeed = speed;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c2cdf8a35ccaacc4695675d2ada4aecf
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,10 @@
|
||||||
|
using System.Collections;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Assets
|
||||||
|
{
|
||||||
|
public static class FloatExtensions
|
||||||
|
{
|
||||||
|
public static float Clamp(this float x, float min, float max) => Mathf.Clamp(x, min, max);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 92c9a051ffde8174690f03cc2c3d547b
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,120 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class AimTower : Tower
|
||||||
|
{
|
||||||
|
[SerializeField] protected Barrel barrel;
|
||||||
|
[SerializeField] protected EditableArc horizontalArc;
|
||||||
|
[SerializeField] protected EditableArc verticalArc;
|
||||||
|
|
||||||
|
[Header("Trajectory")]
|
||||||
|
[SerializeField] private float spaceBetweenGhosts = 0.5f;
|
||||||
|
[SerializeField] private int trajectoryBounces = 3;
|
||||||
|
private const float k_trajectory_maxdist = 100f;
|
||||||
|
private List<GameObject> ghosts = new();
|
||||||
|
[SerializeField] private GameObject ghostPrefab;
|
||||||
|
[SerializeField] private LineRenderer trajectoryLine;
|
||||||
|
[SerializeField] private int trajectoryObjectPoolSize = 25;
|
||||||
|
private int poolIdx = 0;
|
||||||
|
|
||||||
|
public Vector3 AimDirection => barrel.transform.forward;
|
||||||
|
public Vector2 HorizontalRotationMinMax => horizontalArc.RotationMinMax;
|
||||||
|
public Vector2 VerticalRotationMinMax => verticalArc.RotationMinMax;
|
||||||
|
public float HorizontalRotation => horizontalArc.Value;
|
||||||
|
public float VerticalRotation => verticalArc.Value;
|
||||||
|
|
||||||
|
|
||||||
|
protected override void Awake()
|
||||||
|
{
|
||||||
|
horizontalArc.Value.AddListener(UpdateBarrelRotation);
|
||||||
|
verticalArc.Value.AddListener(UpdateBarrelRotation);
|
||||||
|
|
||||||
|
horizontalArc.Value.AddListener(UpdateTrajectory);
|
||||||
|
verticalArc.Value.AddListener(UpdateTrajectory);
|
||||||
|
|
||||||
|
horizontalArc.Value.AddListener(SnapVerticalToHorizontal);
|
||||||
|
|
||||||
|
UpdateBarrelRotation();
|
||||||
|
UpdateTrajectory();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnDestroy()
|
||||||
|
{
|
||||||
|
horizontalArc.Value.RemoveListener(UpdateBarrelRotation);
|
||||||
|
verticalArc.Value.RemoveListener(UpdateBarrelRotation);
|
||||||
|
horizontalArc.Value.RemoveListener(SnapVerticalToHorizontal);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateBarrelRotation(float unused) => UpdateBarrelRotation();
|
||||||
|
|
||||||
|
// Rotate barrel to match rotation
|
||||||
|
private void UpdateBarrelRotation()
|
||||||
|
{
|
||||||
|
barrel.transform.localRotation = Quaternion.Euler(-verticalArc.Value, horizontalArc.Value, 0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SnapVerticalToHorizontal(float horizontalAngle)
|
||||||
|
{
|
||||||
|
verticalArc.transform.rotation = Quaternion.Euler(verticalArc.transform.rotation.eulerAngles.x, horizontalAngle, verticalArc.transform.rotation.eulerAngles.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateTrajectory(float unused) => UpdateTrajectory();
|
||||||
|
|
||||||
|
private void UpdateTrajectory()
|
||||||
|
{
|
||||||
|
foreach (var ghost in ghosts)
|
||||||
|
{
|
||||||
|
ghost.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 origin = barrel.Tip.position;
|
||||||
|
Vector3 dir = barrel.transform.forward;
|
||||||
|
List<Vector3> pointsInTrajectory = new();
|
||||||
|
pointsInTrajectory.Add(origin);
|
||||||
|
for (int i = 0; i < trajectoryBounces; i++)
|
||||||
|
{
|
||||||
|
Debug.DrawRay(origin, dir.normalized * k_trajectory_maxdist, Color.red, 5f);
|
||||||
|
RaycastHit hit;
|
||||||
|
if (!Physics.Raycast(origin, dir, out hit, k_trajectory_maxdist))
|
||||||
|
break;
|
||||||
|
|
||||||
|
pointsInTrajectory.Add(hit.point);
|
||||||
|
dir = Vector3.Reflect(dir, hit.normal);
|
||||||
|
origin = hit.point;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
trajectoryLine.positionCount = pointsInTrajectory.Count;
|
||||||
|
trajectoryLine.SetPositions(pointsInTrajectory.ToArray());
|
||||||
|
|
||||||
|
// Build trajectory
|
||||||
|
for (int i = 0; i < pointsInTrajectory.Count - 1; i++)
|
||||||
|
{
|
||||||
|
Vector3 point1 = pointsInTrajectory[i];
|
||||||
|
Vector3 point2 = pointsInTrajectory[i + 1];
|
||||||
|
|
||||||
|
Vector3 trajDir = (point2 - point1).normalized;
|
||||||
|
float dist = Vector3.Distance(point1, point2);
|
||||||
|
for (float j = 0; j < dist; j += spaceBetweenGhosts)
|
||||||
|
{
|
||||||
|
Vector3 ghostPos = point1 + trajDir * j;
|
||||||
|
|
||||||
|
// Use object pool or spawn new
|
||||||
|
if (ghosts.Count >= trajectoryObjectPoolSize)
|
||||||
|
{
|
||||||
|
ghosts[poolIdx].transform.position = ghostPos;
|
||||||
|
ghosts[poolIdx].SetActive(true);
|
||||||
|
poolIdx = (poolIdx + 1) % trajectoryObjectPoolSize;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var ghost = Instantiate(ghostPrefab);
|
||||||
|
ghost.transform.position = ghostPos;
|
||||||
|
ghost.transform.parent = transform;
|
||||||
|
ghosts.Add(ghost);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 07497cc2771c1090bb0a07e731976e15
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -8,15 +8,57 @@ public class Projectile : MonoBehaviour
|
||||||
private float bounciness = 0.5f;
|
private float bounciness = 0.5f;
|
||||||
|
|
||||||
private Collider projCol;
|
private Collider projCol;
|
||||||
|
private Rigidbody body;
|
||||||
|
|
||||||
|
[SerializeField, Range(0, 50)]
|
||||||
|
private int damage = 10;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private int wallRebounces = 4;
|
||||||
|
private int hitWalls = 0;
|
||||||
|
|
||||||
|
public HealthComponent comingFrom;
|
||||||
|
|
||||||
|
private Vector3 prevVel;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
projCol = GetComponent<Collider>();
|
projCol = GetComponent<Collider>();
|
||||||
|
body = GetComponent<Rigidbody>();
|
||||||
Assert.IsNotNull(projCol);
|
Assert.IsNotNull(projCol);
|
||||||
|
|
||||||
PhysicMaterial pMat = new();
|
PhysicMaterial pMat = new();
|
||||||
pMat.bounciness = this.bounciness;
|
pMat.bounciness = this.bounciness;
|
||||||
|
pMat.staticFriction = 0f;
|
||||||
|
pMat.dynamicFriction = 0f;
|
||||||
|
pMat.frictionCombine = PhysicMaterialCombine.Minimum;
|
||||||
|
pMat.bounceCombine = PhysicMaterialCombine.Minimum;
|
||||||
|
|
||||||
projCol.material = pMat;
|
projCol.material = pMat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void LateUpdate()
|
||||||
|
{
|
||||||
|
prevVel = body.velocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnCollisionEnter(Collision collision)
|
||||||
|
{
|
||||||
|
HealthComponent hitHealthComp = collision.gameObject.GetComponent<HealthComponent>();
|
||||||
|
if (hitHealthComp == comingFrom) return;
|
||||||
|
if (hitHealthComp)
|
||||||
|
{
|
||||||
|
hitHealthComp.TakeDamage(damage);
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (++hitWalls == wallRebounces)
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
Vector3 newVel = Vector3.Reflect(prevVel.normalized, collision.contacts[0].normal.normalized);
|
||||||
|
body.velocity = newVel.normalized * prevVel.magnitude * bounciness;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,26 +4,13 @@ using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Assertions;
|
using UnityEngine.Assertions;
|
||||||
|
|
||||||
public class ProjectileTower : Tower
|
public class ProjectileTower : AimTower
|
||||||
{
|
{
|
||||||
[SerializeField] protected EditableArc horizontalArc;
|
|
||||||
[SerializeField] protected EditableArc verticalArc;
|
|
||||||
|
|
||||||
[SerializeField, Range(0.01f, 20f)] private float attackSecondsDelay = 1f;
|
[SerializeField, Range(0.01f, 20f)] private float attackSecondsDelay = 1f;
|
||||||
[SerializeField] private ProjectilePattern[] projectileSequence;
|
[SerializeField] private ProjectilePattern[] projectileSequence;
|
||||||
[SerializeField] private Barrel barrel;
|
|
||||||
[SerializeField] private LineRenderer trajectory;
|
|
||||||
[SerializeField] private int trajectoryBounces = 2;
|
|
||||||
private const float k_trajectory_maxdist = 100f;
|
|
||||||
|
|
||||||
private ProjectileSpawner projectileSpawner;
|
private ProjectileSpawner projectileSpawner;
|
||||||
|
|
||||||
public Vector3 AimDirection => barrel.transform.forward;
|
|
||||||
public Vector2 HorizontalRotationMinMax => horizontalArc.RotationMinMax;
|
|
||||||
public Vector2 VerticalRotationMinMax => verticalArc.RotationMinMax;
|
|
||||||
public float HorizontalRotation => horizontalArc.Value;
|
|
||||||
public float VerticalRotation => verticalArc.Value;
|
|
||||||
|
|
||||||
protected override void Awake()
|
protected override void Awake()
|
||||||
{
|
{
|
||||||
base.Awake();
|
base.Awake();
|
||||||
|
@ -31,74 +18,18 @@ public class ProjectileTower : Tower
|
||||||
projectileSpawner = GetComponent<ProjectileSpawner>();
|
projectileSpawner = GetComponent<ProjectileSpawner>();
|
||||||
Assert.IsNotNull(projectileSpawner);
|
Assert.IsNotNull(projectileSpawner);
|
||||||
|
|
||||||
horizontalArc.Value.AddListener(UpdateBarrelRotation);
|
|
||||||
verticalArc.Value.AddListener(UpdateBarrelRotation);
|
|
||||||
|
|
||||||
horizontalArc.Value.AddListener(UpdateTrajectory);
|
|
||||||
verticalArc.Value.AddListener(UpdateTrajectory);
|
|
||||||
|
|
||||||
horizontalArc.Value.AddListener(SnapVerticalToHorizontal);
|
|
||||||
|
|
||||||
UpdateBarrelRotation();
|
|
||||||
UpdateTrajectory();
|
|
||||||
StartCoroutine(AttackLoop());
|
StartCoroutine(AttackLoop());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SnapVerticalToHorizontal(float horizontalAngle)
|
|
||||||
{
|
|
||||||
verticalArc.transform.rotation = Quaternion.Euler(verticalArc.transform.rotation.eulerAngles.x, horizontalAngle, verticalArc.transform.rotation.eulerAngles.z);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UpdateTrajectory(float unused) => UpdateTrajectory();
|
|
||||||
|
|
||||||
private void UpdateTrajectory()
|
|
||||||
{
|
|
||||||
if (trajectory == null) return;
|
|
||||||
|
|
||||||
Vector3 origin = barrel.Tip.position;
|
|
||||||
Vector3 dir = barrel.transform.forward;
|
|
||||||
List<Vector3> pointsInTrajectory = new();
|
|
||||||
pointsInTrajectory.Add(origin);
|
|
||||||
for (int i = 0; i < trajectoryBounces; i++)
|
|
||||||
{
|
|
||||||
Debug.DrawRay(origin, dir.normalized * k_trajectory_maxdist, Color.red, 5f);
|
|
||||||
RaycastHit hit;
|
|
||||||
if (!Physics.Raycast(origin, dir, out hit, k_trajectory_maxdist))
|
|
||||||
break;
|
|
||||||
|
|
||||||
pointsInTrajectory.Add(hit.point);
|
|
||||||
dir = Vector3.Reflect(dir, hit.normal);
|
|
||||||
origin = hit.point;
|
|
||||||
}
|
|
||||||
|
|
||||||
trajectory.positionCount = pointsInTrajectory.Count;
|
|
||||||
trajectory.SetPositions(pointsInTrajectory.ToArray());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnDestroy()
|
|
||||||
{
|
|
||||||
horizontalArc.Value.RemoveListener(UpdateBarrelRotation);
|
|
||||||
verticalArc.Value.RemoveListener(UpdateBarrelRotation);
|
|
||||||
horizontalArc.Value.RemoveListener(SnapVerticalToHorizontal);
|
|
||||||
}
|
|
||||||
|
|
||||||
private IEnumerator AttackLoop()
|
private IEnumerator AttackLoop()
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
yield return new WaitForSeconds(attackSecondsDelay);
|
yield return new WaitForSeconds(attackSecondsDelay);
|
||||||
UpdateBarrelRotation();
|
|
||||||
Debug.DrawRay(transform.position, horizontalArc.ToKnobVector, Color.red, attackSecondsDelay);
|
Debug.DrawRay(transform.position, horizontalArc.ToKnobVector, Color.red, attackSecondsDelay);
|
||||||
Debug.DrawRay(transform.position, verticalArc.ToKnobVector, Color.green, attackSecondsDelay);
|
Debug.DrawRay(transform.position, verticalArc.ToKnobVector, Color.green, attackSecondsDelay);
|
||||||
Debug.DrawRay(transform.position, AimDirection, Color.yellow, attackSecondsDelay);
|
Debug.DrawRay(transform.position, AimDirection, Color.yellow, attackSecondsDelay);
|
||||||
projectileSpawner.RunBulletSequence(barrel.transform.position, transform.up, AimDirection, projectileSequence);
|
projectileSpawner.RunBulletSequence(barrel.Tip.position, transform.up, AimDirection, projectileSequence);
|
||||||
} while (true);
|
} while (true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateBarrelRotation(float unused) => UpdateBarrelRotation();
|
|
||||||
|
|
||||||
// Rotate barrel to match rotation
|
|
||||||
private void UpdateBarrelRotation()
|
|
||||||
{
|
|
||||||
barrel.transform.localRotation = Quaternion.Euler(-verticalArc.Value, horizontalArc.Value, 0f);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,10 @@ public class HealthComponent : MonoBehaviour
|
||||||
if (currentHealth == 0)
|
if (currentHealth == 0)
|
||||||
OnHealthZero?.Invoke();
|
OnHealthZero?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SimpleKill()
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ public class ProjectileSpawner : MonoBehaviour
|
||||||
|
|
||||||
projectile.transform.up = bulletDir;
|
projectile.transform.up = bulletDir;
|
||||||
projectile.GetComponent<Rigidbody>().AddForce(bulletDir * bulletPattern.Speed);
|
projectile.GetComponent<Rigidbody>().AddForce(bulletDir * bulletPattern.Speed);
|
||||||
|
projectile.GetComponent<Projectile>().comingFrom = GetComponent<HealthComponent>();
|
||||||
|
|
||||||
if (bulletPattern.Burst)
|
if (bulletPattern.Burst)
|
||||||
yield return new WaitForSeconds(bulletPattern.BurstDelay);
|
yield return new WaitForSeconds(bulletPattern.BurstDelay);
|
||||||
|
|
Loading…
Reference in New Issue