Stealth Detection Indicator
Modified fade texture to have those cool circuit trace designs Added visible hostile indicator which fills to indicate player is being detected and flashes when detected
This commit is contained in:
parent
1092159063
commit
1c4aa57d78
17 changed files with 692 additions and 26 deletions
|
|
@ -2088,6 +2088,7 @@
|
|||
<e p="TechArrow.cs" t="Include" />
|
||||
<e p="TechNode.cs" t="Include" />
|
||||
<e p="TradeMenu.cs" t="Include" />
|
||||
<e p="VisibleHostileIndicator.cs" t="Include" />
|
||||
<e p="ZoneGravityObject.cs" t="Include" />
|
||||
<e p="ZoneObject.cs" t="Include" />
|
||||
<e p="ZoneRenderer.cs" t="Include" />
|
||||
|
|
|
|||
|
|
@ -395,6 +395,7 @@
|
|||
<Compile Include="Assets\Scripts\Gameplay\HullCollider.cs" />
|
||||
<Compile Include="Assets\Wwise\Deployment\Components\AkEvent.cs" />
|
||||
<Compile Include="Assets\Wwise\Deployment\API\Generated\Common\AkFloorPlane.cs" />
|
||||
<Compile Include="Assets\Scripts\UI\VisibleHostileIndicator.cs" />
|
||||
<None Include="Assets\com.unity.uiextensions\Runtime\Resources\Shaders\UIAdditive.shader" />
|
||||
<None Include="Assets\TextMesh Pro\Resources\Shaders\TMPro.cginc" />
|
||||
<None Include="Assets\TextMesh Pro\Resources\Shaders\TMP_SDF-Mobile Overlay.shader" />
|
||||
|
|
|
|||
BIN
Asset Sources/clouds.psd
(Stored with Git LFS)
Normal file
BIN
Asset Sources/clouds.psd
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Asset Sources/triangle.psd
(Stored with Git LFS)
Normal file
BIN
Asset Sources/triangle.psd
(Stored with Git LFS)
Normal file
Binary file not shown.
|
|
@ -69,7 +69,7 @@ Material:
|
|||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _Fade: 1
|
||||
- _Fade: 0
|
||||
- _FadeEdge: 0.05
|
||||
- _FadeSharpness: 16
|
||||
- _GlossMapScale: 1
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ Material:
|
|||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _Scale: 8.4506855
|
||||
- _Scale: 1.2393435
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
|
|
|
|||
BIN
Assets/Resources/Sprites/Indicators/triangleFill.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Indicators/triangleFill.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Indicators/triangleFill.png.meta
Normal file
108
Assets/Resources/Sprites/Indicators/triangleFill.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9e87ff4a45e1fff4e8f210c3c26551a0
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Resources/Sprites/Indicators/triangleStroke.png
(Stored with Git LFS)
Normal file
BIN
Assets/Resources/Sprites/Indicators/triangleStroke.png
(Stored with Git LFS)
Normal file
Binary file not shown.
108
Assets/Resources/Sprites/Indicators/triangleStroke.png.meta
Normal file
108
Assets/Resources/Sprites/Indicators/triangleStroke.png.meta
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9fa59801aac390542a1aab396485ab57
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: -1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1759,6 +1759,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 0}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &166261016
|
||||
GameObject:
|
||||
|
|
@ -2948,6 +2951,81 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &221986828
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 221986829}
|
||||
- component: {fileID: 221986831}
|
||||
- component: {fileID: 221986830}
|
||||
m_Layer: 5
|
||||
m_Name: Stroke
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &221986829
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 221986828}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1787772780}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &221986830
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 221986828}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 0, b: 0, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 9fa59801aac390542a1aab396485ab57, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &221986831
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 221986828}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &232470596
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -3932,6 +4010,101 @@ Camera:
|
|||
m_OcclusionCulling: 0
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &328187702
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 328187706}
|
||||
- component: {fileID: 328187705}
|
||||
- component: {fileID: 328187704}
|
||||
- component: {fileID: 328187703}
|
||||
m_Layer: 0
|
||||
m_Name: Sphere
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!135 &328187703
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 328187702}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &328187704
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 328187702}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
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: 5acb4b3490cbda04c85ad7cca3b2b325, 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!33 &328187705
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 328187702}
|
||||
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &328187706
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 328187702}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1.03, y: -0.16, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 9
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &342600466
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -4143,6 +4316,7 @@ RectTransform:
|
|||
- {fileID: 1284802338}
|
||||
- {fileID: 1631662978}
|
||||
- {fileID: 146394775}
|
||||
- {fileID: 1787772780}
|
||||
m_Father: {fileID: 761574181}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
@ -7758,6 +7932,81 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 574005126}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &582989120
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 582989121}
|
||||
- component: {fileID: 582989123}
|
||||
- component: {fileID: 582989122}
|
||||
m_Layer: 5
|
||||
m_Name: Fill
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &582989121
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 582989120}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1787772780}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &582989122
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 582989120}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 9e87ff4a45e1fff4e8f210c3c26551a0, type: 3}
|
||||
m_Type: 3
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 1
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 1
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &582989123
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 582989120}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &594274405
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -10096,6 +10345,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &776416426
|
||||
MonoBehaviour:
|
||||
|
|
@ -13156,8 +13408,11 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 39f95af24dd29a645895a57a75460b0c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
TargetSpottedBlinkFrequency: 20
|
||||
TargetSpottedBlinkOffset: -0.25
|
||||
HeatstrokePP: {fileID: 1404901906}
|
||||
SevereHeatstrokePP: {fileID: 837424435}
|
||||
HostileTargetIndicator: {fileID: 1787772783}
|
||||
ViewDot: {fileID: 146394778}
|
||||
TargetIndicator: {fileID: 1556666357}
|
||||
LockIndicator: {fileID: 1876420642}
|
||||
|
|
@ -15709,6 +15964,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1284802340
|
||||
MonoBehaviour:
|
||||
|
|
@ -18509,7 +18767,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1556666354
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -18583,6 +18841,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1558182380
|
||||
GameObject:
|
||||
|
|
@ -19647,6 +19908,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1631662980
|
||||
MonoBehaviour:
|
||||
|
|
@ -21008,6 +21272,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1771741751
|
||||
MonoBehaviour:
|
||||
|
|
@ -21152,6 +21419,93 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1783772014}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1787772779
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1787772780}
|
||||
- component: {fileID: 1787772783}
|
||||
- component: {fileID: 1787772782}
|
||||
- component: {fileID: 1787772781}
|
||||
m_Layer: 5
|
||||
m_Name: Visible Hostile
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1787772780
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1787772779}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 1, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 582989121}
|
||||
- {fileID: 221986829}
|
||||
m_Father: {fileID: 346000247}
|
||||
m_RootOrder: 12
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 26.1}
|
||||
m_SizeDelta: {x: 32, y: 32}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1787772781
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1787772779}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 79e1b49bde6c1c54aa6b5c2256e0e382, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
NoiseAmplitude: 0
|
||||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 1
|
||||
ScreenSpaceOffset: {x: 0, y: 25}
|
||||
EdgeMargin: 0.001
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1787772782
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1787772779}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e39172b086df1a44c8da6b3962a5ecd3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Transform: {fileID: 1787772780}
|
||||
Fill: {fileID: 582989122}
|
||||
Place: {fileID: 1787772781}
|
||||
--- !u!114 &1787772783
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1787772779}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1803753852
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -21886,6 +22240,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1876420642
|
||||
MonoBehaviour:
|
||||
|
|
@ -22111,6 +22468,9 @@ MonoBehaviour:
|
|||
NoiseFrequency: 0
|
||||
Canvas: {fileID: 761574180}
|
||||
BorderPixels: 10
|
||||
PointAtTarget: 0
|
||||
ScreenSpaceOffset: {x: 0, y: 0}
|
||||
EdgeMargin: 0.1
|
||||
Target: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1914685584
|
||||
MonoBehaviour:
|
||||
|
|
@ -23633,8 +23993,8 @@ Camera:
|
|||
m_GameObject: {fileID: 2115559087}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.5, g: 0.5, b: 0.5, a: 0}
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0.319, g: 0.319, b: 0.319, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
|
|
|
|||
|
|
@ -23,8 +23,11 @@ using Random = UnityEngine.Random;
|
|||
|
||||
public class ActionGameManager : MonoBehaviour
|
||||
{
|
||||
public float TargetSpottedBlinkFrequency = 20;
|
||||
public float TargetSpottedBlinkOffset = -.25f;
|
||||
public PostProcessVolume HeatstrokePP;
|
||||
public PostProcessVolume SevereHeatstrokePP;
|
||||
public Prototype HostileTargetIndicator;
|
||||
public PlaceUIElementWorldspace ViewDot;
|
||||
public PlaceUIElementWorldspace TargetIndicator;
|
||||
public Prototype LockIndicator;
|
||||
|
|
@ -67,6 +70,7 @@ public class ActionGameManager : MonoBehaviour
|
|||
private float3 _viewDirection;
|
||||
private (HardpointData[] hardpoints, Transform[] barrels, PlaceUIElementWorldspace crosshair)[] _articulationGroups;
|
||||
private (LockWeapon targetLock, PlaceUIElementWorldspace indicator, Rotate spin)[] _lockingIndicators;
|
||||
private Dictionary<Entity, VisibleHostileIndicator> _visibleHostileIndicators = new Dictionary<Entity, VisibleHostileIndicator>();
|
||||
private List<IDisposable> _shipSubscriptions = new List<IDisposable>();
|
||||
private float _severeHeatstrokePhase;
|
||||
|
||||
|
|
@ -576,21 +580,11 @@ public class ActionGameManager : MonoBehaviour
|
|||
return (x, i, i.GetComponent<Rotate>());
|
||||
}).ToArray();
|
||||
|
||||
CurrentShip.HullDamage.Subscribe(f =>
|
||||
{
|
||||
if (float.IsNaN(CurrentShip.Hull.Durability))
|
||||
Debug.Log("WTF!");
|
||||
});
|
||||
_shipSubscriptions.Add(CurrentShip.Target.Subscribe(target =>
|
||||
{
|
||||
TargetIndicator.gameObject.SetActive(CurrentShip.Target.Value != null);
|
||||
TargetShipPanel.gameObject.SetActive(target != null);
|
||||
if (target != null)
|
||||
{
|
||||
TargetShipPanel.Display(target, true);
|
||||
TargetSchematicDisplay.ShowShip(target, CurrentShip);
|
||||
}
|
||||
}));
|
||||
// CurrentShip.HullDamage.Subscribe(f =>
|
||||
// {
|
||||
// if (float.IsNaN(CurrentShip.Hull.Durability))
|
||||
// Debug.Log("WTF!");
|
||||
// });
|
||||
|
||||
//_shipSubscriptions.Add(CurrentShip.HeatstrokeRisk.Subscribe(_ => _severeHeatstrokePhase = 0));
|
||||
|
||||
|
|
@ -632,6 +626,36 @@ public class ActionGameManager : MonoBehaviour
|
|||
crosshair.gameObject.SetActive(false);
|
||||
foreach (var group in _articulationGroups)
|
||||
group.crosshair.gameObject.SetActive(true);
|
||||
|
||||
foreach(var subscription in _shipSubscriptions) subscription.Dispose();
|
||||
_shipSubscriptions.Clear();
|
||||
|
||||
_shipSubscriptions.Add(CurrentShip.Target.Subscribe(target =>
|
||||
{
|
||||
TargetIndicator.gameObject.SetActive(CurrentShip.Target.Value != null);
|
||||
TargetShipPanel.gameObject.SetActive(target != null);
|
||||
if (target != null)
|
||||
{
|
||||
TargetShipPanel.Display(target, true);
|
||||
TargetSchematicDisplay.ShowShip(target, CurrentShip);
|
||||
}
|
||||
}));
|
||||
|
||||
foreach (var entity in CurrentShip.VisibleHostiles)
|
||||
{
|
||||
var indicator = HostileTargetIndicator.Instantiate<VisibleHostileIndicator>();
|
||||
_visibleHostileIndicators.Add(entity, indicator);
|
||||
}
|
||||
_shipSubscriptions.Add(CurrentShip.VisibleHostiles.ObserveAdd().Subscribe(addEvent =>
|
||||
{
|
||||
var indicator = HostileTargetIndicator.Instantiate<VisibleHostileIndicator>();
|
||||
_visibleHostileIndicators.Add(addEvent.Value, indicator);
|
||||
}));
|
||||
_shipSubscriptions.Add(CurrentShip.VisibleHostiles.ObserveRemove().Subscribe(removeEvent =>
|
||||
{
|
||||
_visibleHostileIndicators[removeEvent.Value].GetComponent<Prototype>().ReturnToPool();
|
||||
_visibleHostileIndicators.Remove(removeEvent.Value);
|
||||
}));
|
||||
}
|
||||
|
||||
public void SaveZone() => File.WriteAllBytes(
|
||||
|
|
@ -674,6 +698,16 @@ public class ActionGameManager : MonoBehaviour
|
|||
ItemManager.Time = Time.time;
|
||||
if(CurrentShip !=null && CurrentShip.Parent==null)
|
||||
{
|
||||
foreach (var indicator in _visibleHostileIndicators)
|
||||
{
|
||||
indicator.Value.gameObject.SetActive(indicator.Key!=CurrentShip.Target.Value);
|
||||
indicator.Value.Place.Target = indicator.Key.Position;
|
||||
indicator.Value.Fill.fillAmount =
|
||||
saturate(indicator.Key.EntityInfoGathered[CurrentShip] / Settings.GameplaySettings.TargetDetectionInfoThreshold);
|
||||
indicator.Value.Fill.enabled =
|
||||
!(indicator.Key.EntityInfoGathered[CurrentShip] > Settings.GameplaySettings.TargetDetectionInfoThreshold) ||
|
||||
sin(TargetSpottedBlinkFrequency * Time.time) + TargetSpottedBlinkOffset > 0;
|
||||
}
|
||||
var look = _input.Player.Look.ReadValue<Vector2>();
|
||||
_shipYawPitch = float2(_shipYawPitch.x + look.x * Sensitivity.x, clamp(_shipYawPitch.y + look.y * Sensitivity.y, -.45f * PI, .45f * PI));
|
||||
_viewDirection = mul(float3(0, 0, 1), Unity.Mathematics.float3x3.Euler(float3(_shipYawPitch.yx, 0), RotationOrder.YXZ));
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ public class PlaceUIElementWorldspace : MonoBehaviour
|
|||
public float NoiseFrequency;
|
||||
public Canvas Canvas;
|
||||
public float BorderPixels = 10;
|
||||
public bool PointAtTarget;
|
||||
public Vector2 ScreenSpaceOffset;
|
||||
public float EdgeMargin = .1f;
|
||||
|
||||
public Vector3 Target;
|
||||
|
||||
|
|
@ -21,6 +24,8 @@ public class PlaceUIElementWorldspace : MonoBehaviour
|
|||
private Transform _cameraTransform;
|
||||
private float _noiseOffset;
|
||||
private RectTransform _canvasRectTransform;
|
||||
private Camera _mainCamera;
|
||||
private Quaternion _startRotation;
|
||||
|
||||
void Start()
|
||||
{
|
||||
|
|
@ -28,6 +33,8 @@ public class PlaceUIElementWorldspace : MonoBehaviour
|
|||
_rectTransform = GetComponent<RectTransform>();
|
||||
_cameraTransform = Camera.main.transform;
|
||||
_canvasRectTransform = Canvas.GetComponent<RectTransform>();
|
||||
_mainCamera = Camera.main;
|
||||
_startRotation = transform.rotation;
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
|
|
@ -42,10 +49,23 @@ public class PlaceUIElementWorldspace : MonoBehaviour
|
|||
{
|
||||
_noiseOffset += Time.deltaTime * NoiseFrequency;
|
||||
|
||||
Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(Camera.main, Target);
|
||||
Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(_mainCamera, Target);
|
||||
var toTarget = (Target - _mainCamera.transform.position).normalized;
|
||||
|
||||
screenPoint *= Mathf.Sign(Vector3.Dot(_cameraTransform.forward, Target - _cameraTransform.position));
|
||||
screenPoint += new Vector2(noise(_noiseOffset), noise(10 + _noiseOffset)) * NoiseAmplitude;
|
||||
screenPoint = new Vector2(Mathf.Clamp(screenPoint.x, BorderPixels, Screen.width - BorderPixels),Mathf.Clamp(screenPoint.y, BorderPixels, Screen.height - BorderPixels));
|
||||
_rectTransform.anchoredPosition = screenPoint / Canvas.scaleFactor - _canvasRectTransform.sizeDelta / 2f;
|
||||
var clampedPoint = new Vector2(
|
||||
Mathf.Clamp(screenPoint.x, BorderPixels, Screen.width - BorderPixels),
|
||||
Mathf.Clamp(screenPoint.y, BorderPixels, Screen.height - BorderPixels));
|
||||
var toEdge = _mainCamera.ScreenPointToRay(clampedPoint);
|
||||
var edgeLerp = smoothstep(1 - EdgeMargin, 1, dot(toEdge.direction, toTarget));
|
||||
if (PointAtTarget)
|
||||
{
|
||||
transform.rotation = Quaternion.Slerp(
|
||||
Quaternion.LookRotation(Vector3.forward, (screenPoint - clampedPoint).normalized),
|
||||
_startRotation, edgeLerp);
|
||||
}
|
||||
clampedPoint += ScreenSpaceOffset * edgeLerp;
|
||||
_rectTransform.anchoredPosition = clampedPoint / Canvas.scaleFactor - _canvasRectTransform.sizeDelta / 2f;
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/UI/VisibleHostileIndicator.cs
Normal file
11
Assets/Scripts/UI/VisibleHostileIndicator.cs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class VisibleHostileIndicator : MonoBehaviour
|
||||
{
|
||||
public RectTransform Transform;
|
||||
public Image Fill;
|
||||
public PlaceUIElementWorldspace Place;
|
||||
}
|
||||
11
Assets/Scripts/UI/VisibleHostileIndicator.cs.meta
Normal file
11
Assets/Scripts/UI/VisibleHostileIndicator.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e39172b086df1a44c8da6b3962a5ecd3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -67,7 +67,7 @@ Shader "Aetheria/GlowFade"
|
|||
|
||||
void surf (Input IN, inout SurfaceOutputStandard o)
|
||||
{
|
||||
half f = tex2D (_FadeTex, IN.uv_FadeTex).r + (1-_Fade);
|
||||
half f = tex2D (_FadeTex, IN.uv_FadeTex).r + (1-_FadeEdge-_Fade);
|
||||
half3 e = _EdgeColor * smoothstep(1 - _FadeEdge, 1, f);
|
||||
o.Emission = e;
|
||||
// Apply screen space dithering
|
||||
|
|
|
|||
BIN
Assets/Textures/clouds.png
(Stored with Git LFS)
BIN
Assets/Textures/clouds.png
(Stored with Git LFS)
Binary file not shown.
Loading…
Reference in a new issue