Created field bubble shields / propulsion, currently just a prototype with its own test scene
This commit is contained in:
Reinier Vens 2025-01-30 01:58:05 +00:00
commit c6ffcad3f1
213 changed files with 2145 additions and 1213 deletions

5
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,5 @@
{
"recommendations": [
"visualstudiotoolsforunity.vstuc"
]
}

10
.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,10 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Unity",
"type": "vstuc",
"request": "attach"
}
]
}

60
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,60 @@
{
"files.exclude": {
"**/.DS_Store": true,
"**/.git": true,
"**/.vs": true,
"**/.gitmodules": true,
"**/.vsconfig": true,
"**/*.booproj": true,
"**/*.pidb": true,
"**/*.suo": true,
"**/*.user": true,
"**/*.userprefs": true,
"**/*.unityproj": true,
"**/*.dll": true,
"**/*.exe": true,
"**/*.pdf": true,
"**/*.mid": true,
"**/*.midi": true,
"**/*.wav": true,
"**/*.gif": true,
"**/*.ico": true,
"**/*.jpg": true,
"**/*.jpeg": true,
"**/*.png": true,
"**/*.psd": true,
"**/*.tga": true,
"**/*.tif": true,
"**/*.tiff": true,
"**/*.3ds": true,
"**/*.3DS": true,
"**/*.fbx": true,
"**/*.FBX": true,
"**/*.lxo": true,
"**/*.LXO": true,
"**/*.ma": true,
"**/*.MA": true,
"**/*.obj": true,
"**/*.OBJ": true,
"**/*.asset": true,
"**/*.cubemap": true,
"**/*.flare": true,
"**/*.mat": true,
"**/*.meta": true,
"**/*.prefab": true,
"**/*.unity": true,
"build/": true,
"Build/": true,
"Library/": true,
"library/": true,
"obj/": true,
"Obj/": true,
"Logs/": true,
"logs/": true,
"ProjectSettings/": true,
"UserSettings/": true,
"temp/": true,
"Temp/": true
},
"dotnet.defaultSolution": "Aetheria-Economy.sln"
}

View file

@ -0,0 +1,82 @@
%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: Fog Brush
m_Shader: {fileID: 4800000, guid: 268da230635cfb34ab4ed6ad39503fa0, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 1
- _Depth: 80
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Power: 16
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8dd249f658a914548b4890537a80eab8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Sector Waves Medium m_Name: Sector Waves Medium
m_Shader: {fileID: 4800000, guid: ccdbaf77577994d46b0e61c53d5dc4a9, type: 3} m_Shader: {fileID: 4800000, guid: ccdbaf77577994d46b0e61c53d5dc4a9, type: 3}
m_ShaderKeywords: B m_ValidKeywords: []
m_InvalidKeywords:
- B
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
@ -55,11 +57,12 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _BumpScale: 1 - _BumpScale: 1
- _Constant: 1 - _Constant: 1
- _Cutoff: 0.5 - _Cutoff: 0.5
- _Depth: 4 - _Depth: 7.58
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DstBlend: 0 - _DstBlend: 0
- _Frequency: 0.01 - _Frequency: 0.01

View file

@ -62,7 +62,7 @@ Material:
- _BumpScale: 1 - _BumpScale: 1
- _Constant: 0 - _Constant: 0
- _Cutoff: 0.5 - _Cutoff: 0.5
- _Depth: -8 - _Depth: -16.75
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DstBlend: 0 - _DstBlend: 0
- _Frequency: 0.005 - _Frequency: 0.005

View file

@ -2,14 +2,17 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Grid 1 m_Name: Grid 1
m_Shader: {fileID: 4800000, guid: 715b1ce444e57364a9458657be896071, type: 3} m_Shader: {fileID: 4800000, guid: 715b1ce444e57364a9458657be896071, type: 3}
m_ShaderKeywords: _RENDERING_CUTOUT _TESSELLATION_EDGE m_ValidKeywords:
- _RENDERING_CUTOUT
- _TESSELLATION_EDGE
m_InvalidKeywords: []
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
@ -21,11 +24,11 @@ Material:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
- _AlphaMask: - _AlphaMask:
m_Texture: {fileID: 2800000, guid: 314e63bcb8ac19045b9577f68a24bb42, type: 3} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _Background: - _Background:
m_Texture: {fileID: 8900000, guid: b607eb85a346eaf459b28449d909bbe5, type: 3} m_Texture: {fileID: 8900000, guid: 589f8d25c07df474ebf6e5cf31ac21c4, type: 3}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _BumpMap: - _BumpMap:
@ -84,12 +87,13 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _AlphaClip: 0.4 - _AlphaClip: 0.4
- _AlphaRange: 80 - _AlphaRange: 465.6
- _AlphaRangeCenter: -100 - _AlphaRangeCenter: -100
- _AlphaRangeFeather: 10 - _AlphaRangeFeather: 25
- _AlphaTiling: 0.5 - _AlphaTiling: 1
- _BackgroundBlur: 0.75 - _BackgroundBlur: 0.75
- _BackgroundFresnel: 0.999 - _BackgroundFresnel: 0.999
- _BumpScale: 1 - _BumpScale: 1
@ -113,7 +117,7 @@ Material:
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _ParallaxStrength: 0 - _ParallaxStrength: 0
- _Smoothness: 1 - _Smoothness: 0.824
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1

View file

@ -9,7 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Shield m_Name: Shield
m_Shader: {fileID: 4800000, guid: 8cdd48af96eb47745a96bca98f53d5bd, type: 3} m_Shader: {fileID: 4800000, guid: 8cdd48af96eb47745a96bca98f53d5bd, type: 3}
m_ValidKeywords: [] m_ValidKeywords:
- A
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -21,7 +22,7 @@ Material:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
- _Background: - _Background:
m_Texture: {fileID: 8900000, guid: 3aff5e4f12da60e42b543a55f412144f, type: 3} m_Texture: {fileID: 8900000, guid: 589f8d25c07df474ebf6e5cf31ac21c4, type: 3}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _BumpMap: - _BumpMap:
@ -75,44 +76,80 @@ Material:
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _Ambient_Multiplier: 0 - _Ambient_Multiplier: 0
- _BackgroundBlur: 0 - _BackgroundBlur: 0.1
- _BackgroundFresnel: -0.5 - _BackgroundFresnel: 0.75
- _BlurFresnel: -2
- _BulbRadius: 0
- _BulbRange: 0.05
- _BumpScale: 1 - _BumpScale: 1
- _CellExponent: 1
- _CellSpeed: 1
- _CellTiling: 12
- _Cutoff: 0.5 - _Cutoff: 0.5
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DeviationOpacityExponent: 4
- _Displacement: 1 - _Displacement: 1
- _DisplacementOpacity: 0
- _DstBlend: 0 - _DstBlend: 0
- _Emission: 50 - _Emission: 8
- _EmissionFresnel: 0.5 - _EmissionFresnel: -0.5
- _FresnelOpacity: 1 - _FresnelOpacity: 1
- _Gloss: 1 - _Gloss: 1
- _GlossMapScale: 1 - _GlossMapScale: 1
- _Glossiness: 0.5 - _Glossiness: 0.5
- _GlossyReflections: 1 - _GlossyReflections: 1
- _MaxDisplacement: 0.073 - _MaxDisplacement: 0.073
- _MeleeDisplacement: 0
- _MeleeFlattening: 8
- _MeleeShape: 4
- _Metallic: 1 - _Metallic: 1
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _OpacityFresnel: 3 - _OpacityFresnel: 4
- _Parallax: 0.02 - _Parallax: 0.02
- _PushOpacity: 1 - _Push: 1
- _PushEnvelopeExponent: 2
- _PushFrequencyExponent: 2
- _PushOpacity: 0
- _PushOpacityRangeMax: 0.25 - _PushOpacityRangeMax: 0.25
- _PushOpacityRangeMin: 0.75 - _PushOpacityRangeMin: 0.75
- _PushVerticalExponent: 0
- _PushWaveEnvelopeExponent: 2 - _PushWaveEnvelopeExponent: 2
- _PushWaveExponent: 1 - _PushWaveExponent: 1
- _PushWaveFrequency: 8 - _PushWaveFrequency: 8
- _PushWaveMagnitude: 2 - _PushWaveMagnitude: 0
- _PushWaveOffset: 0 - _PushWaveOffset: 0
- _PushWaveRange: 3.14 - _PushWaveRange: 3.14
- _PushWaveRangeExponent: 4 - _PushWaveRangeExponent: 4
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _Speed: 1
- _SrcBlend: 1 - _SrcBlend: 1
- _SubdivisionAmount: 10 - _SubdivisionAmount: 8
- _TendrilExponent: 2
- _TendrilInfluence: 0.1
- _TendrilRadius: 0
- _TendrilSize: 0
- _TwistAngleExponent: 1
- _TwistAngleMax: 1
- _TwistAngleMin: 1
- _TwistBack: 1
- _TwistEnvelopeExponent: 2
- _TwistFrequencyExponent: 1.5
- _TwistFront: 0
- _TwistRear: 0
- _TwistVerticalExponent: 8
- _UVSec: 0 - _UVSec: 0
- _WaveExponent: 1
- _WaveFrequency: 50.24
- _WaveMagnitude: 1
- _WaveOffset: 0
- _WaveRangeExponent: 2
- _ZWrite: 1 - _ZWrite: 1
m_Colors: m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 0.25499997, b: 0.6288488, a: 1} - _EmissionColor: {r: 0.25490198, g: 0.7046673, b: 1, a: 1}
- _PushDirection: {r: 0, g: 0, b: 1, a: 1} - _InverseScale: {r: 0.25, g: 0.33333334, b: 0.083333336, a: 1}
- _MeleeDirection: {r: -0.00000008742278, g: -0, b: -1, a: 0}
- _PushDirection: {r: 0, g: 0, b: -1, a: 0}
m_BuildTextureStacks: [] m_BuildTextureStacks: []

View file

@ -63,7 +63,7 @@ Material:
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _AtmosphereThickness: 0.15 - _AtmosphereThickness: 0.05
- _BumpScale: 1 - _BumpScale: 1
- _Cutoff: 0.5 - _Cutoff: 0.5
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1

View file

@ -19,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Entrance m_Name: Entrance
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3} m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0 m_LightmapFlags: 0
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _BlendOp: 0 - _BlendOp: 0
- _BumpScale: 1 - _BumpScale: 1

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Galaxy Zone Background Primary m_Name: Galaxy Zone Background Primary
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3} m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0 m_LightmapFlags: 0
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _BlendOp: 0 - _BlendOp: 0
- _BumpScale: 1 - _BumpScale: 1

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Galaxy Zone Background Secondary m_Name: Galaxy Zone Background Secondary
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3} m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0 m_LightmapFlags: 0
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _BlendOp: 0 - _BlendOp: 0
- _BumpScale: 1 - _BumpScale: 1

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Galaxy Zone m_Name: Galaxy Zone
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3} m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHABLEND_ON m_ValidKeywords:
- _ALPHABLEND_ON
m_InvalidKeywords: []
m_LightmapFlags: 0 m_LightmapFlags: 0
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _BlendOp: 0 - _BlendOp: 0
- _BumpScale: 1 - _BumpScale: 1

View file

@ -19,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:

View file

@ -76,7 +76,7 @@ Material:
- _ColorMask: 15 - _ColorMask: 15
- _Cutoff: 0.5 - _Cutoff: 0.5
- _DangerSteepness: 1.5 - _DangerSteepness: 1.5
- _DepthRange: 284.9062 - _DepthRange: 216.52303
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DstBlend: 0 - _DstBlend: 0
- _GlossMapScale: 1 - _GlossMapScale: 1
@ -89,7 +89,7 @@ Material:
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _Scale: 0.0007099797 - _Scale: 2.1248078
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1

View file

@ -71,7 +71,7 @@ Material:
- _ColorMask: 15 - _ColorMask: 15
- _Cutoff: 0.5 - _Cutoff: 0.5
- _DangerSteepness: 1.5 - _DangerSteepness: 1.5
- _DepthRange: 284.9062 - _DepthRange: 216.52303
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DstBlend: 0 - _DstBlend: 0
- _GlossMapScale: 1 - _GlossMapScale: 1

View file

@ -19,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:

View file

@ -19,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Zone Link m_Name: Zone Link
m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3} m_Shader: {fileID: 4800000, guid: f69be63d97f3ffe499bc8ad9f5a104c6, type: 3}
m_ShaderKeywords: _ALPHAPREMULTIPLY_ON m_ValidKeywords:
- _ALPHAPREMULTIPLY_ON
m_InvalidKeywords: []
m_LightmapFlags: 0 m_LightmapFlags: 0
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
@ -17,7 +19,7 @@ Material:
stringTagMap: stringTagMap:
RenderType: Transparent RenderType: Transparent
disabledShaderPasses: disabledShaderPasses:
- ALWAYS - GRABPASS
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
@ -57,6 +59,7 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _BlendOp: 0 - _BlendOp: 0
- _BumpScale: 1 - _BumpScale: 1

BIN
Assets/Models/CatmullGrid.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,351 @@
fileFormatVersion: 2
guid: aa6193d250644494faa1b8492b0e98d1
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: CatmullGrid_MeshPart0
- first:
1: 100004
second: CatmullGrid_MeshPart1
- first:
1: 100006
second: CatmullGrid_MeshPart10
- first:
1: 100008
second: CatmullGrid_MeshPart11
- first:
1: 100010
second: CatmullGrid_MeshPart12
- first:
1: 100012
second: CatmullGrid_MeshPart13
- first:
1: 100014
second: CatmullGrid_MeshPart14
- first:
1: 100016
second: CatmullGrid_MeshPart2
- first:
1: 100018
second: CatmullGrid_MeshPart3
- first:
1: 100020
second: CatmullGrid_MeshPart4
- first:
1: 100022
second: CatmullGrid_MeshPart5
- first:
1: 100024
second: CatmullGrid_MeshPart6
- first:
1: 100026
second: CatmullGrid_MeshPart7
- first:
1: 100028
second: CatmullGrid_MeshPart8
- first:
1: 100030
second: CatmullGrid_MeshPart9
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: CatmullGrid_MeshPart0
- first:
4: 400004
second: CatmullGrid_MeshPart1
- first:
4: 400006
second: CatmullGrid_MeshPart10
- first:
4: 400008
second: CatmullGrid_MeshPart11
- first:
4: 400010
second: CatmullGrid_MeshPart12
- first:
4: 400012
second: CatmullGrid_MeshPart13
- first:
4: 400014
second: CatmullGrid_MeshPart14
- first:
4: 400016
second: CatmullGrid_MeshPart2
- first:
4: 400018
second: CatmullGrid_MeshPart3
- first:
4: 400020
second: CatmullGrid_MeshPart4
- first:
4: 400022
second: CatmullGrid_MeshPart5
- first:
4: 400024
second: CatmullGrid_MeshPart6
- first:
4: 400026
second: CatmullGrid_MeshPart7
- first:
4: 400028
second: CatmullGrid_MeshPart8
- first:
4: 400030
second: CatmullGrid_MeshPart9
- first:
23: 2300000
second: CatmullGrid_MeshPart0
- first:
23: 2300002
second: CatmullGrid_MeshPart1
- first:
23: 2300004
second: CatmullGrid_MeshPart10
- first:
23: 2300006
second: CatmullGrid_MeshPart11
- first:
23: 2300008
second: CatmullGrid_MeshPart12
- first:
23: 2300010
second: CatmullGrid_MeshPart13
- first:
23: 2300012
second: CatmullGrid_MeshPart14
- first:
23: 2300014
second: CatmullGrid_MeshPart2
- first:
23: 2300016
second: CatmullGrid_MeshPart3
- first:
23: 2300018
second: CatmullGrid_MeshPart4
- first:
23: 2300020
second: CatmullGrid_MeshPart5
- first:
23: 2300022
second: CatmullGrid_MeshPart6
- first:
23: 2300024
second: CatmullGrid_MeshPart7
- first:
23: 2300026
second: CatmullGrid_MeshPart8
- first:
23: 2300028
second: CatmullGrid_MeshPart9
- first:
23: 2300030
second: //RootNode
- first:
33: 3300000
second: CatmullGrid_MeshPart0
- first:
33: 3300002
second: CatmullGrid_MeshPart1
- first:
33: 3300004
second: CatmullGrid_MeshPart10
- first:
33: 3300006
second: CatmullGrid_MeshPart11
- first:
33: 3300008
second: CatmullGrid_MeshPart12
- first:
33: 3300010
second: CatmullGrid_MeshPart13
- first:
33: 3300012
second: CatmullGrid_MeshPart14
- first:
33: 3300014
second: CatmullGrid_MeshPart2
- first:
33: 3300016
second: CatmullGrid_MeshPart3
- first:
33: 3300018
second: CatmullGrid_MeshPart4
- first:
33: 3300020
second: CatmullGrid_MeshPart5
- first:
33: 3300022
second: CatmullGrid_MeshPart6
- first:
33: 3300024
second: CatmullGrid_MeshPart7
- first:
33: 3300026
second: CatmullGrid_MeshPart8
- first:
33: 3300028
second: CatmullGrid_MeshPart9
- first:
33: 3300030
second: //RootNode
- first:
43: 4300000
second: CatmullGrid_MeshPart0
- first:
43: 4300002
second: CatmullGrid_MeshPart1
- first:
43: 4300004
second: CatmullGrid_MeshPart2
- first:
43: 4300006
second: CatmullGrid_MeshPart3
- first:
43: 4300008
second: CatmullGrid_MeshPart4
- first:
43: 4300010
second: CatmullGrid_MeshPart5
- first:
43: 4300012
second: CatmullGrid_MeshPart6
- first:
43: 4300014
second: CatmullGrid_MeshPart7
- first:
43: 4300016
second: CatmullGrid_MeshPart8
- first:
43: 4300018
second: CatmullGrid_MeshPart9
- first:
43: 4300020
second: CatmullGrid_MeshPart10
- first:
43: 4300022
second: CatmullGrid_MeshPart11
- first:
43: 4300024
second: CatmullGrid_MeshPart12
- first:
43: 4300026
second: CatmullGrid_MeshPart13
- first:
43: 4300028
second: CatmullGrid_MeshPart14
- first:
43: 4300030
second: CatmullGrid
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: No Name
second: {fileID: 2100000, guid: 429eef4d6d29a9d4b9bb60e38e60bc75, type: 2}
materials:
materialImportMode: 0
materialName: 0
materialSearch: 1
materialLocation: 0
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: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 0
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
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: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 0
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: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -66,7 +66,7 @@ ModelImporter:
secondaryUVMinLightmapResolution: 40 secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1 secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4 secondaryUVPackMargin: 4
useFileScale: 1 useFileScale: 0
tangentSpace: tangentSpace:
normalSmoothAngle: 60 normalSmoothAngle: 60
normalImportMode: 0 normalImportMode: 0

View file

@ -11,6 +11,7 @@ namespace UniRx.Triggers
public class ObservablePointerEnterTrigger : ObservableTriggerBase, IEventSystemHandler, IPointerEnterHandler public class ObservablePointerEnterTrigger : ObservableTriggerBase, IEventSystemHandler, IPointerEnterHandler
{ {
Subject<PointerEventData> onPointerEnter; Subject<PointerEventData> onPointerEnter;
public bool SuppressDisable;
void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData) void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
{ {
@ -24,7 +25,8 @@ namespace UniRx.Triggers
private void OnDisable() private void OnDisable()
{ {
onPointerEnter = null; if(!SuppressDisable)
onPointerEnter = null;
} }
protected override void RaiseOnCompletedOnDestroy() protected override void RaiseOnCompletedOnDestroy()
@ -38,4 +40,4 @@ namespace UniRx.Triggers
} }
#endif #endif

View file

@ -0,0 +1,85 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &791530951415938407
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3040023561780424834}
- component: {fileID: 8539532519029615782}
- component: {fileID: 4655154266675363797}
m_Layer: 11
m_Name: Fog Patch
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3040023561780424834
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791530951415938407}
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
m_LocalPosition: {x: -3148.4, y: -253.6, z: -1108.1}
m_LocalScale: {x: 1513.8295, y: 1513.8295, z: 1513.8295}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &8539532519029615782
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791530951415938407}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &4655154266675363797
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 791530951415938407}
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: 8dd249f658a914548b4890537a80eab8, 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}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4084aa3d08e52e04f880ad13daa409b4
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 8842807112802394818} - component: {fileID: 8842807112802394818}
- component: {fileID: 8689774408369415534} - component: {fileID: 8689774408369415534}
- component: {fileID: 5705448000916375656} - component: {fileID: 5705448000916375656}
- component: {fileID: -5496574226213385675}
m_Layer: 21 m_Layer: 21
m_Name: Dodecahedron m_Name: Dodecahedron
m_TagString: Untagged m_TagString: Untagged
@ -186,6 +187,18 @@ MonoBehaviour:
LabelDisplayMaxDistance: 500 LabelDisplayMaxDistance: 500
ScanLabelContainer: {fileID: 6463386671854692106} ScanLabelContainer: {fileID: 6463386671854692106}
ScanLabel: {fileID: 3355762817961458026} ScanLabel: {fileID: 3355762817961458026}
--- !u!114 &-5496574226213385675
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5284461483464579928}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &306400354849379669 --- !u!1001 &306400354849379669
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 7449398549621940518} - component: {fileID: 7449398549621940518}
- component: {fileID: 4507103896627202189} - component: {fileID: 4507103896627202189}
- component: {fileID: 648083621841515580} - component: {fileID: 648083621841515580}
- component: {fileID: -5443764149998352794}
m_Layer: 21 m_Layer: 21
m_Name: Hexahedron m_Name: Hexahedron
m_TagString: Untagged m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0 m_Interpolate: 0
m_Constraints: 0 m_Constraints: 0
m_CollisionDetection: 0 m_CollisionDetection: 0
--- !u!114 &-5443764149998352794
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7643266616531142933}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &1190053687094253987 --- !u!1001 &1190053687094253987
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 8747099621875196907} - component: {fileID: 8747099621875196907}
- component: {fileID: 1545255963217739444} - component: {fileID: 1545255963217739444}
- component: {fileID: -5409019571952974707} - component: {fileID: -5409019571952974707}
- component: {fileID: -2501508196100734606}
m_Layer: 21 m_Layer: 21
m_Name: Icosahedron m_Name: Icosahedron
m_TagString: Untagged m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0 m_Interpolate: 0
m_Constraints: 0 m_Constraints: 0
m_CollisionDetection: 0 m_CollisionDetection: 0
--- !u!114 &-2501508196100734606
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7167547457198401877}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &3463514625940279421 --- !u!1001 &3463514625940279421
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 946329779588188460} - component: {fileID: 946329779588188460}
- component: {fileID: 7390748043139687254} - component: {fileID: 7390748043139687254}
- component: {fileID: -4611973708976329780} - component: {fileID: -4611973708976329780}
- component: {fileID: -8908388773057984787}
m_Layer: 21 m_Layer: 21
m_Name: Octahedron m_Name: Octahedron
m_TagString: Untagged m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0 m_Interpolate: 0
m_Constraints: 0 m_Constraints: 0
m_CollisionDetection: 0 m_CollisionDetection: 0
--- !u!114 &-8908388773057984787
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8555821447211356933}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &2076349920387032576 --- !u!1001 &2076349920387032576
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -47,6 +47,7 @@ GameObject:
- component: {fileID: 4008709970769624704} - component: {fileID: 4008709970769624704}
- component: {fileID: 7436534270673427838} - component: {fileID: 7436534270673427838}
- component: {fileID: -6589342969031261525} - component: {fileID: -6589342969031261525}
- component: {fileID: 5724758014884646323}
m_Layer: 21 m_Layer: 21
m_Name: Tetrahedron m_Name: Tetrahedron
m_TagString: Untagged m_TagString: Untagged
@ -186,6 +187,18 @@ Rigidbody:
m_Interpolate: 0 m_Interpolate: 0
m_Constraints: 0 m_Constraints: 0
m_CollisionDetection: 0 m_CollisionDetection: 0
--- !u!114 &5724758014884646323
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7767746557817481743}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 52538a3309c36fc4583c964a1c0b705f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &6290826240748108471 --- !u!1001 &6290826240748108471
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -306,6 +306,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3} m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
SuppressDisable: 1
--- !u!114 &2829353637824256212 --- !u!114 &2829353637824256212
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -11,7 +11,8 @@
"id": "197ba05c-054a-44fc-8328-0d37e8ac00db", "id": "197ba05c-054a-44fc-8328-0d37e8ac00db",
"expectedControlType": "Vector2", "expectedControlType": "Vector2",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": true
}, },
{ {
"name": "Look", "name": "Look",
@ -19,7 +20,8 @@
"id": "323b9ea0-f916-4609-b697-322fc0ef9420", "id": "323b9ea0-f916-4609-b697-322fc0ef9420",
"expectedControlType": "Vector2", "expectedControlType": "Vector2",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": true
}, },
{ {
"name": "Minimap Zoom", "name": "Minimap Zoom",
@ -27,7 +29,8 @@
"id": "5708685d-78bd-4d2b-8796-712704f21bfb", "id": "5708685d-78bd-4d2b-8796-712704f21bfb",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Target Reticle", "name": "Target Reticle",
@ -35,7 +38,8 @@
"id": "86f2e6cc-b895-4c55-aa19-70220df477d2", "id": "86f2e6cc-b895-4c55-aa19-70220df477d2",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Target Previous", "name": "Target Previous",
@ -43,7 +47,8 @@
"id": "2cf8e2b2-1463-463b-8f55-e79884f3767d", "id": "2cf8e2b2-1463-463b-8f55-e79884f3767d",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Target Next", "name": "Target Next",
@ -51,7 +56,8 @@
"id": "1e2bd5af-e174-4533-8c57-b04b7e9df92c", "id": "1e2bd5af-e174-4533-8c57-b04b7e9df92c",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Target Nearest", "name": "Target Nearest",
@ -59,7 +65,8 @@
"id": "b2a42777-c22b-48f3-9e74-8dc715449845", "id": "b2a42777-c22b-48f3-9e74-8dc715449845",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Toggle Heatsinks", "name": "Toggle Heatsinks",
@ -67,7 +74,8 @@
"id": "e6c6ff6a-4ac2-4e53-a3c9-9461f52e723f", "id": "e6c6ff6a-4ac2-4e53-a3c9-9461f52e723f",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Toggle Shield", "name": "Toggle Shield",
@ -75,7 +83,8 @@
"id": "5566504f-ee89-4eb9-9bbb-03f4b22dfe7d", "id": "5566504f-ee89-4eb9-9bbb-03f4b22dfe7d",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Override Shutdown", "name": "Override Shutdown",
@ -83,7 +92,8 @@
"id": "62a64686-4670-43c9-81ee-bbb8578e284b", "id": "62a64686-4670-43c9-81ee-bbb8578e284b",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Ping", "name": "Ping",
@ -91,7 +101,8 @@
"id": "cfc95f69-9b8a-41d5-a071-003b4e292524", "id": "cfc95f69-9b8a-41d5-a071-003b4e292524",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Hide UI", "name": "Hide UI",
@ -99,7 +110,8 @@
"id": "1cdb2515-91e1-4895-879d-8a7347e60b21", "id": "1cdb2515-91e1-4895-879d-8a7347e60b21",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Tractor Beam", "name": "Tractor Beam",
@ -107,7 +119,17 @@
"id": "e61d5d8e-eaf7-449d-8d54-624e15b6c964", "id": "e61d5d8e-eaf7-449d-8d54-624e15b6c964",
"expectedControlType": "", "expectedControlType": "",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": true
},
{
"name": "Turn",
"type": "Value",
"id": "b93a3495-742e-4536-a9c7-57d6ab81d04c",
"expectedControlType": "Axis",
"processors": "",
"interactions": "",
"initialStateCheck": true
} }
], ],
"bindings": [ "bindings": [
@ -125,7 +147,7 @@
{ {
"name": "WASD", "name": "WASD",
"id": "00ca640b-d935-4593-8157-c05846ea39b3", "id": "00ca640b-d935-4593-8157-c05846ea39b3",
"path": "Dpad", "path": "Dpad(mode=1)",
"interactions": "", "interactions": "",
"processors": "", "processors": "",
"groups": "", "groups": "",
@ -341,6 +363,39 @@
"action": "Tractor Beam", "action": "Tractor Beam",
"isComposite": false, "isComposite": false,
"isPartOfComposite": false "isPartOfComposite": false
},
{
"name": "1D Axis",
"id": "0a0e25af-91a6-4e29-ad62-649fdcb137bd",
"path": "1DAxis",
"interactions": "",
"processors": "",
"groups": "",
"action": "Turn",
"isComposite": true,
"isPartOfComposite": false
},
{
"name": "negative",
"id": "8536ca60-1fed-4f29-8060-04d46cfffcab",
"path": "<Keyboard>/q",
"interactions": "",
"processors": "",
"groups": "",
"action": "Turn",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "positive",
"id": "19c175bf-d4e6-4626-8bee-91e0c473a94b",
"path": "<Keyboard>/e",
"interactions": "",
"processors": "",
"groups": "",
"action": "Turn",
"isComposite": false,
"isPartOfComposite": true
} }
] ]
}, },
@ -354,7 +409,8 @@
"id": "add1d35f-58cd-4789-8868-f0afb51d87bc", "id": "add1d35f-58cd-4789-8868-f0afb51d87bc",
"expectedControlType": "Vector2", "expectedControlType": "Vector2",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": true
}, },
{ {
"name": "Submit", "name": "Submit",
@ -362,7 +418,8 @@
"id": "766f9151-3f3d-4e12-8ade-ce5aacd3940f", "id": "766f9151-3f3d-4e12-8ade-ce5aacd3940f",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Cancel", "name": "Cancel",
@ -370,7 +427,8 @@
"id": "9dc56d99-ed81-42c3-b38d-1a7e76688b34", "id": "9dc56d99-ed81-42c3-b38d-1a7e76688b34",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Point", "name": "Point",
@ -378,7 +436,8 @@
"id": "dfeef3e2-b0cc-4a9c-97ea-48ab693ac37f", "id": "dfeef3e2-b0cc-4a9c-97ea-48ab693ac37f",
"expectedControlType": "Vector2", "expectedControlType": "Vector2",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Click", "name": "Click",
@ -386,7 +445,8 @@
"id": "aae7decd-7584-44f4-87ad-09c14c406ead", "id": "aae7decd-7584-44f4-87ad-09c14c406ead",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "ScrollWheel", "name": "ScrollWheel",
@ -394,7 +454,8 @@
"id": "25891af2-479b-4104-9a29-158aee22fa73", "id": "25891af2-479b-4104-9a29-158aee22fa73",
"expectedControlType": "Vector2", "expectedControlType": "Vector2",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "MiddleClick", "name": "MiddleClick",
@ -402,7 +463,8 @@
"id": "dc9af334-4f90-46dc-9b77-f381faa04a79", "id": "dc9af334-4f90-46dc-9b77-f381faa04a79",
"expectedControlType": "", "expectedControlType": "",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "RightClick", "name": "RightClick",
@ -410,7 +472,8 @@
"id": "27901940-469e-42cd-92b3-f5f787a8d1d6", "id": "27901940-469e-42cd-92b3-f5f787a8d1d6",
"expectedControlType": "", "expectedControlType": "",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Drag", "name": "Drag",
@ -418,7 +481,8 @@
"id": "0c96ec22-9571-46c8-94bf-199e70e919ed", "id": "0c96ec22-9571-46c8-94bf-199e70e919ed",
"expectedControlType": "Vector2", "expectedControlType": "Vector2",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": true
} }
], ],
"bindings": [ "bindings": [
@ -808,7 +872,8 @@
"id": "e43f020b-dec0-43d2-a83b-1390d45819be", "id": "e43f020b-dec0-43d2-a83b-1390d45819be",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Galaxy Map", "name": "Galaxy Map",
@ -816,7 +881,8 @@
"id": "d198f18c-8c55-4a31-a694-4959c763f664", "id": "d198f18c-8c55-4a31-a694-4959c763f664",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Inventory", "name": "Inventory",
@ -824,7 +890,8 @@
"id": "dafe13a7-da46-408e-853e-6954e37da5c8", "id": "dafe13a7-da46-408e-853e-6954e37da5c8",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Main Menu", "name": "Main Menu",
@ -832,7 +899,8 @@
"id": "0515c617-9dff-406f-ab3e-763971d532d3", "id": "0515c617-9dff-406f-ab3e-763971d532d3",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Input Screen", "name": "Input Screen",
@ -840,7 +908,8 @@
"id": "e76aa7e9-e24d-47e1-865d-ffe72ba5c1c2", "id": "e76aa7e9-e24d-47e1-865d-ffe72ba5c1c2",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
}, },
{ {
"name": "Interact", "name": "Interact",
@ -848,7 +917,8 @@
"id": "31f7b7e1-d15e-40e8-b74f-2d0dc4195d4d", "id": "31f7b7e1-d15e-40e8-b74f-2d0dc4195d4d",
"expectedControlType": "Button", "expectedControlType": "Button",
"processors": "", "processors": "",
"interactions": "" "interactions": "",
"initialStateCheck": false
} }
], ],
"bindings": [ "bindings": [

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 3 serializedVersion: 5
m_Width: 256 m_Width: 256
m_Height: 256 m_Height: 256
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthFormat: 0 m_DepthStencilFormat: 0
m_ColorFormat: 45 m_ColorFormat: 45
m_MipMap: 0 m_MipMap: 0
m_GenerateMips: 1 m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 1 m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1 m_WrapW: 1
m_Dimension: 2 m_Dimension: 2
m_VolumeDepth: 1 m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 3 serializedVersion: 5
m_Width: 512 m_Width: 512
m_Height: 512 m_Height: 512
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthFormat: 0 m_DepthStencilFormat: 0
m_ColorFormat: 45 m_ColorFormat: 45
m_MipMap: 0 m_MipMap: 0
m_GenerateMips: 1 m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 1 m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1 m_WrapW: 1
m_Dimension: 2 m_Dimension: 2
m_VolumeDepth: 1 m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 1 m_FilterMode: 1

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 3 serializedVersion: 5
m_Width: 512 m_Width: 512
m_Height: 512 m_Height: 512
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthFormat: 0 m_DepthStencilFormat: 0
m_ColorFormat: 74 m_ColorFormat: 74
m_MipMap: 1 m_MipMap: 1
m_GenerateMips: 1 m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 2 m_FilterMode: 2
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1 m_WrapW: 1
m_Dimension: 2 m_Dimension: 2
m_VolumeDepth: 1 m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 3 serializedVersion: 5
m_Width: 512 m_Width: 512
m_Height: 512 m_Height: 512
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthFormat: 0 m_DepthStencilFormat: 0
m_ColorFormat: 45 m_ColorFormat: 45
m_MipMap: 0 m_MipMap: 0
m_GenerateMips: 1 m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 1 m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1 m_WrapW: 1
m_Dimension: 2 m_Dimension: 2
m_VolumeDepth: 1 m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -12,12 +12,13 @@ RenderTexture:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
serializedVersion: 3 m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 512 m_Width: 512
m_Height: 512 m_Height: 512
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthFormat: 0 m_DepthStencilFormat: 0
m_ColorFormat: 74 m_ColorFormat: 74
m_MipMap: 1 m_MipMap: 1
m_GenerateMips: 1 m_GenerateMips: 1
@ -25,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 1 m_FilterMode: 1
@ -35,3 +37,4 @@ RenderTexture:
m_WrapW: 1 m_WrapW: 1
m_Dimension: 2 m_Dimension: 2
m_VolumeDepth: 1 m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -12,12 +12,13 @@ RenderTexture:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
serializedVersion: 3 m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 128 m_Width: 128
m_Height: 128 m_Height: 128
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthFormat: 0 m_DepthStencilFormat: 0
m_ColorFormat: 49 m_ColorFormat: 49
m_MipMap: 0 m_MipMap: 0
m_GenerateMips: 1 m_GenerateMips: 1
@ -25,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 1 m_FilterMode: 1
@ -35,3 +37,4 @@ RenderTexture:
m_WrapW: 1 m_WrapW: 1
m_Dimension: 2 m_Dimension: 2
m_VolumeDepth: 1 m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View file

@ -13,12 +13,12 @@ RenderTexture:
m_ForcedFallbackFormat: 4 m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 3 serializedVersion: 5
m_Width: 128 m_Width: 128
m_Height: 128 m_Height: 128
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthFormat: 0 m_DepthStencilFormat: 0
m_ColorFormat: 45 m_ColorFormat: 45
m_MipMap: 0 m_MipMap: 0
m_GenerateMips: 1 m_GenerateMips: 1
@ -26,6 +26,7 @@ RenderTexture:
m_UseDynamicScale: 0 m_UseDynamicScale: 0
m_BindMS: 0 m_BindMS: 0
m_EnableCompatibleFormat: 1 m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings: m_TextureSettings:
serializedVersion: 2 serializedVersion: 2
m_FilterMode: 1 m_FilterMode: 1
@ -36,3 +37,4 @@ RenderTexture:
m_WrapW: 1 m_WrapW: 1
m_Dimension: 2 m_Dimension: 2
m_VolumeDepth: 1 m_VolumeDepth: 1
m_ShadowSamplingMode: 2

BIN
Assets/Resources/Settings.asset (Stored with Git LFS)

Binary file not shown.

View file

@ -5245,7 +5245,7 @@ MonoBehaviour:
ModeOverride: 0 ModeOverride: 0
LensShift: {x: 0, y: 0} LensShift: {x: 0, y: 0}
GateFit: 2 GateFit: 2
m_SensorSize: {x: 1.7777778, y: 1} m_SensorSize: {x: 1, y: 1}
m_Transitions: m_Transitions:
m_BlendHint: 3 m_BlendHint: 3
m_InheritPosition: 0 m_InheritPosition: 0
@ -7802,6 +7802,80 @@ MonoBehaviour:
CopyRotation: 0 CopyRotation: 0
PixelSnapCamera: {fileID: 0} PixelSnapCamera: {fileID: 0}
PixelSnapIncrement: 1 PixelSnapIncrement: 1
--- !u!1001 &495677244
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_RootOrder
value: 13
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalPosition.x
value: -148.1
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalPosition.z
value: -162.9
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463084220523011477, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4837153162502999620, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_Name
value: Wormhole 1
objectReference: {fileID: 0}
- target: {fileID: 4837153162502999620, guid: 4a77c480b4bb2a148954bd57dfe91d0b,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4a77c480b4bb2a148954bd57dfe91d0b, type: 3}
--- !u!1 &496438310 --- !u!1 &496438310
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -15623,6 +15697,7 @@ MonoBehaviour:
type: 3} type: 3}
m_DeselectOnBackgroundClick: 1 m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0 m_PointerBehavior: 0
m_CursorLockBehavior: 0
--- !u!114 &990038541 --- !u!114 &990038541
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -31228,6 +31303,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8c03374f22d0a3d4882018de66894a84, type: 3} m_Script: {fileID: 11500000, guid: 8c03374f22d0a3d4882018de66894a84, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
GridMesh: {fileID: 2135526004}
GridCamera: {fileID: 1537342003} GridCamera: {fileID: 1537342003}
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2} Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
NebulaSurfaceHeight: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2} NebulaSurfaceHeight: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
@ -31871,6 +31947,89 @@ Transform:
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 8 m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &2135526003
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 100000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_Name
value: CatmullGrid
objectReference: {fileID: 0}
- target: {fileID: 100000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_RootOrder
value: 12
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalScale.x
value: 1000
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalScale.z
value: 1000
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalPosition.y
value: -7.88
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.x
value: -0.00000003774895
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2300030, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 493bb263313ccb54493188c33eaf150c, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: aa6193d250644494faa1b8492b0e98d1, type: 3}
--- !u!4 &2135526004 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: aa6193d250644494faa1b8492b0e98d1,
type: 3}
m_PrefabInstance: {fileID: 2135526003}
m_PrefabAsset: {fileID: 0}
--- !u!114 &114477922027825946 --- !u!114 &114477922027825946
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

Binary file not shown.

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b80802908cfba8846807eff8e86a2585
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -23,10 +23,10 @@ RenderSettings:
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1 m_AmbientIntensity: 5
m_AmbientMode: 0 m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0} m_SkyboxMaterial: {fileID: 2100000, guid: 79db663d2fbb102459f8b1caf620f8c9, type: 2}
m_HaloStrength: 0.5 m_HaloStrength: 0.5
m_FlareStrength: 1 m_FlareStrength: 1
m_FlareFadeSpeed: 3 m_FlareFadeSpeed: 3
@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1 m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0} m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0} m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} m_IndirectSpecularColor: {r: 0.023674645, g: 0.04639011, b: 0.122535154, a: 1}
m_UseRadianceAmbientProbe: 0 m_UseRadianceAmbientProbe: 0
--- !u!157 &3 --- !u!157 &3
LightmapSettings: LightmapSettings:
@ -155,7 +155,7 @@ RectTransform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 815358592} m_Father: {fileID: 815358592}
m_RootOrder: 4 m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
@ -213,6 +213,96 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 87891008} m_GameObject: {fileID: 87891008}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &307955061
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 307955065}
- component: {fileID: 307955064}
- component: {fileID: 307955063}
- component: {fileID: 307955062}
m_Layer: 5
m_Name: Click Catcher.1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!114 &307955062
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 20fa7724865c6b04097615292a325dfe, type: 3}
m_Name:
m_EditorClassIdentifier:
DragDistance: 25
--- !u!114 &307955063
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
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: 0}
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: 0}
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 &307955064
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
m_CullTransparentMesh: 1
--- !u!224 &307955065
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 307955061}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 815358592}
m_RootOrder: 3
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!1001 &401779934 --- !u!1001 &401779934
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -456,7 +546,7 @@ PrefabInstance:
type: 3} type: 3}
propertyPath: CancelClickCatcher propertyPath: CancelClickCatcher
value: value:
objectReference: {fileID: 1618381686} objectReference: {fileID: 307955062}
- target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67, - target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67,
type: 3} type: 3}
propertyPath: m_Pivot.x propertyPath: m_Pivot.x
@ -470,7 +560,7 @@ PrefabInstance:
- target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67, - target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67,
type: 3} type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 3 value: 4
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67, - target: {fileID: 9194050153027168359, guid: 5c3a7b786419db74a8c1d17039fd4f67,
type: 3} type: 3}
@ -697,6 +787,21 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 686a80c9880b431b94a9b0029d39cf1f, type: 3} m_Script: {fileID: 11500000, guid: 686a80c9880b431b94a9b0029d39cf1f, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PickupCount: 64
PickupPrefabs:
- {fileID: 7436534270673427838, guid: 521bfeece7dd5fd4e8f166d38493f18c, type: 3}
- {fileID: 4507103896627202189, guid: 366909b6a01d7254d8eef01c333f8e00, type: 3}
- {fileID: 7390748043139687254, guid: d2b7e9a9cd7733041b0553682e4b61af, type: 3}
- {fileID: 5705448000916375656, guid: d2cec1d8c3d94074e9d2e6088e1c02d7, type: 3}
- {fileID: 1545255963217739444, guid: f399719f41451754eba07ca072698b68, type: 3}
PickupTravelDistance: 128
PickupTravelTimeMin: 16
PickupTravelTimeMax: 32
PickupSizeMin: 0.5
PickupSizeMax: 1
ScaleExponent: 2
PickupSpawnDistanceMin: 5
PickupSpawnDistanceMax: 20
Camera: {fileID: 1153356615} Camera: {fileID: 1153356615}
TestField: {fileID: 909026488} TestField: {fileID: 909026488}
Properties: {fileID: 401779935} Properties: {fileID: 401779935}
@ -810,6 +915,7 @@ RectTransform:
- {fileID: 1618381684} - {fileID: 1618381684}
- {fileID: 401779936} - {fileID: 401779936}
- {fileID: 1112533349} - {fileID: 1112533349}
- {fileID: 307955065}
- {fileID: 415327856} - {fileID: 415327856}
- {fileID: 87891009} - {fileID: 87891009}
m_Father: {fileID: 0} m_Father: {fileID: 0}
@ -840,7 +946,7 @@ PrefabInstance:
- target: {fileID: 1080751213609904173, guid: fe47fadcdb5ae5c4caca516b4af6fde6, - target: {fileID: 1080751213609904173, guid: fe47fadcdb5ae5c4caca516b4af6fde6,
type: 3} type: 3}
propertyPath: m_LocalScale.x propertyPath: m_LocalScale.x
value: 3 value: 4
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 1080751213609904173, guid: fe47fadcdb5ae5c4caca516b4af6fde6, - target: {fileID: 1080751213609904173, guid: fe47fadcdb5ae5c4caca516b4af6fde6,
type: 3} type: 3}
@ -921,7 +1027,7 @@ MeshCollider:
m_IsTrigger: 0 m_IsTrigger: 0
m_Enabled: 1 m_Enabled: 1
serializedVersion: 4 serializedVersion: 4
m_Convex: 0 m_Convex: 1
m_CookingOptions: 30 m_CookingOptions: 30
m_Mesh: {fileID: -5495902117074765545, guid: dd6644c1aa6c16c47bb9fea9822ce805, type: 3} m_Mesh: {fileID: -5495902117074765545, guid: dd6644c1aa6c16c47bb9fea9822ce805, type: 3}
--- !u!114 &909026488 --- !u!114 &909026488
@ -936,6 +1042,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a9ee74b07ad0390459302080d186cc58, type: 3} m_Script: {fileID: 11500000, guid: a9ee74b07ad0390459302080d186cc58, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
Camera: {fileID: 1153356615}
TestMagnitude: 0.5 TestMagnitude: 0.5
Throttle: Throttle:
x: 0 x: 0
@ -943,9 +1050,7 @@ MonoBehaviour:
ThrottleDecay: 5 ThrottleDecay: 5
FlowSpeed: 2 FlowSpeed: 2
FlowSpeedThrottleExponent: 1 FlowSpeedThrottleExponent: 1
FlowMagnitude: 2 WaveThrottleExponent: 0
FlowMagnitudeThrottleExponent: 2
FlowOpacityThrottleExponent: 1
MaxHits: 16 MaxHits: 16
MagnitudeTimeScaling: MagnitudeTimeScaling:
Exponent: 0.333 Exponent: 0.333
@ -958,6 +1063,16 @@ MonoBehaviour:
MeleeDuration: 3 MeleeDuration: 3
MeleeAngle: 180 MeleeAngle: 180
MeleeAngleExponent: 0.5 MeleeAngleExponent: 0.5
TendrilBaseRadius: 3
TendrilTipRadius: 0.25
TendrilExtensionExponent: 2
TendrilExtendBaseAnimationExponent: 0.5
TendrilBaseDamping: 2
TendrilTipRadiusAnimationExponent: 2
TendrilFadeExponent: 2
GrabExtendTime: 1.5
GrabEnvelopTime: 0.75
GrabPullTime: 1.5
RefractionAxis: 1 RefractionAxis: 1
--- !u!114 &909026489 --- !u!114 &909026489
MonoBehaviour: MonoBehaviour:
@ -1360,7 +1475,7 @@ Camera:
m_GameObject: {fileID: 1153356610} m_GameObject: {fileID: 1153356610}
m_Enabled: 1 m_Enabled: 1
serializedVersion: 2 serializedVersion: 2
m_ClearFlags: 1 m_ClearFlags: 2
m_BackGroundColor: {r: 0.23584908, g: 0.23584908, b: 0.23584908, a: 0} m_BackGroundColor: {r: 0.23584908, g: 0.23584908, b: 0.23584908, a: 0}
m_projectionMatrixMode: 1 m_projectionMatrixMode: 1
m_GateFitMode: 2 m_GateFitMode: 2
@ -1376,7 +1491,7 @@ Camera:
height: 1 height: 1
near clip plane: 0.3 near clip plane: 0.3
far clip plane: 1000 far clip plane: 1000
field of view: 15 field of view: 30
orthographic: 0 orthographic: 0
orthographic size: 5 orthographic size: 5
m_Depth: 0 m_Depth: 0
@ -1424,7 +1539,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3} m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
sharedProfile: {fileID: 11400000, guid: 59a61f0cd928369448838883100e06e6, type: 2} sharedProfile: {fileID: 11400000, guid: b80802908cfba8846807eff8e86a2585, type: 2}
isGlobal: 1 isGlobal: 1
blendDistance: 0 blendDistance: 0
weight: 1 weight: 1
@ -1511,7 +1626,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
Layers: Layers:
serializedVersion: 2 serializedVersion: 2
m_Bits: 1 m_Bits: 2097153
RayCamera: {fileID: 1153356615} RayCamera: {fileID: 1153356615}
--- !u!114 &1618381686 --- !u!114 &1618381686
MonoBehaviour: MonoBehaviour:

View file

@ -143,6 +143,15 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
""processors"": """", ""processors"": """",
""interactions"": """", ""interactions"": """",
""initialStateCheck"": true ""initialStateCheck"": true
},
{
""name"": ""Turn"",
""type"": ""Value"",
""id"": ""b93a3495-742e-4536-a9c7-57d6ab81d04c"",
""expectedControlType"": ""Axis"",
""processors"": """",
""interactions"": """",
""initialStateCheck"": true
} }
], ],
""bindings"": [ ""bindings"": [
@ -160,7 +169,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
{ {
""name"": ""WASD"", ""name"": ""WASD"",
""id"": ""00ca640b-d935-4593-8157-c05846ea39b3"", ""id"": ""00ca640b-d935-4593-8157-c05846ea39b3"",
""path"": ""Dpad"", ""path"": ""Dpad(mode=1)"",
""interactions"": """", ""interactions"": """",
""processors"": """", ""processors"": """",
""groups"": """", ""groups"": """",
@ -376,6 +385,39 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
""action"": ""Tractor Beam"", ""action"": ""Tractor Beam"",
""isComposite"": false, ""isComposite"": false,
""isPartOfComposite"": false ""isPartOfComposite"": false
},
{
""name"": ""1D Axis"",
""id"": ""0a0e25af-91a6-4e29-ad62-649fdcb137bd"",
""path"": ""1DAxis"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Turn"",
""isComposite"": true,
""isPartOfComposite"": false
},
{
""name"": ""negative"",
""id"": ""8536ca60-1fed-4f29-8060-04d46cfffcab"",
""path"": ""<Keyboard>/q"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Turn"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": ""positive"",
""id"": ""19c175bf-d4e6-4626-8bee-91e0c473a94b"",
""path"": ""<Keyboard>/e"",
""interactions"": """",
""processors"": """",
""groups"": """",
""action"": ""Turn"",
""isComposite"": false,
""isPartOfComposite"": true
} }
] ]
}, },
@ -1027,6 +1069,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
m_Player_Ping = m_Player.FindAction("Ping", throwIfNotFound: true); m_Player_Ping = m_Player.FindAction("Ping", throwIfNotFound: true);
m_Player_HideUI = m_Player.FindAction("Hide UI", throwIfNotFound: true); m_Player_HideUI = m_Player.FindAction("Hide UI", throwIfNotFound: true);
m_Player_TractorBeam = m_Player.FindAction("Tractor Beam", throwIfNotFound: true); m_Player_TractorBeam = m_Player.FindAction("Tractor Beam", throwIfNotFound: true);
m_Player_Turn = m_Player.FindAction("Turn", throwIfNotFound: true);
// UI // UI
m_UI = asset.FindActionMap("UI", throwIfNotFound: true); m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true); m_UI_Navigate = m_UI.FindAction("Navigate", throwIfNotFound: true);
@ -1118,6 +1161,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
private readonly InputAction m_Player_Ping; private readonly InputAction m_Player_Ping;
private readonly InputAction m_Player_HideUI; private readonly InputAction m_Player_HideUI;
private readonly InputAction m_Player_TractorBeam; private readonly InputAction m_Player_TractorBeam;
private readonly InputAction m_Player_Turn;
public struct PlayerActions public struct PlayerActions
{ {
private @AetheriaInput m_Wrapper; private @AetheriaInput m_Wrapper;
@ -1135,6 +1179,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
public InputAction @Ping => m_Wrapper.m_Player_Ping; public InputAction @Ping => m_Wrapper.m_Player_Ping;
public InputAction @HideUI => m_Wrapper.m_Player_HideUI; public InputAction @HideUI => m_Wrapper.m_Player_HideUI;
public InputAction @TractorBeam => m_Wrapper.m_Player_TractorBeam; public InputAction @TractorBeam => m_Wrapper.m_Player_TractorBeam;
public InputAction @Turn => m_Wrapper.m_Player_Turn;
public InputActionMap Get() { return m_Wrapper.m_Player; } public InputActionMap Get() { return m_Wrapper.m_Player; }
public void Enable() { Get().Enable(); } public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); } public void Disable() { Get().Disable(); }
@ -1183,6 +1228,9 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
@TractorBeam.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam; @TractorBeam.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@TractorBeam.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam; @TractorBeam.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@TractorBeam.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam; @TractorBeam.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTractorBeam;
@Turn.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTurn;
@Turn.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTurn;
@Turn.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnTurn;
} }
m_Wrapper.m_PlayerActionsCallbackInterface = instance; m_Wrapper.m_PlayerActionsCallbackInterface = instance;
if (instance != null) if (instance != null)
@ -1226,6 +1274,9 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
@TractorBeam.started += instance.OnTractorBeam; @TractorBeam.started += instance.OnTractorBeam;
@TractorBeam.performed += instance.OnTractorBeam; @TractorBeam.performed += instance.OnTractorBeam;
@TractorBeam.canceled += instance.OnTractorBeam; @TractorBeam.canceled += instance.OnTractorBeam;
@Turn.started += instance.OnTurn;
@Turn.performed += instance.OnTurn;
@Turn.canceled += instance.OnTurn;
} }
} }
} }
@ -1442,6 +1493,7 @@ public partial class @AetheriaInput : IInputActionCollection2, IDisposable
void OnPing(InputAction.CallbackContext context); void OnPing(InputAction.CallbackContext context);
void OnHideUI(InputAction.CallbackContext context); void OnHideUI(InputAction.CallbackContext context);
void OnTractorBeam(InputAction.CallbackContext context); void OnTractorBeam(InputAction.CallbackContext context);
void OnTurn(InputAction.CallbackContext context);
} }
public interface IUIActions public interface IUIActions
{ {

View file

@ -20,6 +20,7 @@ using UnityEngine.Rendering.PostProcessing;
using UnityEngine.Serialization; using UnityEngine.Serialization;
using UnityEngine.UI; using UnityEngine.UI;
using Unity.Mathematics; using Unity.Mathematics;
using UnityEditor.Localization.Plugins.XLIFF.V12;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using static Unity.Mathematics.math; using static Unity.Mathematics.math;
using float2 = Unity.Mathematics.float2; using float2 = Unity.Mathematics.float2;
@ -294,7 +295,7 @@ public class ActionGameManager : MonoBehaviour
Input.Global.ZoneMap.performed += context => Input.Global.ZoneMap.performed += context =>
{ {
ToggleMenuTab(MenuTab.Map); ToggleMenuTab(MenuTab.Map);
MenuMap.Position = CurrentEntity.Position.xz; MenuMap.Position = CurrentEntity.Position.xz;
}; };
Input.Global.Inventory.performed += context => ToggleMenuTab(MenuTab.Inventory); Input.Global.Inventory.performed += context => ToggleMenuTab(MenuTab.Inventory);
@ -457,7 +458,8 @@ public class ActionGameManager : MonoBehaviour
return slot; return slot;
} }
foreach (var actionBarInput in PlayerSettings.InputSettings.ActionBarInputs.OrderBy(i=>i)) createBinding(actionBarInput); var bindings = PlayerSettings.InputSettings.ActionBarInputs.OrderBy(i => i)
.Select(createBinding).ToList();
#endregion #endregion
@ -465,6 +467,16 @@ public class ActionGameManager : MonoBehaviour
StartGame(); StartGame();
//if (!PlayerSettings.InputSettings.ActionBarInputs.Any())
{
var newbinds = Enumerable.Range(0, 64)//CurrentEntity.WeaponGroups
.Zip(
bindings,
(i, slot) =>
slot.Binding = new ActionBarWeaponGroupBinding(CurrentEntity, slot, i)
);
}
ConsoleController.AddCommand("revealzones", ConsoleController.AddCommand("revealzones",
_ => _ =>
{ {
@ -1306,4 +1318,4 @@ public class EquippedItemDragObject : ItemDragObject
public EquippedItem EquippedItem { get; } public EquippedItem EquippedItem { get; }
public Entity OriginEntity { get; } public Entity OriginEntity { get; }
} }

View file

@ -337,7 +337,7 @@ public class EntityInstance : MonoBehaviour
// U coordinate between 0-1 indicates a hit that didn't land directly on a hardpoint // U coordinate between 0-1 indicates a hit that didn't land directly on a hardpoint
// Find the 2D position of the hit scaled to the schematic // Find the 2D position of the hit scaled to the schematic
float2 hitPos = float2.zero; float2 hitPos = float2.zero;
if (hardpointIndex < 0) if (hardpointIndex < 0 || hardpointIndex >= hullData.Hardpoints.Count)
{ {
hitPos = float2(hit.TexCoord.x * hullData.Shape.Width, hit.TexCoord.y * hullData.Shape.Height); hitPos = float2(hit.TexCoord.x * hullData.Shape.Width, hit.TexCoord.y * hullData.Shape.Height);
// Search all schematic border cells for the cell which is closest to the hit position // Search all schematic border cells for the cell which is closest to the hit position

View file

@ -4,31 +4,28 @@ using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.InputSystem; using UnityEngine.InputSystem;
using Unity.Mathematics; using Unity.Mathematics;
using UnityEngine.Animations;
using static Unity.Mathematics.math; using static Unity.Mathematics.math;
public class FieldDriver : MonoBehaviour public class FieldDriver : MonoBehaviour
{ {
public Camera Camera;
public float2 Push;
public float FrontTwist;
public float RearTwist;
[Inspectable] [Inspectable]
public float TestMagnitude; public float TestMagnitude;
public float2 Throttle;
[Inspectable]
public float ThrottleDecay = 1;
[Inspectable] [Inspectable]
public float FlowSpeed; public float FlowSpeed;
[Inspectable] [Inspectable]
public float FlowSpeedThrottleExponent; public float FlowSpeedThrottleExponent;
[Inspectable] [Inspectable]
public float FlowMagnitude; public float WaveThrottleExponent;
[Inspectable]
public float FlowMagnitudeThrottleExponent;
[Inspectable]
public float FlowOpacityThrottleExponent;
public int MaxHits; public int MaxHits;
[Inspectable] [Inspectable]
public ExponentialCurve MagnitudeTimeScaling; public ExponentialCurve MagnitudeTimeScaling;
[Inspectable] [Inspectable, InspectorHeader("Melee")]
public float MeleeRange; public float MeleeRange;
[Inspectable] [Inspectable]
public float MeleeRangeExponent; public float MeleeRangeExponent;
@ -42,16 +39,60 @@ public class FieldDriver : MonoBehaviour
public float MeleeAngle; public float MeleeAngle;
[Inspectable] [Inspectable]
public float MeleeAngleExponent; public float MeleeAngleExponent;
[Inspectable, InspectorHeader("Tendril")]
public float TendrilBaseRadius = 3;
[Inspectable] [Inspectable]
public Axis RefractionAxis = Axis.X; public float TendrilTipRadius = .1f;
[Inspectable]
public float TendrilExtensionExponent = .75f;
[Inspectable]
public float TendrilExtendBaseAnimationExponent = .5f;
[Inspectable]
public float TendrilBaseDamping = 2;
[Inspectable]
public float TendrilTipRadiusAnimationExponent = 2f;
[Inspectable]
public float TendrilFadeExponent = 2;
// [Inspectable]
// public float GrabScaleAnimationExponent = .5f;
[Inspectable, InspectorHeader("Grab")]
public float GrabExtendTime;
[Inspectable]
public float GrabEnvelopTime;
[Inspectable]
public float GrabPullTime;
[Inspectable]
public RectTransform.Axis RefractionAxis = RectTransform.Axis.Horizontal;
private Material _field; private Material _field;
private ComputeBuffer _hitBuffer; private ComputeBuffer _hitBuffer;
private List<FieldHit> _hits = new List<FieldHit>(); private List<FieldHit> _hits = new List<FieldHit>();
private float _pushWaveOffset; private float _waveOffset;
private double2 _throttle;
private float _meleeTime; private float _meleeTime;
private bool _meleeActive; private bool _meleeActive;
private MeshCollider _collider;
private Transform _grabObject;
private Vector3 _grabObjectStartPos;
private Vector3 _grabObjectStartTendrilBasePos;
private Vector3 _grabObjectEndPos;
private Vector3 _grabObjectVelocity;
private float _grabObjectScale;
private float _grabTime;
private GrabPhase _grabPhase;
private Vector3 _tendrilBasePos;
private Vector3 _tendrilBendTarget;
private Vector3 _tendrilTargetPos;
private float _fadePoint;
private enum GrabPhase
{
Extend,
Envelop,
Pull
}
private struct FieldHit private struct FieldHit
{ {
@ -63,6 +104,7 @@ public class FieldDriver : MonoBehaviour
void Start() void Start()
{ {
_collider = GetComponent<MeshCollider>();
_field = GetComponent<MeshRenderer>().material; _field = GetComponent<MeshRenderer>().material;
var clickableCollider = GetComponent<ClickableCollider>(); var clickableCollider = GetComponent<ClickableCollider>();
if(clickableCollider!=null) if(clickableCollider!=null)
@ -80,12 +122,12 @@ public class FieldDriver : MonoBehaviour
if (_hits.Count >= MaxHits) return; if (_hits.Count >= MaxHits) return;
var hit = new FieldHit var hit = new FieldHit
{ {
Position = normalize(transform.InverseTransformPoint(position)), Position = Vector3.Scale(normalize(transform.InverseTransformPoint(position)), transform.localScale),
Direction = normalize(transform.rotation * direction), Direction = normalize(transform.rotation * direction),
Magnitude = magnitude, Magnitude = magnitude,
Time = 0 Time = 0
}; };
Debug.Log($"Received hit: Position={hit.Position}, Direction={hit.Direction}"); //Debug.Log($"Received hit: Position={hit.Position}, Direction={hit.Direction}");
_hits.Add(hit); _hits.Add(hit);
} }
@ -97,8 +139,39 @@ public class FieldDriver : MonoBehaviour
_meleeTime = 0; _meleeTime = 0;
} }
public bool CanGrab => _grabObject == null;
public void GrabObject(Transform t, Vector3 v)
{
_grabPhase = GrabPhase.Extend;
_grabObject = t;
_grabObjectStartPos = t.position;
_grabObjectVelocity = v;
_grabObjectScale = t.localScale.x;
_tendrilBasePos = _grabObjectStartTendrilBasePos = _collider.ClosestPoint(_grabObjectStartPos);
_fadePoint = .999f;
}
void Update() void Update()
{ {
var pushMag = min(length(Push), 1);
_waveOffset = frac(_waveOffset + Time.deltaTime * FlowSpeed * pow(max(pushMag, max(abs(FrontTwist), abs(RearTwist))), FlowSpeedThrottleExponent));
var refractionRotation = Matrix4x4.Rotate(Camera.transform.rotation).inverse;
if (RefractionAxis == RectTransform.Axis.Vertical) refractionRotation =
Matrix4x4.Rotate(Quaternion.Euler(90, 0, 0)) * refractionRotation;
_field.SetFloat("_WaveOffset", _waveOffset * PI * 2);
_field.SetFloat("_Push", pushMag);
_field.SetVector("_PushDirection", new Vector4(-Push.x, 0, -Push.y));
_field.SetFloat("_TwistFront", FrontTwist);
_field.SetFloat("_TwistRear", RearTwist);
_field.SetVector("_InverseScale", new Vector4(1/transform.localScale.x,1/transform.localScale.y,1/transform.localScale.z));
_field.SetMatrix("_ReflRotate", refractionRotation);
for (int i = 0; i < _hits.Count; i++) for (int i = 0; i < _hits.Count; i++)
{ {
var hit = _hits[i]; var hit = _hits[i];
@ -110,38 +183,123 @@ public class FieldDriver : MonoBehaviour
i--; i--;
} }
} }
_hitBuffer.SetData(_hits);
_field.SetBuffer("_Hits", _hitBuffer);
_field.SetInt("_HitCount", _hits.Count);
if (_meleeActive) if (_meleeActive)
{ {
_meleeTime += Time.deltaTime / MeleeDuration; _meleeTime += Time.deltaTime / MeleeDuration;
if (_meleeTime > 1) if (_meleeTime < 1)
{
_field.SetVector("_MeleeDirection", Quaternion.AngleAxis(sign(_meleeTime*2-1) * MeleeAngle * pow(abs(_meleeTime * 2 - 1), MeleeAngleExponent), Vector3.up) * -Vector3.forward);
_field.SetFloat("_MeleeDisplacement", pow(1 - 2 * abs(_meleeTime - .5f), MeleeRangeExponent) * MeleeRange);
_field.SetFloat("_MeleeShape", MeleeShaping);
_field.SetFloat("_MeleeFlattening", MeleeFlatness);
}
else
{ {
_meleeActive = false; _meleeActive = false;
_field.SetFloat("_MeleeDisplacement", 0);
} }
} }
if(_grabObject != null)
{
_grabTime += Time.deltaTime / _grabPhase switch
{
GrabPhase.Extend => GrabExtendTime,
GrabPhase.Envelop => GrabEnvelopTime,
GrabPhase.Pull => GrabPullTime,
_ => throw new ArgumentOutOfRangeException()
};
if (_grabTime > 1)
{
_grabTime = 0;
if (_grabPhase == GrabPhase.Envelop)
{
_grabObjectEndPos = _grabObject.position;
}
if (_grabPhase == GrabPhase.Pull)
{
Destroy(_grabObject.gameObject);
_grabObject = null;
_field.SetFloat("_TendrilInfluence", 0);
}
else _grabPhase++;
}
_throttle = AetheriaMath.Damp(_throttle, Throttle, ThrottleDecay, Time.deltaTime); if (_grabObject != null)
var throttleDir = (float2) normalize(_throttle); {
_tendrilBasePos = AetheriaMath.Damp(_tendrilBasePos, _grabObject.position, TendrilBaseDamping, Time.deltaTime);
switch (_grabPhase)
{
case GrabPhase.Extend:
_tendrilBendTarget = _grabObjectStartPos;
_grabObject.position += _grabObjectVelocity * Time.deltaTime;
_tendrilTargetPos = lerp(
lerp(_grabObjectStartTendrilBasePos, _grabObjectStartPos, _grabTime),
lerp(_grabObjectStartPos, _grabObject.position, _grabTime),
pow(_grabTime, TendrilExtensionExponent));
_field.SetFloat("_TendrilInfluence", pow(_grabTime, TendrilExtendBaseAnimationExponent));
_field.SetFloat("_TendrilSize", lerp(TendrilBaseRadius/2,TendrilBaseRadius,pow(_grabTime, TendrilExtendBaseAnimationExponent)));
_field.SetFloat("_TendrilRadius", _grabObjectScale * pow(_grabTime, TendrilTipRadiusAnimationExponent) * TendrilTipRadius);
break;
case GrabPhase.Envelop:
_tendrilBendTarget = _grabObjectStartPos;
_tendrilTargetPos = _grabObject.position += _grabObjectVelocity * Time.deltaTime * (1-_grabTime);
_field.SetFloat("_TendrilInfluence", 1);
_field.SetFloat("_TendrilSize", TendrilBaseRadius);
_field.SetFloat("_TendrilRadius", _grabObjectScale * TendrilTipRadius);
break;
case GrabPhase.Pull:
_tendrilTargetPos = _grabObject.position = lerp(_grabObjectEndPos, transform.position, _grabTime*_grabTime);
_tendrilBendTarget = lerp(_grabObjectStartPos, _grabObjectEndPos, _grabTime*_grabTime);
if (_fadePoint > .99 && transform.InverseTransformPoint(_grabObject.position).sqrMagnitude < 1)
_fadePoint = _grabTime;
_field.SetFloat("_TendrilInfluence", pow(smoothstep(1, _fadePoint, _grabTime), TendrilFadeExponent));
_field.SetFloat("_TendrilSize", TendrilBaseRadius);
_field.SetFloat("_TendrilRadius", _grabObjectScale * TendrilTipRadius);
break;
default:
throw new ArgumentOutOfRangeException();
}
_field.SetVector("_TendrilBase", Vector3.Scale(transform.InverseTransformPoint(_tendrilBasePos).normalized, transform.localScale));
_field.SetVector("_TendrilBend", Vector3.Scale(transform.InverseTransformPoint(_tendrilBendTarget), transform.localScale));
_field.SetVector("_TendrilTarget", Vector3.Scale(transform.InverseTransformPoint(_tendrilTargetPos), transform.localScale));
}
}
}
private float almostIdentity( float x )
{
return x*x*(2.0f-x);
}
var throttleMag = min(length(_throttle), 1); private float smooth(float t)
{
return t * t * (3.0f - 2.0f * t);
}
_pushWaveOffset = frac(_pushWaveOffset + Time.deltaTime * FlowSpeed * (float) pow(throttleMag, FlowSpeedThrottleExponent)); private const int GIZMO_STEPS = 16;
private void OnDrawGizmosSelected()
{
if (_grabObject != null)
{
Vector3 previous = _tendrilBasePos;
for (int i = 1; i <= GIZMO_STEPS; i++)
{
var l = (float)i / GIZMO_STEPS;
var next = AetheriaMath.GetQuadraticSplinePosition(_tendrilBasePos, _tendrilBendTarget, _tendrilTargetPos, l);
Gizmos.DrawLine(previous, next);
previous = next;
}
}
}
var refractionRotation = Matrix4x4.Rotate(transform.rotation); private void OnDestroy()
if (RefractionAxis == Axis.Y) refractionRotation = Matrix4x4.Rotate(Quaternion.Euler(90, 0, 0)) * refractionRotation; {
if (RefractionAxis == Axis.X) refractionRotation = Matrix4x4.Rotate(Quaternion.Euler(0, 90, 0)) * refractionRotation; _hitBuffer.Dispose();
_hitBuffer.SetData(_hits);
_field.SetBuffer("_Hits", _hitBuffer);
_field.SetInt("_HitCount", _hits.Count);
_field.SetFloat("_PushWaveMagnitude", FlowMagnitude * (float) pow(throttleMag, FlowMagnitudeThrottleExponent));
_field.SetFloat("_PushOpacity", (float) pow(throttleMag, FlowOpacityThrottleExponent));
_field.SetFloat("_PushWaveOffset", _pushWaveOffset);
_field.SetVector("_PushDirection", new Vector4(throttleDir.x,0,throttleDir.y));
_field.SetVector("_InverseScale", new Vector4(1/transform.localScale.x,1/transform.localScale.y,1/transform.localScale.z));
_field.SetMatrix("_ReflRotate", refractionRotation);
_field.SetVector("_MeleeDirection", Quaternion.AngleAxis(sign(_meleeTime*2-1) * MeleeAngle * pow(abs(_meleeTime * 2 - 1), MeleeAngleExponent), Vector3.up) * -Vector3.forward);
_field.SetFloat("_MeleeDisplacement", pow(1 - 2 * abs(_meleeTime - .5f), MeleeRangeExponent) * MeleeRange);
_field.SetFloat("_MeleeShape", MeleeShaping);
_field.SetFloat("_MeleeFlattening", MeleeFlatness);
} }
} }

View file

@ -4,7 +4,7 @@ MonoImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2
defaultReferences: [] defaultReferences: []
executionOrder: 0 executionOrder: 300
icon: {instanceID: 0} icon: {instanceID: 0}
userData: userData:
assetBundleName: assetBundleName:

View file

@ -26,9 +26,11 @@ public class GridObject : MonoBehaviour
void Update() void Update()
{ {
var t = transform;
t.localRotation = Quaternion.Euler(sin(Time.time - _timeOffset * RotationSpeed) * 90, 0, cos(Time.time - _timeOffset * RotationSpeed) * 90);
if (Zone == null) return; if (Zone == null) return;
var t = transform;
var position = t.position; var position = t.position;
var gridHeight = Zone.GetHeight(position.Flatland()) + GridOffset; var gridHeight = Zone.GetHeight(position.Flatland()) + GridOffset;
Velocity += Vector3.up * (sign(gridHeight - position.y) * GridAttraction * Time.deltaTime); Velocity += Vector3.up * (sign(gridHeight - position.y) * GridAttraction * Time.deltaTime);
@ -44,6 +46,5 @@ public class GridObject : MonoBehaviour
_selfVelocity *= max(0, 1 - Drag * Time.deltaTime); _selfVelocity *= max(0, 1 - Drag * Time.deltaTime);
t.position = position + (Velocity + new Vector3(_selfVelocity.x, 0, _selfVelocity.y)) * Time.deltaTime; t.position = position + (Velocity + new Vector3(_selfVelocity.x, 0, _selfVelocity.y)) * Time.deltaTime;
t.localRotation = Quaternion.Euler(sin(Time.time - _timeOffset * RotationSpeed) * 90, 0, cos(Time.time - _timeOffset * RotationSpeed) * 90);
} }
} }

View file

@ -36,6 +36,6 @@ public class ItemPickup : MonoBehaviour
private void OnDestroy() private void OnDestroy()
{ {
ZoneRenderer.DestroyLoot(this); ZoneRenderer?.DestroyLoot(this);
} }
} }

View file

@ -1,147 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
// using System;
// using System.Collections;
// using System.Collections.Generic;
// using System.Linq;
// using MessagePack;
// using Newtonsoft.Json;
// using Unity.Mathematics;
// using static Unity.Mathematics.math;
//
// [MessagePackObject, JsonObject(MemberSerialization.OptIn), EntityTypeRestriction(HullType.Ship), Order(-100)]
// public class HaulingControllerData : ControllerData
// {
// [InspectableField, JsonProperty("targetDistance"), Key(6)]
// public float DockTime = 2;
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new HaulingController(context, this, entity, item);
// }
// }
//
// public class HaulingController : ControllerBase<HaulingTask>, IBehavior, IPersistentBehavior
// {
// private HaulingControllerData _data;
// private EquippedItem Item { get; }
//
// private bool _taskStarted;
// private int _itemsDelivered;
// private int _itemsCarried;
// private SimpleCommodity _simpleCommodityDelivery;
// private List<CraftedItemInstance> _craftedItemDelivery = new List<CraftedItemInstance>();
//
// public HaulingController(ItemManager itemManager, HaulingControllerData data, Entity entity, EquippedItem item) : base(itemManager, data, entity)
// {
// _data = data;
// Item = item;
// }
//
// public new bool Execute(float delta)
// {
// if (Task != null)
// {
// if (!_taskStarted)
// {
// MoveTo(Task.Origin, true, OnPickup);
// //MoveTo(haulingTask.Zone, OnOriginZoneArrival);
// _taskStarted = true;
// }
// }
// return base.Execute(delta);
// }
//
// // void OnOriginZoneArrival()
// // {
// // var haulingTask = _context.ItemData.Get<HaulingTask>(Task);
// //
// // _entity.SetMessage("Entering pickup phase.");
// //
// // MoveTo(_context.ItemData.Get<Entity>(haulingTask.Origin), true, OnPickup);
// // }
//
// void OnPickup()
// {
// Entity.SetParent(Task.Origin);
//
// _itemsCarried = Task.Origin.TryTransferItems(Entity, Task.ItemType, Task.Quantity - _itemsDelivered);
//
// if (_itemsCarried == 0)
// {
// FinishTask();
// return;
// }
//
// Wait(_data.DockTime, OnItemObtained);
// }
//
// void OnItemObtained()
// {
// Entity.SetMessage("Entering delivery phase.");
//
// MoveTo(Task.Target, true, OnDelivery);
// //MoveTo(target.Zone.Data.ID, OnTargetZoneArrival);
// }
//
// // void OnTargetZoneArrival()
// // {
// // var haulingTask = _context.ItemData.Get<HaulingTask>(Task);
// //
// // MoveTo(_context.ItemData.Get<Entity>(haulingTask.Target), true, OnDelivery);
// // }
//
// void OnDelivery()
// {
// Entity.SetParent(Task.Target);
//
// var itemsDelivered = Entity.TryTransferItems(Task.Target, Task.ItemType, _itemsCarried);
// _itemsCarried -= itemsDelivered;
// _itemsDelivered += itemsDelivered;
//
// Wait(_data.DockTime, () =>
// {
// // We were unable to transfer all onboard items to target entity, cargo is probably full. Bring back the surplus and end the mission
// if(_itemsCarried > 0)
// MoveTo(Task.Origin, true, ReturnSurplusToOrigin);
// // We have delivered the target quantity of items, end the mission
// else if(_itemsDelivered >= Task.Quantity)
// FinishTask();
// // We aren't done yet. Resetting the task will make us go for another delivery run
// else
// _taskStarted = false;
// });
// }
//
// void ReturnSurplusToOrigin()
// {
// Entity.SetParent(Task.Origin);
//
// Entity.TryTransferItems(Task.Origin, Task.ItemType, _itemsCarried);
//
// Wait(_data.DockTime, OnItemObtained);
//
// FinishTask();
// }
//
// public PersistentBehaviorData Store()
// {
// return new HaulingControllerPersistence
// {
// Task = Task
// };
// }
//
// public void Restore(PersistentBehaviorData data)
// {
// var towingControllerPersistence = data as HaulingControllerPersistence;
// Task = towingControllerPersistence.Task;
// }
// }
//
// public class HaulingControllerPersistence : PersistentBehaviorData
// {
// [JsonProperty("task"), Key(0)]
// public HaulingTask Task;
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: e8c5153aa2579174c901c552bfb495a4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,141 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
using static Unity.Mathematics.math;
// [MessagePackObject, JsonObject(MemberSerialization.OptIn), EntityTypeRestriction(HullType.Ship), Order(-100)]
// public class MiningControllerData : ControllerData
// {
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new MiningController(context, this, entity, item);
// }
// }
//
// public class MiningController : ControllerBase<Mining>, IBehavior, IPersistentBehavior, IInitializableBehavior
// {
//
// private MiningControllerData _data;
// private EquippedItem Item { get; }
// private bool _taskStarted;
// private int _asteroid = -1;
// private MiningTool _miningTool;
// private Switch _toolSwitch;
//
// public MiningController(ItemManager itemManager, MiningControllerData data, Entity entity, EquippedItem item) : base(itemManager, data, entity)
// {
// _data = data;
// Item = item;
// }
//
// public new void Initialize()
// {
// // _miningTool = Entity.GetBehavior<MiningTool>();
// // _toolSwitch = Entity.GetSwitch<MiningTool>();
// base.Initialize();
// }
//
// public new bool Execute(float delta)
// {
// // if (Task != null)
// // {
// // if (!_taskStarted)
// // {
// // NextAsteroid();
// // _taskStarted = true;
// // }
// // else
// // {
// // if (!Moving)
// // {
// // if (_entity.OccupiedCapacity < _entity.Capacity - 1)
// // {
// // var asteroidTransform = Zone.GetAsteroidTransform(Task.Asteroids, _asteroid);
// // if (length(_entity.Position - asteroidTransform.xy) - asteroidTransform.w > _miningTool.Range)
// // {
// // _entity.SetMessage("Moving to target asteroid.");
// // MoveTo(() => Zone.GetAsteroidTransform(Task.Asteroids, _asteroid).xy,
// // () => Zone.GetAsteroidVelocity(Task.Asteroids, _asteroid));
// // _toolSwitch.Activated = false;
// // }
// // else
// // {
// // if (Zone.AsteroidExists(Task.Asteroids, _asteroid))
// // {
// // _miningTool.AsteroidBelt = Task.Asteroids;
// // _miningTool.Asteroid = _asteroid;
// // _toolSwitch.Activated = true;
// // Aim.Objective = Zone.GetAsteroidTransform(Task.Asteroids, _asteroid).xy;
// // Aim.Update(delta);
// // }
// // else NextAsteroid();
// // }
// // }
// // else
// // {
// // _entity.SetMessage("Out of cargo space. Returning home to offload cargo.");
// // GoHome(OnArriveHome);
// // }
// // }
// // }
// // }
// return base.Execute(delta);
// }
//
// // private void OnArriveHome()
// // {
// // var homeEntity = _context.ItemData.Get<Entity>(HomeEntity);
// // foreach (var item in _entity.Cargo
// // .Select(id => _context.ItemData.Get<ItemInstance>(id))
// // .Where(item => item is SimpleCommodity)
// // .Cast<SimpleCommodity>()
// // .ToArray())
// // {
// // int quantity = min((int) ((homeEntity.Capacity - homeEntity.OccupiedCapacity) / _context.GetData(item).Size), item.Quantity);
// // var newItem = _entity.RemoveCargo(item, quantity);
// // homeEntity.AddCargo(newItem);
// //
// // if (quantity < item.Quantity)
// // {
// // homeEntity.SetMessage("Colony is out of cargo space. Closing Mining Task.");
// // FinishTask();
// // _taskStarted = false;
// // return;
// // }
// // }
// // }
//
// private void NextAsteroid()
// {
// _asteroid = Zone.NearestAsteroid(Task.Asteroids, Entity.Position.xz);
// Entity.SetMessage("Selecting new asteroid.");
// }
//
// public PersistentBehaviorData Store()
// {
// return new MiningControllerPersistence
// {
// Task = Task
// };
// }
//
// public void Restore(PersistentBehaviorData data)
// {
// var miningControllerPersistence = data as MiningControllerPersistence;
// Task = miningControllerPersistence.Task;
// }
// }
//
// public class MiningControllerPersistence : PersistentBehaviorData
// {
// [JsonProperty("task"), Key(0)]
// public Mining Task;
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: b476455dca4333e4da76388aae46ac5e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,56 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using System.Collections.Generic;
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
using static Unity.Mathematics.math;
// [MessagePackObject, JsonObject(MemberSerialization.OptIn)]
// public class ParticleEffectData : BehaviorData
// {
// [InspectablePrefab, JsonProperty("Particles"), Key(1)]
// public string ParticlesPrefab;
//
// [InspectableField, JsonProperty("thrust"), Key(2)]
// public bool AreaEmitter;
//
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new ParticleEffect(context, this, entity, item);
// }
// }
//
// public class ParticleEffect : IBehavior, IAlwaysUpdatedBehavior
// {
// private ParticleEffectData _data;
//
// public Entity Entity { get; }
// public EquippedItem Item { get; }
// public ItemManager Context { get; }
//
// public BehaviorData Data => _data;
//
// public float Emission { get; private set; }
//
// public ParticleEffect(ItemManager context, ParticleEffectData data, Entity entity, EquippedItem item)
// {
// Context = context;
// _data = data;
// Entity = entity;
// Item = item;
// }
//
// public float Execute(float delta, float input)
// {
// Emission = saturate(input);
// return input;
// }
//
// public void Update(float delta)
// {
// Emission = 0;
// }
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 3c26dc8102d619a429a178bc6670242d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,104 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
using static Unity.Mathematics.math;
// [MessagePackObject, JsonObject(MemberSerialization.OptIn), EntityTypeRestriction(HullType.Ship), Order(-100)]
// public class TowingControllerData : ControllerData
// {
// public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
// {
// return new TowingController(context, this, entity, item);
// }
// }
//
// public class TowingController : ControllerBase<StationTowing>, IBehavior, IPersistentBehavior
// {
//
// private TowingControllerData _data;
// private EquippedItem Item { get; }
// private bool _taskStarted;
//
// public TowingController(ItemManager itemManager, TowingControllerData data, Entity entity, EquippedItem item) : base(itemManager, data, entity)
// {
// _data = data;
// Item = item;
// }
//
// public new bool Execute(float delta)
// {
// if (Task != null)
// {
// if (!_taskStarted)
// {
// MoveTo(Task.Station, true, OnPickup);
// _taskStarted = true;
// }
// }
// return base.Execute(delta);
// }
//
// // void OnZoneArrival()
// // {
// // var towingTask = _context.ItemData.Get<StationTowing>(Task);
// //
// // _entity.SetMessage("Entering pickup phase.");
// //
// // MoveTo(_context.ItemData.Get<Entity>(towingTask.Station), true, OnPickup);
// // }
//
// void OnPickup()
// {
// Task.Station.SetParent(Entity);
//
// Entity.SetMessage("Entering delivery phase.");
//
// MoveTo(() =>
// {
// var orbitParent = Zone.GetOrbitPosition(Task.OrbitParent);
// var parentToUs = Entity.Position.xz - orbitParent;
// return orbitParent + normalize(parentToUs) * Task.OrbitDistance;
// }, () => Zone.GetOrbitVelocity(Task.OrbitParent), OnDelivery);
// }
//
// void OnDelivery()
// {
// Task.Station.RemoveParent();
//
// Entity.SetMessage("Target delivered. Returning Home.");
//
// var orbit = Zone.CreateOrbit(Task.OrbitParent, Entity.Position.xz);
// Task.Station.OrbitData = orbit.ID;
//
// FinishTask();
// _taskStarted = false;
// }
//
// public PersistentBehaviorData Store()
// {
// return new TowingControllerPersistence
// {
// Task = Task
// };
// }
//
// public void Restore(PersistentBehaviorData data)
// {
// var towingControllerPersistence = data as TowingControllerPersistence;
// Task = towingControllerPersistence.Task;
// }
// }
//
// public class TowingControllerPersistence : PersistentBehaviorData
// {
// [JsonProperty("task"), Key(0)]
// public StationTowing Task;
// }

View file

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: de134a549a7d86f43a3590b78a2edeee
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -135,4 +135,12 @@ public class OrderAttribute : Attribute
{ {
Order = order; Order = order;
} }
}
[AttributeUsage(AttributeTargets.Field, AllowMultiple = true, Inherited = true)]
public class InspectorHeaderAttribute : Attribute
{
public readonly string header;
public InspectorHeaderAttribute(string header) => this.header = header;
} }

View file

@ -12,7 +12,8 @@ public class ZoneEnvironment
[JsonProperty("nebula"), Key(0)] public NebulaSettings Nebula; [JsonProperty("nebula"), Key(0)] public NebulaSettings Nebula;
[JsonProperty("flow"), Key(1)] public FlowSettings Flow; [JsonProperty("flow"), Key(1)] public FlowSettings Flow;
[JsonProperty("noise"), Key(2)] public NoiseSettings Noise; [JsonProperty("noise"), Key(2)] public NoiseSettings Noise;
[JsonProperty("lighting"), Key(2)] public AmbientLightingSettings Lighting; [JsonProperty("lighting"), Key(3)] public AmbientLightingSettings Lighting;
[JsonProperty("grid"), Key(4)] public GridSettings Grid;
} }
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] [Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
@ -33,6 +34,13 @@ public class NebulaSettings
[JsonProperty("safetyDistance"), Key(10)] public float SafetyDistance; [JsonProperty("safetyDistance"), Key(10)] public float SafetyDistance;
} }
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class GridSettings
{
[JsonProperty("enabled"), Key(0)] public bool Enabled;
[JsonProperty("offset"), Key(1)] public float Offset;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] [Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class AmbientLightingSettings public class AmbientLightingSettings
{ {
@ -50,7 +58,7 @@ public class FlowSettings
[JsonProperty("scrollSpeed"), Key(2)] public float GlobalScrollSpeed; [JsonProperty("scrollSpeed"), Key(2)] public float GlobalScrollSpeed;
[JsonProperty("period"), Key(3)] public float Period; [JsonProperty("period"), Key(3)] public float Period;
[JsonProperty("amplitudeSlope"), Key(4)] public float SlopeAmplitude; [JsonProperty("amplitudeSlope"), Key(4)] public float SlopeAmplitude;
[JsonProperty("amplitudeSwirl"), Key(4)] public float SwirlAmplitude; [JsonProperty("amplitudeSwirl"), Key(5)] public float SwirlAmplitude;
} }
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] [Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
@ -151,4 +159,3 @@ public class RadialWaveBrush : TextureBrush
return cos((ang + Phase.x) * Frequency.x * PI + (pow(dist, WaveExponent) + Phase.y) * Frequency.y); return cos((ang + Phase.x) * Frequency.x * PI + (pow(dist, WaveExponent) + Phase.y) * Frequency.y);
} }
} }

View file

@ -523,7 +523,6 @@ public class Galaxy
{ {
MinHeap<DijkstraVertex> unsearchedNodes = new MinHeap<DijkstraVertex>(); MinHeap<DijkstraVertex> unsearchedNodes = new MinHeap<DijkstraVertex>();
unsearchedNodes.PushObj(new DijkstraVertex{Zone = source}, 0); unsearchedNodes.PushObj(new DijkstraVertex{Zone = source}, 0);
//SortedList<float,DijkstraVertex> members = new SortedList<float,DijkstraVertex>{{0, new DijkstraVertex{Zone = source}}};
var searched = new HashSet<GalaxyZone>(); var searched = new HashSet<GalaxyZone>();
while (true) while (true)
{ {
@ -543,7 +542,7 @@ public class Galaxy
foreach (var dijkstraStar in zonesToSearch foreach (var dijkstraStar in zonesToSearch
// Cost is parent cost plus distance squared // Cost is parent cost plus distance squared
.Select(zone => new DijkstraVertex {Parent = s, Zone = zone, Cost = s.Cost + lengthsq(s.Zone.Position - zone.Position)})) .Select(zone => new DijkstraVertex {Parent = s, Zone = zone, Cost = s.Cost + lengthsq(s.Zone.Position - zone.Position)}))
// Add new member to list, sorted by cost plus optional heuristic // Add new member to list, sorted by cost plus optional heuristic
unsearchedNodes.PushObj(dijkstraStar, bestFirst ? dijkstraStar.Cost + lengthsq(dijkstraStar.Zone.Position - target.Position) : dijkstraStar.Cost); unsearchedNodes.PushObj(dijkstraStar, bestFirst ? dijkstraStar.Cost + lengthsq(dijkstraStar.Zone.Position - target.Position) : dijkstraStar.Cost);
searched.Add(s.Zone); searched.Add(s.Zone);
} }
@ -582,4 +581,4 @@ public class LocationStory
public LocationType Type; public LocationType Type;
public int Turrets; public int Turrets;
public Dictionary<string, List<GalaxyQuest>> KnotQuests = new Dictionary<string, List<GalaxyQuest>>(); public Dictionary<string, List<GalaxyQuest>> KnotQuests = new Dictionary<string, List<GalaxyQuest>>();
} }

View file

@ -1,30 +1,112 @@
using System; using System;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using Unity.Mathematics; using Unity.Mathematics;
using static Unity.Mathematics.math; using static Unity.Mathematics.math;
using Random = UnityEngine.Random;
public class FieldTester : MonoBehaviour public class FieldTester : MonoBehaviour
{ {
public int PickupCount;
public ItemPickup[] PickupPrefabs;
public float PickupTravelDistance;
public float PickupTravelTimeMin;
public float PickupTravelTimeMax;
public float PickupSizeMin;
public float PickupSizeMax;
public float ScaleExponent;
public float PickupSpawnDistanceMin;
public float PickupSpawnDistanceMax;
public Camera Camera; public Camera Camera;
public FieldDriver TestField; public FieldDriver TestField;
public PropertiesPanel Properties; public PropertiesPanel Properties;
private AetheriaInput _input; private AetheriaInput _input;
private bool _forceThrust; private bool _forceThrust;
private float _throttleDecay = 2;
private bool _directionalPush;
private float _twistFront;
private float _twistRear;
private List<(float lerp, float time, Transform transform)> _pickups = new List<(float lerp, float time, Transform transform)>();
private void Start() private void Start()
{ {
_input = new AetheriaInput(); _input = new AetheriaInput();
_input.Player.Enable(); _input.Player.Enable();
Properties.AddField("Time Scale", () => Time.timeScale, f => Time.timeScale = f, 0, 2);
Properties.AddField("FOV", () => Camera.fieldOfView, f => Camera.fieldOfView = f, 15, 45); Properties.AddField("FOV", () => Camera.fieldOfView, f => Camera.fieldOfView = f, 15, 45);
Properties.AddButton("Melee", () => TestField.Melee()); Properties.AddButton("Melee", () => TestField.Melee());
Properties.AddField("Force Thrust", () => _forceThrust, b => _forceThrust = b); Properties.AddField("Force Thrust", () => _forceThrust, b => _forceThrust = b);
Properties.AddField("Directional Push", () => _directionalPush, b => _directionalPush = b);
Properties.AddField("Throttle Decay", () => _throttleDecay, f => _throttleDecay = f);
Properties.Inspect(TestField, true, true); Properties.Inspect(TestField, true, true);
Properties.AddProperty("Current Hits", () => TestField.HitCount.ToString()); Properties.AddProperty("Current Hits", () => TestField.HitCount.ToString());
Properties.AddProperty("Push X", () => $"{(int)(TestField.Push.x * 100)}%");
Properties.AddProperty("Push Y", () => $"{(int)(TestField.Push.y * 100)}%");
Properties.AddProperty("Front Twist", () => $"{(int)(TestField.FrontTwist * 100)}%");
Properties.AddProperty("Rear Twist", () => $"{(int)(TestField.RearTwist * 100)}%");
for (int i = 0; i < PickupCount; i++)
{
var l = (float)i / PickupCount;
var pickup = Instantiate(PickupPrefabs[(int)(l * PickupPrefabs.Length)], transform);
var i1 = i;
var click = pickup.GetComponent<ClickableCollider>();
click.OnClick += (collider, data, ray, hit) =>
{
if (!TestField.CanGrab) return;
click.Clear();
var p = _pickups[i1];
var travelTime = lerp(PickupTravelTimeMin, PickupTravelTimeMax, l);
TestField.GrabObject(p.transform, Vector3.forward * (PickupTravelDistance / travelTime));
p.transform = null;
_pickups[i1] = p;
};
pickup.ScanLabelContainer.gameObject.SetActive(false);
pickup.enabled = false;
var pickupTransform = pickup.transform;
var time = Random.value;
var circle = Random.insideUnitCircle.normalized * Random.Range(PickupSpawnDistanceMin,PickupSpawnDistanceMax);
pickupTransform.position = new Vector3(circle.x,circle.y, (time-.5f)*PickupTravelDistance);
_pickups.Add((l, time, pickupTransform));
}
} }
private void Update() private void Update()
{ {
TestField.Throttle = _forceThrust ? float2(0,1) : _input.Player.Move.ReadValue<Vector2>(); var move = _forceThrust ? float2(0,1) : (float2)_input.Player.Move.ReadValue<Vector2>();
var turn = _input.Player.Turn.ReadValue<float>();
if (_directionalPush)
{
TestField.Push = AetheriaMath.Damp(TestField.Push, move, _throttleDecay, Time.deltaTime);
TestField.FrontTwist = AetheriaMath.Damp(TestField.FrontTwist,
turn,
_throttleDecay, Time.deltaTime);
TestField.RearTwist = AetheriaMath.Damp(TestField.RearTwist,
turn,
_throttleDecay, Time.deltaTime);
}
else
{
TestField.Push = AetheriaMath.Damp(TestField.Push, float2(0,move.y), _throttleDecay, Time.deltaTime);
TestField.FrontTwist = AetheriaMath.Damp(TestField.FrontTwist,
clamp(turn + move.x, -1, 1) * (1+min(move.y,0)),
_throttleDecay, Time.deltaTime);
TestField.RearTwist = AetheriaMath.Damp(TestField.RearTwist,
clamp(turn - move.x, -1, 1) * (1+min(-move.y,0)),
_throttleDecay, Time.deltaTime);
}
for (var i = 0; i < _pickups.Count; i++)
{
var (l, time, t) = _pickups[i];
if (t == null) continue;
time = frac(time + Time.deltaTime / lerp(PickupTravelTimeMin, PickupTravelTimeMax, l));
t.localScale = Vector3.one * lerp(PickupSizeMin, PickupSizeMax, l) * Zone.PowerPulse(time - .5f, ScaleExponent);
t.position = new Vector3(t.position.x, t.position.y, (time - .5f) * PickupTravelDistance);
_pickups[i] = (l, time, t);
}
} }
} }

View file

@ -466,7 +466,7 @@ public class PropertiesPanel : MonoBehaviour
Transform dragObject = null; Transform dragObject = null;
weaponGroups.OnBeginDragAsObservable().Subscribe(x => weaponGroups.OnBeginDragAsObservable().Subscribe(x =>
{ {
//Debug.Log($"Began dragging weapon group {x.group}"); Debug.Log($"Began dragging weapon group {x.group}");
GameManager.BeginDrag(new WeaponGroupDragObject(x.group)); GameManager.BeginDrag(new WeaponGroupDragObject(x.group));
dragObject = Instantiate(weaponGroups.Groups[x.group], DragParent, true).transform; dragObject = Instantiate(weaponGroups.Groups[x.group], DragParent, true).transform;
dragOffset = (Vector2)dragObject.position - x.pointerEventData.position; dragOffset = (Vector2)dragObject.position - x.pointerEventData.position;
@ -477,7 +477,7 @@ public class PropertiesPanel : MonoBehaviour
}); });
weaponGroups.OnEndDragAsObservable().Subscribe(x => weaponGroups.OnEndDragAsObservable().Subscribe(x =>
{ {
//Debug.Log($"Ended dragging weapon group {x.group}"); Debug.Log($"Ended dragging weapon group {x.group}");
GameManager.EndDrag(); GameManager.EndDrag();
Destroy(dragObject.gameObject); Destroy(dragObject.gameObject);
}); });

View file

@ -18,6 +18,7 @@ using static Unity.Mathematics.noise;
[RequireComponent( typeof( Camera ) )] [RequireComponent( typeof( Camera ) )]
public class VolumeSampling : MonoBehaviour public class VolumeSampling : MonoBehaviour
{ {
public Transform GridMesh;
public Camera GridCamera; public Camera GridCamera;
public GameSettings Settings; public GameSettings Settings;
@ -48,6 +49,13 @@ public class VolumeSampling : MonoBehaviour
Shader.SetGlobalVector("_GridTransform", new Vector4(_gridTransform.position.x,_gridTransform.position.z,GridCamera.orthographicSize*2)); Shader.SetGlobalVector("_GridTransform", new Vector4(_gridTransform.position.x,_gridTransform.position.z,GridCamera.orthographicSize*2));
var environment = ActionGameManager.Instance?.CurrentEnvironment ?? Settings.DefaultEnvironment; var environment = ActionGameManager.Instance?.CurrentEnvironment ?? Settings.DefaultEnvironment;
if (GridMesh != null)
{
GridMesh.gameObject.SetActive(environment.Grid.Enabled);
GridMesh.position = new Vector3(_gridTransform.position.x, environment.Grid.Offset, _gridTransform.position.z);
GridMesh.localScale = new Vector3(GridCamera.orthographicSize, 1, GridCamera.orthographicSize);
}
// Volumetric sampling parameters are used by several shaders // Volumetric sampling parameters are used by several shaders
Shader.SetGlobalTexture("_NebulaSurfaceHeight", NebulaSurfaceHeight); Shader.SetGlobalTexture("_NebulaSurfaceHeight", NebulaSurfaceHeight);

View file

@ -531,6 +531,7 @@ public class ZoneRenderer : MonoBehaviour
var distance = length(difference); var distance = length(difference);
entityInstance.CompassIcon.gameObject.SetActive( entityInstance.CompassIcon.gameObject.SetActive(
PerspectiveEntity.EntityInfoGathered.ContainsKey(entityInstance.Entity) &&
PerspectiveEntity.EntityInfoGathered[entityInstance.Entity] > Settings.GameplaySettings.TargetDetectionInfoThreshold && PerspectiveEntity.EntityInfoGathered[entityInstance.Entity] > Settings.GameplaySettings.TargetDetectionInfoThreshold &&
distance > _minimapDistance); distance > _minimapDistance);
entityInstance.CompassIcon.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg - 90); entityInstance.CompassIcon.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg - 90);
@ -699,4 +700,4 @@ public class AsteroidBeltUI
_mesh.vertices = _vertices; _mesh.vertices = _vertices;
//_collider.sharedMesh = _mesh; //_collider.sharedMesh = _mesh;
} }
} }

View file

@ -107,7 +107,7 @@ Category {
// //
// Note that there are no random points at all, no loops, and virtually no setup, yet the // Note that there are no random points at all, no loops, and virtually no setup, yet the
// pattern appears random anyway. // pattern appears random anyway.
float m(float2 p){ float cells(float2 p){
// Offset - used for animation. Put in as an afterthought, so probably needs more // Offset - used for animation. Put in as an afterthought, so probably needs more
// tweaking, but it works well enough for the purpose of this demonstration. // tweaking, but it works well enough for the purpose of this demonstration.
@ -139,7 +139,7 @@ Category {
fixed4 frag (v2f i) : SV_Target fixed4 frag (v2f i) : SV_Target
{ {
float dist = length(i.texcoord - float2(.5,.5)); float dist = length(i.texcoord - float2(.5,.5));
return _Depth * powerPulse(dist * 2,_Power) * m(i.texcoord1.xy*_Frequency); return _Depth * powerPulse(dist * 2,_Power) * cells(i.texcoord1.xy*_Frequency);
} }
ENDCG ENDCG
} }

View file

@ -11,36 +11,59 @@ Shader "Aetheria/Field"
Properties Properties
{ {
_Displacement("Max Displacement", Range(0, 1.0)) = 0.3 _Displacement("Max Displacement", Range(0, 1.0)) = 0.3
_SubdivisionAmount("Subivision Amount", Range(1, 10)) = 1 _SubdivisionAmount("Subivision Amount", Range(1, 12)) = 1
// _Color("Color", Color) = (1,1,1,1) _Color("Color", Color) = (1,1,1,1)
// _Metallic("Metallic", Range(0, 1)) = 1
// _Gloss("Gloss", Range(0, 1)) = 0.8
_Ambient_Multiplier("Ambient Multiplier", Float) = 5
_EmissionColor ("Emission Color", Color) = (1,1,1,1)
_Emission ("Emission Strength", Float) = 0 _Emission ("Emission Strength", Float) = 0
_EmissionFresnel ("Emission Fresnel", Float) = 1.0 _EmissionFresnel ("Emission Fresnel", Float) = 1.0
_Background ("Background", CUBE) = "" {} _Background ("Background", CUBE) = "" {}
_BackgroundFresnel ("Background Fresnel", Float) = 1.0 _BackgroundFresnel ("Background Fresnel", Float) = 1.0
_BackgroundBlur ("Background Blur", Float) = 2 _BackgroundBlur ("Background Blur", Float) = 2
_BlurFresnel ("Blur Fresnel", Float) = 2
_PushWaveMagnitude ("Push Magnitude", Float) = .5
_PushWaveFrequency ("Push Frequency", Float) = 2
_PushWaveRangeExponent ("Push Range Exponent", Float) = 2
_PushWaveEnvelopeExponent ("Push Envelope Exponent", Float) = 2
_PushWaveExponent ("Push Wave Exponent", Float) = 2
_PushWaveRange ("Push Range", Range(0,3.141592654)) = 1
_PushWaveOffset ("Push Time", Float) = .5
_PushDirection ("Push Direction", Vector) = (0,0,1)
_PushOpacity ("Push Opacity", Range(0,1)) = 1
_PushOpacityRangeMin ("Push Opacity Range Start", Range(0,1)) = .5
_PushOpacityRangeMax ("Push Opacity Range End", Range(0,1)) = .25
_FresnelOpacity ("Fresnel Opacity", Range(0,1)) = 1 _FresnelOpacity ("Fresnel Opacity", Range(0,1)) = 1
_OpacityFresnel ("Opacity Fresnel", Float) = 1 _OpacityFresnel ("Opacity Fresnel", Float) = 1
_DisplacementOpacity ("Displacement Opacity", Float) = 1 _DisplacementOpacity ("Displacement Opacity", Float) = 1
_DeviationOpacityExponent ("Deviation Opacity Exponent", Float) = 8 _DeviationOpacityExponent ("Deviation Opacity Exponent", Float) = 8
_WaveMagnitude ("Wave Magnitude", Float) = .5
_WaveFrequency ("Wave Frequency", Float) = 2
_WaveOffset ("Wave Time", Float) = .5
_WaveExponent ("Wave Exponent", Float) = 2
_Push ("Push", Range(0,1)) = 1
_PushDirection ("Push Direction", Vector) = (0,0,1)
_PushVerticalExponent ("Push Vertical Exponent", Float) = 1
_PushEnvelopeExponent ("Push Envelope Exponent", Float) = 2
_PushFrequencyExponent ("Push Frequency Exponent", Float) = 2
// _PushOpacity ("Push Opacity", Range(0,1)) = 1
// _PushOpacityRangeMin ("Push Opacity Range Start", Range(0,1)) = .5
// _PushOpacityRangeMax ("Push Opacity Range End", Range(0,1)) = .25
_TwistFront ("Twist Front", Range(-1,1)) = 1
_TwistRear ("Twist Back", Range(-1,1)) = 1
_TwistVerticalExponent ("Twist Vertical Exponent", Float) = 1
_TwistEnvelopeExponent ("Twist Envelope Exponent", Range(1,12)) = 1
_TwistFrequencyExponent ("Twist Frequency Exponent", Float) = 2
_MeleeDisplacement ("Melee Displacement", Float) = 8
_MeleeShape ("Melee Shape", Float) = 8
_MeleeFlattening ("Melee Flattening", Float) = 8
_MeleeDirection ("Melee Direction", Vector) = (0,0,-1)
_TendrilSize ("Tendril Size", Float) = 1
_TendrilExponent ("Tendril Exponent", Float) = 1
_TendrilRadius ("Tendril Radius", Float) = .1
_TendrilInfluence ("Tendril Influence", Float) = .1
_InverseScale ("Inverse Scale", Vector) = (1,1,1)
_CellSpeed("Cell Speed", Float) = 1
_CellTiling("Cell Tiling", Float) = 1
_CellExponent("Cell Exponent", Float) = 1
// _BulbRadius ("Bulb Radius", Float) = .5
// _BulbRange ("Bulf Range", Float) = .1
} }
SubShader SubShader
@ -56,6 +79,7 @@ Shader "Aetheria/Field"
#pragma domain domain_shader #pragma domain domain_shader
#pragma fragment pixel_shader #pragma fragment pixel_shader
#pragma multi_compile ___ UNITY_HDR_ON #pragma multi_compile ___ UNITY_HDR_ON
#pragma multi_compile A B C D E F G H
//#pragma exclude_renderers nomrt //#pragma exclude_renderers nomrt
#pragma target 4.6 #pragma target 4.6
#pragma glsl #pragma glsl
@ -63,53 +87,64 @@ Shader "Aetheria/Field"
//#define UNITY_PASS_DEFERRED //#define UNITY_PASS_DEFERRED
#include "UnityPBSLighting.cginc" #include "UnityPBSLighting.cginc"
#include "Dither Functions.cginc" #include "Dither Functions.cginc"
// #include "UnityShaderVariables.cginc"
// #include "UnityStandardCore.cginc"
//#include "HLSLSupport.cginc"
//#include "UnityShaderVariables.cginc"
//#include "Lighting.cginc"
//#include "AutoLight.cginc"
//#pragma only_renderers d3d11 //#pragma only_renderers d3d11
uniform sampler2D _LightBuffer;
float _SubdivisionAmount; float _SubdivisionAmount;
float _Displacement; float _Displacement;
// half4 _Color; half4 _Color;
// float _Metallic;
// float _Gloss;
float _Ambient_Multiplier;
samplerCUBE _Background; samplerCUBE _Background;
float _Emission; float _Emission;
half4 _EmissionColor;
float _EmissionFresnel; float _EmissionFresnel;
float _BackgroundBlur; float _BackgroundBlur;
float _BlurFresnel;
float _BackgroundFresnel; float _BackgroundFresnel;
float _FresnelOpacity; float _FresnelOpacity;
float _OpacityFresnel; float _OpacityFresnel;
float _PushWaveMagnitude;
float _PushWaveFrequency;
float _PushWaveRangeExponent;
float _PushWaveExponent;
float _PushWaveEnvelopeExponent;
float _PushWaveRange;
float _PushWaveOffset;
float _PushOpacity;
float _PushOpacityRangeMin;
float _PushOpacityRangeMax;
float _DisplacementOpacity;
float _DeviationOpacityExponent; float _DeviationOpacityExponent;
float _DisplacementOpacity;
float _WaveMagnitude;
float _WaveOffset;
float _WaveFrequency;
float _WaveExponent;
float _Push;
float3 _PushDirection;
float _PushVerticalExponent;
float _PushEnvelopeExponent;
float _PushFrequencyExponent;
// float _PushOpacity;
// float _PushOpacityRangeMin;
// float _PushOpacityRangeMax;
float _TwistVerticalExponent;
float _TwistEnvelopeExponent;
float _TwistFrequencyExponent;
float _TwistFront;
float _TwistRear;
float _MeleeDisplacement; float _MeleeDisplacement;
float _MeleeShape; float _MeleeShape;
float _MeleeFlattening; float _MeleeFlattening;
float3 _MeleeDirection; float3 _MeleeDirection;
float3 _TendrilBase;
float3 _TendrilBend;
float3 _TendrilTarget;
float _TendrilSize;
float _TendrilRadius;
float _TendrilExponent;
float _TendrilInfluence;
// float _BulbRadius;
// float _BulbRange;
float _CellSpeed;
float _CellExponent;
float _CellTiling;
int _HitCount; int _HitCount;
struct FieldHit struct FieldHit
{ {
@ -120,7 +155,6 @@ Shader "Aetheria/Field"
}; };
StructuredBuffer<FieldHit> _Hits; StructuredBuffer<FieldHit> _Hits;
uniform float3 _PushDirection;
uniform float3 _InverseScale; uniform float3 _InverseScale;
uniform float4x4 _ReflRotate; uniform float4x4 _ReflRotate;
@ -177,19 +211,28 @@ Shader "Aetheria/Field"
//float depthSV : Depth; //float depthSV : Depth;
}; };
// q = lerped position according to SV_DomainLocation. inline float3 spline(float3 p0, float3 p1, float3 p2, float t)
// p = patch position, in sequential order [0], [1], etc... {
// n = patch normal, in sequential order [0], [1], etc... t = saturate(t);
float3 PhongOperator(float3 q, float3 p, float3 n) float oneMinusT = 1 - t;
return
oneMinusT * oneMinusT * p0 +
2 * oneMinusT * t * p1 +
t * t * p2;
}
inline float bulb(float x)
{ {
return q - dot(q - p, n) * n; return sqrt(0.25-pow(x-.5, 2));
}
inline float unlerp(float from, float to, float value){
return saturate((value - from) / (to - from));
} }
float smootherstep(float edge0, float edge1, float x) { inline float almostUnitIdentity( float x )
// Scale, and clamp x to 0..1 range {
x = saturate((x - edge0) / (edge1 - edge0)); return x*x*x*(2.0-x);
// Evaluate polynomial
return x * x * x * (x * (x * 6 - 15) + 10);
} }
struct v2f { struct v2f {
@ -199,29 +242,87 @@ Shader "Aetheria/Field"
float4 screenPos : TEXCOORD1; float4 screenPos : TEXCOORD1;
float3 viewDirection : TEXCOORD2; float3 viewDirection : TEXCOORD2;
}; };
static const float EPSILON = .001;
float3 SampleDisplacement (float3 normal) float3 SampleDisplacement (float3 normal)
{ {
float3 disp = 0; float3 disp = 0;
float l = smoothstep(UNITY_PI, 0, acos(dot(_PushDirection,normal)));
float pushwave = pow((sin(pow(l, _PushWaveRangeExponent)*UNITY_PI*_PushWaveFrequency - _PushWaveOffset * UNITY_TWO_PI)+1)/2, _PushWaveExponent); float vertical = acos(dot(normal,float3(0,1,0)))/UNITY_PI;
if(_PushWaveMagnitude<0) pushwave = 1-pushwave; float angle = atan2(normal.z,normal.x) / UNITY_PI;
disp += normal * pow(l, _PushWaveEnvelopeExponent) * pushwave * abs(_PushWaveMagnitude);
if(_Push > EPSILON)
{
float waveRange = acos(dot(_PushDirection,normal)) / UNITY_PI;
float pushwave = pow((sin(pow(waveRange, _PushFrequencyExponent)*_WaveFrequency-_WaveOffset)+1)/2, _WaveExponent);
if(_WaveMagnitude<0) pushwave = 1-pushwave;
//if(_CellExponent > 0) pushwave *= pow(cells(float2(waveRange * _CellTiling, vertical * _CellTiling)), _CellExponent);
float verticalEnvelope = pow( 4.0*vertical*(1.0-vertical), abs(_PushVerticalExponent) );
if(_PushVerticalExponent < 0) verticalEnvelope = 1-verticalEnvelope;
disp += normal * (
pow(waveRange, _PushEnvelopeExponent) *
verticalEnvelope *
pushwave *
abs(_WaveMagnitude) *
_Push);
}
float twist = angle < 0 ? _TwistFront : _TwistRear;
if(abs(twist) > EPSILON)
{
angle = frac(angle);
if(twist < 0) angle = 1 - angle;
float verticalEnvelope = pow( 4.0*vertical*(1.0-vertical), _TwistVerticalExponent );
float twistEnvelope = (1-angle) *
pow(angle, _TwistEnvelopeExponent) *
pow(1/_TwistEnvelopeExponent+1, _TwistEnvelopeExponent) *
(_TwistEnvelopeExponent+1);
float twistwave = pow((sin(pow(angle, _TwistFrequencyExponent)*_WaveFrequency - _WaveOffset)+1)/2, _WaveExponent);
if(_WaveMagnitude<0) twistwave = 1-twistwave;
disp += normal * (
verticalEnvelope *
twistEnvelope *
twistwave *
abs(_WaveMagnitude) *
abs(twist));
}
float3 scaledNormal = normal/_InverseScale; float3 scaledNormal = normal/_InverseScale;
for(int i=0; i<_HitCount; i++) for(int i=0; i<_HitCount; i++)
{ {
FieldHit hit = _Hits[i]; FieldHit hit = _Hits[i];
float3 toHit = hit.Position-scaledNormal;
float envelope = pow(smoothstep(hit.Magnitude + 4, 0, length(toHit)), 8 / hit.Time);
if(envelope < EPSILON) continue;
float hitroot = sqrt(hit.Magnitude); float hitroot = sqrt(hit.Magnitude);
float invsqtime = pow(1-hit.Time, 4); float invsqtime = pow(1-hit.Time, 2);
float3 toHit = hit.Position/_InverseScale-scaledNormal; disp += lerp(normal, hit.Direction, invsqtime) * (envelope * pow(cos(envelope*hitroot*hit.Time*6)+1,2) * hitroot * invsqtime * _InverseScale.y);
float envelope = pow(smoothstep(hit.Magnitude + 4, 0, length(toHit)), 8 / (hit.Time));
disp += lerp(hit.Direction, normal, hit.Time) * (envelope * pow(cos(envelope*hitroot*hit.Time*6)+1,2) * hitroot * invsqtime * _InverseScale.y);
} }
if(_MeleeDisplacement>.01)
if(_MeleeDisplacement > EPSILON)
{ {
normal.y /= _MeleeFlattening; normal.y *= _MeleeFlattening;
normal = normalize(normal); normal = normalize(normal);
disp += _MeleeDirection * pow(saturate(1 - acos(dot(normal,_MeleeDirection))/(UNITY_PI/2)),_MeleeShape) * _MeleeDisplacement; disp += _MeleeDirection * (pow(saturate(1 - acos(dot(normal,_MeleeDirection))/(UNITY_PI/2)),_MeleeShape) * _MeleeDisplacement);
}
if(_TendrilInfluence > EPSILON)
{
float3 toBase = _TendrilBase-scaledNormal;
float3 toBend = _TendrilBend-scaledNormal;
float3 toTarget = _TendrilTarget-scaledNormal;
float tendrilLerp = 1 - saturate(length(toBase)/_TendrilSize);
float3 radial = normalize(-toBase) * _TendrilRadius;
// if(_BulbRadius > 0)
// {
// float bulbLerp = smoothstep(1-_BulbRange * _BulbRadius, 1, tendrilLerp);
// radial = normalize(-toBase) * (_TendrilRadius + bulb(bulbLerp) * _BulbRadius);
// toTarget += normalize(toTarget) * _BulbRadius*.25;
// toTarget += normalize(toTarget-toBend) * _BulbRadius*.25;
// }
float3 tendril = spline(toBase, toBend, toTarget, tendrilLerp) + radial;
disp = lerp(disp, tendril, almostUnitIdentity(tendrilLerp) * _TendrilInfluence);
} }
return disp; return disp;
//return texCUBElod(_Offset, float4(normal, 0)).r; //return texCUBElod(_Offset, float4(normal, 0)).r;
@ -330,9 +431,8 @@ Shader "Aetheria/Field"
float3 dir = mul(_ReflRotate, refract(input.viewDirection,normal,_BackgroundFresnel)); float3 dir = mul(_ReflRotate, refract(input.viewDirection,normal,_BackgroundFresnel));
//float lerp = smoothstep(UNITY_PI, 0, pow(acos(dot(_PushDirection,input.normal)), 2)); //float lerp = smoothstep(UNITY_PI, 0, pow(acos(dot(_PushDirection,input.normal)), 2));
float2 screenUV = input.screenPos.xy / input.screenPos.w; float2 screenUV = input.screenPos.xy / input.screenPos.w;
float l = pow(smoothstep(UNITY_PI * _PushOpacityRangeMin, UNITY_PI * _PushOpacityRangeMax, acos(dot(_PushDirection,input.normal))), 4); ditherClip(screenUV, abs(height) * _DisplacementOpacity + deviation + pow(1-rim, _OpacityFresnel) * _FresnelOpacity);
ditherClip(screenUV, abs(height) * _DisplacementOpacity + deviation + l * _PushOpacity + pow(1-rim, _OpacityFresnel) * _FresnelOpacity); deferredStruct.emission.rgb += texCUBElod(_Background, float4(dir, _BackgroundBlur*pow(rim, _BlurFresnel))).rgb * _Emission * pow(rim,_EmissionFresnel) * _Color;
deferredStruct.emission.rgb += texCUBElod(_Background, float4(dir, _BackgroundBlur)).rgb * _Emission * pow(rim,_EmissionFresnel) * _EmissionColor;
#ifndef UNITY_HDR_ON #ifndef UNITY_HDR_ON
deferredStruct.emission.rgb = exp2(-deferredStruct.emission.rgb); deferredStruct.emission.rgb = exp2(-deferredStruct.emission.rgb);
@ -345,5 +445,6 @@ Shader "Aetheria/Field"
} }
} }
Fallback "Diffuse" Fallback "Diffuse"
CustomEditor "CellBrushEditor"
} }

View file

@ -441,7 +441,7 @@ FragmentOutput MyFragmentProgram (Interpolators i) {
(1 - saturate(max(0, abs(i.worldPos.y - _AlphaRangeCenter) - _AlphaRange) / _AlphaRangeFeather)) * (1 - saturate(max(0, abs(i.worldPos.y - _AlphaRangeCenter) - _AlphaRange) / _AlphaRangeFeather)) *
(cells(i.worldPos * _AlphaTiling) + (cells(i.worldPos * _AlphaTiling) +
(pow((rim), _FresnelClipPower) + _FresnelClipOffset) * _FresnelClip);// * inclination (pow((rim), _FresnelClipPower) + _FresnelClipOffset) * _FresnelClip);// * inclination
#if defined(_RENDERING_CUTOUT) #if defined(_RENDERING_CUTOUT)
clip(alpha - _AlphaClip); clip(alpha - _AlphaClip);
#endif #endif
@ -499,4 +499,4 @@ FragmentOutput MyFragmentProgram (Interpolators i) {
return output; return output;
} }
#endif #endif

BIN
GameData/AetherDB.msgpack (Stored with Git LFS)

Binary file not shown.

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true]]},"schematic":"","behaviors":[],"durability":550.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"SafeStuff II","description":"Your stuff is safe stuffed in the new, bigger SafeStuff","creator":"adfb9b08-aabc-45c6-9586-915698a9c4b0","mass":700.0,"shape":{"name":[[true,true,true],[true,true,true],[true,true,true]]},"specificHeat":0.75,"conductivity":1.0,"price":450000,"id":"03740fd6-158d-43e9-b070-9a40e0b9bc45","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true],[true,true,true,true,true,true,true,true,true,true,true,true]]},"schematic":"","behaviors":[],"durability":1000.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"Store-All Enterprise Edition","description":"A large amount of storage","creator":"2f74e6b4-d268-48a9-b2a8-24591c680e84","mass":800.0,"shape":{"name":[[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true],[true,true,true,true,true,true]]},"specificHeat":0.75,"conductivity":1.0,"price":700000,"id":"46b66f9a-5c72-4e7a-ac9b-4dd7904cc4a1","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true],[true,true]]},"schematic":"","behaviors":[],"durability":125.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"Store-All Plus Mini","description":"Take some of your cargo wherever your shipgo","creator":"2f74e6b4-d268-48a9-b2a8-24591c680e84","mass":50.0,"shape":{"name":[[true]]},"specificHeat":0.75,"conductivity":1.0,"price":50000,"id":"ae05f4cb-0dd5-4f37-af96-cc61c9d61e1f","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"interiorShape":{"name":[[true,true,true,true],[true,true,true,true],[true,true,true,true],[true,true,true,true]]},"schematic":"","behaviors":[],"durability":250.0,"minTemp":175.0,"maxTemp":600.0,"heatCurve":{"keys":[[0.0,0.0,8.389394,8.389394],[0.357228935,0.8660065,-2.46956825,-2.46956825],[1.0,0.0,-0.6179685,-0.6179685]]},"resilience":1.0,"actionIcon":null,"soundBank":0,"audioStats":[],"name":"Store-All Plus","description":"Take your cargo wherever your shipgo","creator":"2f74e6b4-d268-48a9-b2a8-24591c680e84","mass":200.0,"shape":{"name":[[true,true],[true,true]]},"specificHeat":0.75,"conductivity":1.0,"price":150000,"id":"49b4c15a-c10b-49c0-9dad-31dfb9b3a9b9","$type":"CargoBayData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"AI Pilot","description":"Place your valuable life and even more valuable cargo in the relentlessly logical hands of your AI copilot*. *Personalities may vary. Any neuroticism or homicidal madness in an artificial intelligence is not our responsibility. ","creator":"00000000-0000-0000-0000-000000000000","mass":0.0,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"11d9fd0c-c0dd-482f-8e2a-f7c289ed6a3d","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":3,"name":"All-Surface Stylus","description":"Draw and write on anything! Even lava!","creator":"00000000-0000-0000-0000-000000000000","mass":0.7,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"20376ecd-77fa-4ffe-9be6-185158ee1bfc","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Antireflective Coating","description":"Spray this stuff on your hull to make it invisible to radar.","creator":"00000000-0000-0000-0000-000000000000","mass":5.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"4810a43b-bbb9-447d-b62e-b723e4d88afc","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Ballistic Powder","description":"Used in the creation of ballistic weapons. \r\n","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"0b449ae1-7eab-47e8-ac3c-2b6f6ff01f00","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Big Red Button","description":"No one knows what it does, but everyone know it's critical to modern spaceship design. Just don't press it.","creator":"00000000-0000-0000-0000-000000000000","mass":3.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"5e2950d6-02df-461e-a35e-a4123c6a5639","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":5,"name":"Cargo Pod","description":"Cargo space? No, cargo road, but also, cargo pod.","creator":"00000000-0000-0000-0000-000000000000","mass":20.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"17032840-c285-4f33-82ae-6b03f1e1e56b","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Circuit Board","description":null,"creator":"00000000-0000-0000-0000-000000000000","mass":3.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"3c8b2b3d-ca1a-405f-966f-c64662a64418","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":5,"name":"Cockpit","description":null,"creator":"00000000-0000-0000-0000-000000000000","mass":25.0,"shape":null,"specificHeat":1.5,"conductivity":1.0,"price":0,"id":"6d20c298-281e-46fc-be33-dbcc575d49d7","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Construction Rebar","description":"Helps your building stay up.","creator":"00000000-0000-0000-0000-000000000000","mass":65.0,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"2aa99b2d-80ed-4640-9350-9affcfe6d8cd","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":2,"name":"Crash Test Dummy","description":"Your best friend and co pilot","creator":"00000000-0000-0000-0000-000000000000","mass":7.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"4b3fc716-d362-4379-8c65-f2c471647ed1","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":2,"name":"Daily Feed Ad Slot (5ms)","description":"A 5 ms slot on the most widely viewed news feed in the multiverse","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"601a345d-6f0b-4bdb-8171-be4befaf9a33","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":2,"name":"Dashboard Ornament","description":"Add personality to your ship dashboard! *Not responsible for accidental death due to inertia from sudden deceleration","creator":"00000000-0000-0000-0000-000000000000","mass":0.5,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"03ff4335-fa65-4a89-8cea-68f70de01d60","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Dials","description":"Small dials for your control panel. Do they do anything? We don't know, but they sure look important.","creator":"00000000-0000-0000-0000-000000000000","mass":0.5,"shape":null,"specificHeat":0.0,"conductivity":1.0,"price":0,"id":"6d4c9e32-7ffd-45f6-8e08-86d544793774","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Diamond","description":"Used to harden a material. \r\n","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"8776c2fd-45f6-4ca6-8ef0-5214be830182","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":5,"name":"Emergency Personal Life Support System","description":"The sole survivor's best friend.","creator":"00000000-0000-0000-0000-000000000000","mass":16.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"35f02735-1993-4467-b3de-028c2d6e2276","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Fuel","description":null,"creator":"00000000-0000-0000-0000-000000000000","mass":3.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"6821495a-4875-4350-a8e8-e813c3576aa8","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":3,"name":"Geiger Counter","description":"It's rad. You shouldn't be.","creator":"00000000-0000-0000-0000-000000000000","mass":6.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"1ea0df17-aba1-45bc-8d6e-a430c110e38d","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":0,"name":"Hat","description":"A hat. Goes on your head. OR: It keeps the rain off your head. ","creator":"00000000-0000-0000-0000-000000000000","mass":1.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"5383d6b6-083b-4721-8f6b-426dba0beaeb","$type":"CompoundCommodityData"}

View file

@ -1 +0,0 @@
{"demandProfile":{},"category":4,"name":"Heat Sink Tile","description":"It's getting hot in here, so drain off all your heat before your systems overload","creator":"00000000-0000-0000-0000-000000000000","mass":7.0,"shape":null,"specificHeat":1.0,"conductivity":1.0,"price":0,"id":"0d6a518d-24e9-40bf-9861-301de17b5161","$type":"CompoundCommodityData"}

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