mirror of
https://github.com/PashaBibko/The-Mobius-Line.git
synced 2026-04-03 17:39:03 +00:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b97eaf1475 | ||
|
|
c2cd9f3466 | ||
|
|
f538eae622 | ||
|
|
d7dc1503bc | ||
|
|
a50e6fe3c5 | ||
|
|
9820decad0 | ||
|
|
a481fbbc89 | ||
|
|
c742b06311 | ||
|
|
95a2c4b43b | ||
|
|
8a89758ae5 | ||
| abfc6cd910 | |||
| e706d5577a | |||
| b2530ee2b7 | |||
| c191af0d4b | |||
| 728238edaf | |||
| 57c0acbab9 | |||
| cc701b5a00 | |||
| 8325f34ead |
83
Assets/EdgeDetMat.mat
Normal file
83
Assets/EdgeDetMat.mat
Normal file
@@ -0,0 +1,83 @@
|
||||
%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: EdgeDetMat
|
||||
m_Shader: {fileID: 4800000, guid: 211b73cf71b1f6a48aa152214d4a886d, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
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: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 45fd8ac89ef24ee4a8f8aef5818a3179
|
||||
guid: b4f28ecf1d1c85941ae7097df1b9f763
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
8
Assets/Fonts.meta
Normal file
8
Assets/Fonts.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4194d8a65c567a940a05a157382c1598
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Fonts/London Underground Bold.ttf
Normal file
BIN
Assets/Fonts/London Underground Bold.ttf
Normal file
Binary file not shown.
21
Assets/Fonts/London Underground Bold.ttf.meta
Normal file
21
Assets/Fonts/London Underground Bold.ttf.meta
Normal file
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e99e45d2b51e60d42a63e313b9e7cb5a
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 16
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontNames:
|
||||
- London Underground
|
||||
fallbackFontReferences: []
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Fonts/London Underground Heavy.ttf
Normal file
BIN
Assets/Fonts/London Underground Heavy.ttf
Normal file
Binary file not shown.
21
Assets/Fonts/London Underground Heavy.ttf.meta
Normal file
21
Assets/Fonts/London Underground Heavy.ttf.meta
Normal file
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7a9652d55bbf1b4b9e093541f545c71
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 16
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontNames:
|
||||
- London Underground
|
||||
fallbackFontReferences: []
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Fonts/London Underground Medium.ttf
Normal file
BIN
Assets/Fonts/London Underground Medium.ttf
Normal file
Binary file not shown.
21
Assets/Fonts/London Underground Medium.ttf.meta
Normal file
21
Assets/Fonts/London Underground Medium.ttf.meta
Normal file
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 69d03deba79cd4c44a1454b13e8b7ca4
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 16
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontNames:
|
||||
- London Underground
|
||||
fallbackFontReferences: []
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Fonts/London Underground Regular.ttf
Normal file
BIN
Assets/Fonts/London Underground Regular.ttf
Normal file
Binary file not shown.
21
Assets/Fonts/London Underground Regular.ttf.meta
Normal file
21
Assets/Fonts/London Underground Regular.ttf.meta
Normal file
@@ -0,0 +1,21 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf6083ece8bcc9d45bd5648f518e6acb
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 16
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontNames:
|
||||
- London Underground
|
||||
fallbackFontReferences: []
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Images.meta
Normal file
8
Assets/Images.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 56abd45bc6085e2408798211808b1b0e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Images/BlurryTube.jpg
Normal file
BIN
Assets/Images/BlurryTube.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 128 KiB |
127
Assets/Images/BlurryTube.jpg.meta
Normal file
127
Assets/Images/BlurryTube.jpg.meta
Normal file
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9c912b02f75402d4097a852a67645330
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 1024
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Images/Materials.meta
Normal file
8
Assets/Images/Materials.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f2bc64aa294deac43aa459351fa32981
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -7,19 +7,17 @@ Material:
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: TransparrentRed
|
||||
m_Name: BlurryTube
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHAPREMULTIPLY_ON
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
@@ -46,7 +44,7 @@ Material:
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Texture: {fileID: 2800000, guid: 9c912b02f75402d4097a852a67645330, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
@@ -66,20 +64,20 @@ Material:
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 10
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 3
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 0, b: 0, a: 0.5019608}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/Images/Materials/BlurryTube.mat.meta
Normal file
8
Assets/Images/Materials/BlurryTube.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 482b4cf328fe6a7418478d4415a064a5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -75,6 +75,81 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &5750698633402363283
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2572485633640502460}
|
||||
- component: {fileID: 7325803566019935124}
|
||||
- component: {fileID: 4004420671527004376}
|
||||
m_Layer: 5
|
||||
m_Name: OuterBox
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2572485633640502460
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5750698633402363283}
|
||||
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: 5671584535948009389}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 125, y: 50}
|
||||
m_SizeDelta: {x: 275, y: 125}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7325803566019935124
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5750698633402363283}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4004420671527004376
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5750698633402363283}
|
||||
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: 0, g: 0, b: 0, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 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!1 &5857485381795871981
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -133,7 +208,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Color: {r: 1, g: 0.654902, b: 0.1764706, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
@@ -141,7 +216,7 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Font: {fileID: 12800000, guid: bf6083ece8bcc9d45bd5648f518e6acb, type: 3}
|
||||
m_FontSize: 30
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
@@ -185,6 +260,8 @@ RectTransform:
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 2572485633640502460}
|
||||
- {fileID: 188346468300870370}
|
||||
- {fileID: 3955103952048326661}
|
||||
- {fileID: 8335740897561854244}
|
||||
- {fileID: 2457658704519817442}
|
||||
@@ -392,7 +469,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_Color: {r: 1, g: 0.654902, b: 0.1764706, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
@@ -400,7 +477,7 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_Font: {fileID: 12800000, guid: bf6083ece8bcc9d45bd5648f518e6acb, type: 3}
|
||||
m_FontSize: 30
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
@@ -413,3 +490,78 @@ MonoBehaviour:
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: 0.00s
|
||||
--- !u!1 &9086158836249204896
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 188346468300870370}
|
||||
- component: {fileID: 5426269780674238028}
|
||||
- component: {fileID: 5174691003681843927}
|
||||
m_Layer: 5
|
||||
m_Name: InnerBox
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &188346468300870370
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9086158836249204896}
|
||||
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: 5671584535948009389}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 125, y: 50}
|
||||
m_SizeDelta: {x: 250, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5426269780674238028
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9086158836249204896}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5174691003681843927
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9086158836249204896}
|
||||
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: 0.24705882, g: 0.24705882, b: 0.24705882, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 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
|
||||
|
||||
@@ -215,7 +215,7 @@ Transform:
|
||||
m_GameObject: {fileID: 4525855263416128436}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 5, z: -0.1}
|
||||
m_LocalPosition: {x: 0, y: 5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@@ -317,6 +317,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 8290014685027761188}
|
||||
- component: {fileID: 4196137517685965440}
|
||||
- component: {fileID: 848597767875800347}
|
||||
m_Layer: 0
|
||||
m_Name: Back
|
||||
m_TagString: Untagged
|
||||
@@ -360,3 +361,16 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 10, y: 10, z: 5}
|
||||
m_Center: {x: 0, y: 5, z: -3.5}
|
||||
--- !u!114 &848597767875800347
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7967144210440699741}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 859e4c4c9b11c654a8ab3891fbd8c5b3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Manager: {fileID: 4470023418895194988}
|
||||
|
||||
@@ -110,7 +110,7 @@ Camera:
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 100
|
||||
far clip plane: 500
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
|
||||
@@ -78,6 +78,6 @@ Material:
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 0, b: 0, a: 1}
|
||||
- _Color: {r: 0, g: 0, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -8,6 +8,10 @@ public class GravityController
|
||||
// Constant gravity scale
|
||||
const float m_GravityScale = -20.0f;
|
||||
|
||||
Vector3 m_Up = Vector3.zero;
|
||||
|
||||
public static Vector3 up => s_Instance.m_Up;
|
||||
|
||||
// Private constructor to stop accidental creation
|
||||
private GravityController() { }
|
||||
|
||||
@@ -27,5 +31,6 @@ public class GravityController
|
||||
{
|
||||
// Sets the gravity
|
||||
Physics.gravity = new Vector3(0, m_GravityScale * scale, 0);
|
||||
m_Up = Physics.gravity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@ public class CameraController : MonoBehaviour
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
gameObject.GetComponent<Camera>().fieldOfView = MainMenu.fov;
|
||||
|
||||
// Checks it is the only instance
|
||||
if (s_Instance == null)
|
||||
{
|
||||
|
||||
10
Assets/Scripts/Portals/PortalBack.cs
Normal file
10
Assets/Scripts/Portals/PortalBack.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class PortalBack : MonoBehaviour
|
||||
{
|
||||
[SerializeField] PortalManager m_Manager;
|
||||
|
||||
// private void OnCollisionEnter(Collision collision) => m_Manager.ForceTeleport();
|
||||
}
|
||||
11
Assets/Scripts/Portals/PortalBack.cs.meta
Normal file
11
Assets/Scripts/Portals/PortalBack.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 859e4c4c9b11c654a8ab3891fbd8c5b3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -30,6 +30,7 @@ public class PortalCamera : MonoBehaviour
|
||||
|
||||
// Gets the camera from the component
|
||||
m_Camera = gameObject.GetComponent<Camera>();
|
||||
m_Camera.fieldOfView = MainMenu.fov;
|
||||
|
||||
// Creates the render texture
|
||||
RenderTextureDescriptor descriptor = new(Screen.width, Screen.height);
|
||||
|
||||
@@ -18,7 +18,7 @@ public class PortalManager : MonoBehaviour
|
||||
// Private variables //
|
||||
|
||||
PortalManager m_OtherManager;
|
||||
PortalCamera m_PortalCamera;
|
||||
[SerializeField] PortalCamera m_PortalCamera;
|
||||
|
||||
// Gets the other end of the portal
|
||||
public PortalManager Linked() => m_OtherManager;
|
||||
@@ -52,6 +52,23 @@ public class PortalManager : MonoBehaviour
|
||||
m_PlayerPoint.position = CameraController.Instance().transform.position;
|
||||
}
|
||||
|
||||
public void ForceTeleport()
|
||||
{
|
||||
// Calculates if the player is going towards the portal
|
||||
Vector3 difference = PlayerMovement.Pos() - transform.position;
|
||||
|
||||
// Rotates the player
|
||||
float rotDif = -Quaternion.Angle(transform.rotation, m_OtherManager.transform.rotation) + m_AngleDif;
|
||||
CameraController.Instance().RotatePlayerDirection(new Vector2(0f, rotDif));
|
||||
|
||||
// Tellss the player it went through a portal
|
||||
PlayerMovement.Instance().WentThroughPortal(rotDif);
|
||||
|
||||
// Teleports the player
|
||||
Vector3 offset = Quaternion.Euler(0f, rotDif, 0f) * difference;
|
||||
PlayerMovement.SetPos(m_OtherManager.transform.position + offset - new Vector3(0, 1.0f, 0));
|
||||
}
|
||||
|
||||
// When something enters the portal
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
|
||||
@@ -18,8 +18,11 @@ public class MainMenu : MonoBehaviour
|
||||
[Header("Options References")]
|
||||
[SerializeField] Text m_SensText;
|
||||
[SerializeField] Slider m_SensitivitySlider;
|
||||
[SerializeField] Text m_FOVText;
|
||||
[SerializeField] Slider m_FOVSlider;
|
||||
|
||||
public static float sens = 100.0f;
|
||||
public static float sens = 35;
|
||||
public static float fov = 90;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
@@ -30,6 +33,9 @@ public class MainMenu : MonoBehaviour
|
||||
|
||||
Cursor.visible = true;
|
||||
Cursor.lockState = CursorLockMode.Confined;
|
||||
|
||||
m_FOVSlider.value = fov;
|
||||
m_SensitivitySlider.value = sens;
|
||||
}
|
||||
|
||||
public void StartGame() => SceneManager.LoadScene(1);
|
||||
@@ -65,5 +71,8 @@ public class MainMenu : MonoBehaviour
|
||||
|
||||
sens = m_SensitivitySlider.value;
|
||||
m_SensText.text = sens.ToString();
|
||||
|
||||
fov = m_FOVSlider.value;
|
||||
m_FOVText.text = fov.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1,9 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ed0c2c8a99e92e14ba740ac8aa428288
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
fileIDToRecycleName: {}
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
serializedVersion: 7
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
@@ -57,33 +57,30 @@ TextureImporter:
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 2
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 512
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
textureCompression: 2
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 2
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 512
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
textureCompression: 2
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 2
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 512
|
||||
resizeAlgorithm: 0
|
||||
@@ -94,8 +91,7 @@ TextureImporter:
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 3
|
||||
- serializedVersion: 2
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 512
|
||||
resizeAlgorithm: 0
|
||||
@@ -106,7 +102,6 @@ TextureImporter:
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
@@ -114,12 +109,10 @@ TextureImporter:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
|
||||
8
Assets/Ultimate 10 Plus Shaders.meta
Normal file
8
Assets/Ultimate 10 Plus Shaders.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 29720fcdf33dc1c44900e42bb5835507
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Ultimate 10 Plus Shaders/Shaders.meta
Normal file
8
Assets/Ultimate 10 Plus Shaders/Shaders.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7abb74942295fc244bdfe8bb8236881d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
110
Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader
Normal file
110
Assets/Ultimate 10 Plus Shaders/Shaders/Edge Detection.shader
Normal file
@@ -0,0 +1,110 @@
|
||||
/*
|
||||
|
||||
███████╗██████╗░░██████╗░███████╗ ██████╗░███████╗████████╗███████╗░█████╗░████████╗██╗░█████╗░███╗░░██╗
|
||||
██╔════╝██╔══██╗██╔════╝░██╔════╝ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔══██╗╚══██╔══╝██║██╔══██╗████╗░██║
|
||||
█████╗░░██║░░██║██║░░██╗░█████╗░░ ██║░░██║█████╗░░░░░██║░░░█████╗░░██║░░╚═╝░░░██║░░░██║██║░░██║██╔██╗██║
|
||||
██╔══╝░░██║░░██║██║░░╚██╗██╔══╝░░ ██║░░██║██╔══╝░░░░░██║░░░██╔══╝░░██║░░██╗░░░██║░░░██║██║░░██║██║╚████║
|
||||
███████╗██████╔╝╚██████╔╝███████╗ ██████╔╝███████╗░░░██║░░░███████╗╚█████╔╝░░░██║░░░██║╚█████╔╝██║░╚███║
|
||||
╚══════╝╚═════╝░░╚═════╝░╚══════╝ ╚═════╝░╚══════╝░░░╚═╝░░░╚══════╝░╚════╝░░░░╚═╝░░░╚═╝░╚════╝░╚═╝░░╚══╝
|
||||
|
||||
░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░
|
||||
██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗
|
||||
╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝
|
||||
░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗
|
||||
██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║
|
||||
╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝
|
||||
|
||||
█▀▀▄ █──█ ▀▀█▀▀ █──█ █▀▀ ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█
|
||||
█▀▀▄ █▄▄█ ─░█── █▀▀█ █▀▀ ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀
|
||||
▀▀▀─ ▄▄▄█ ─░█── ▀──▀ ▀▀▀ ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀
|
||||
____________________________________________________________________________________________________________________________________________
|
||||
|
||||
▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀ █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀ ▄█ █▀█ ▄█▄ █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀
|
||||
█▀█ ▄█ ▄█ ██▄ ░█░ ▄ █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄ ░█ █▄█ ░▀░ ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█
|
||||
____________________________________________________________________________________________________________________________________________
|
||||
License:
|
||||
The license is ATTRIBUTION 3.0
|
||||
|
||||
More license info here:
|
||||
https://creativecommons.org/licenses/by/3.0/
|
||||
____________________________________________________________________________________________________________________________________________
|
||||
This shader has NOT been tested on any other PC configuration except the following:
|
||||
CPU: Intel Core i5-6400
|
||||
GPU: NVidia GTX 750Ti
|
||||
RAM: 16GB
|
||||
Windows: 10 x64
|
||||
DirectX: 11
|
||||
____________________________________________________________________________________________________________________________________________
|
||||
*/
|
||||
|
||||
Shader "Ultimate 10+ Shaders/Edge Detection" /* The edge detection algorithm that is implemented in this shader is named "Sobel Edge Detection" */
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_Color ("Color", Color) = (1,1,1,1)
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "Queue"="Transparent" }
|
||||
Cull Back
|
||||
|
||||
GrabPass { }
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 position : POSITION;
|
||||
float4 screenPos : TEXCOORD0;
|
||||
};
|
||||
|
||||
fixed4 _Color;
|
||||
sampler2D _GrabTexture : register(s0);
|
||||
|
||||
v2f vert(appdata input)
|
||||
{
|
||||
v2f output;
|
||||
|
||||
output.position = UnityObjectToClipPos(input.vertex);
|
||||
output.screenPos = output.position;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
half4 pixel;
|
||||
half2 uv;
|
||||
fixed onePixelW, onePixelH;
|
||||
half4 frag(v2f input) : SV_Target
|
||||
{
|
||||
uv = input.screenPos.xy / input.screenPos.w;
|
||||
uv.x = (uv.x + 1) * .5;
|
||||
uv.y = 1.0 - (uv.y + 1) * .5;
|
||||
|
||||
onePixelW = 1.0 / _ScreenParams.x;
|
||||
onePixelH = 1.0 / _ScreenParams.y;
|
||||
|
||||
pixel = 0;
|
||||
pixel = abs(
|
||||
tex2D(_GrabTexture, half2(uv.x - onePixelW, uv.y)) -
|
||||
tex2D(_GrabTexture, half2(uv.x + onePixelW, uv.y)) +
|
||||
tex2D(_GrabTexture, half2(uv.x, uv.y + onePixelH)) -
|
||||
tex2D(_GrabTexture, half2(uv.x, uv.y - onePixelH))
|
||||
);
|
||||
|
||||
return pixel * _Color;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 211b73cf71b1f6a48aa152214d4a886d
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
96
GameDesignDoc.md
Normal file
96
GameDesignDoc.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# **The Mobius Line**
|
||||
|
||||
Your job is to get to the other train platform as fast as possible. There is just one problem, no geometric rules are guaranteed to work.
|
||||
|
||||
|
||||
### **Contents**
|
||||
|
||||
- 1.1 Genres
|
||||
- 1.2 Target audience
|
||||
- 1.3 Unique selling points
|
||||
- 2.1 Player experience
|
||||
- 2.2 Visual and audio style
|
||||
- 2.3 Game world fiction
|
||||
- 2.4 Platforms, Technology and Scope
|
||||
- 3.1 Core loops
|
||||
- 3.2 Objectives and Progression
|
||||
- 3.3 Game systems
|
||||
- 3.4 Interactivity
|
||||
|
||||
### **1.1 Main Genres**
|
||||
|
||||
The main genres for my game will be speed and non-Euclidean. Speed is implemented as a genre in my game as your goal is to get to the end of the level as fast as possible. If you do not get to the train fast enough you will have to replay the level until you reach the desired speed.
|
||||
|
||||
Non-Euclidean is a lesser known genre and is the description for any geometric space that does not follow Euler's rules of geometry. This can mean a variety of things but in "The Mobius Line" it is simpler to think of it as portals that teleport the player around without them noticing. This will be implemented in the levels to make it more challenging to the player to figure out the fastest way to reach the end.
|
||||
|
||||
### **1.2 Target audiences**
|
||||
|
||||
##### **Groups**
|
||||
|
||||
The main target audience of "The Mobius Line" will be people who like to traverse through game levels as fast as possible. The game will be interesting to them as it is the main concept of the core loop.
|
||||
|
||||
A secondary target audience of the game will be people who are interested in non-Euclidean geometry as it is the main way the levels are constructed. They may not be as interested in completing the levels as fast as possible but they will want to explore the levels with their unique geometry.
|
||||
|
||||
##### **Age rating**
|
||||
|
||||
Within the game there will be nothing that means the game is not appropriate for younger players as I do not want to stop someone playing my game just because of their age. Whilst the game is appropriate for all ages it will be designed for 12+ audiences with its high mechanical skill and patience requirements.
|
||||
|
||||
### **1.3 Unique selling points**
|
||||
|
||||
##### **- Competitive community**
|
||||
|
||||
Due to the nature of "The Mobius Line" it will have a competitive community. To facilitate this and help support it I will implement a speedrun clock for players to monitor their time as well as providing a replay feature so players can see how they got their fastest time.
|
||||
|
||||
##### **- Non-Euclidean gameplay**
|
||||
|
||||
Non-Euclidean geometry will be a large part of the game. It will attract players that would have not originally found my game interesting as well as creating a more interesting experience as exploring the levels will be a more complex task than just walking around.
|
||||
|
||||
##### **- High skill ceilings**
|
||||
|
||||
The movement in "The Mobius Line" will be designed to have a high skill ceiling. There will be a variety of mechanics that the player can use but they will not be explained to the player at the start and they will have to find special areas to learn them. This will make sure the player is always learning and improving at the game.
|
||||
|
||||
### **2.1 Player experience**
|
||||
|
||||
The game is set in the London Underground where the end and start of levels will be different platforms within a station. This should feel somewhat familiar to most players as most modern cities have an underground train system which are often quite similar to the London Underground. The player will be a person of Russian/Eastern European heritage and will be able to choose if they are a male or female. The main way the players will be kept engaged is by challenging themself to get a faster time on that level, and by exploring the levels which will intrigue their brains as they will not make sense.
|
||||
|
||||
### **2.2 Visual and Audio style**
|
||||
|
||||
The look and sound of the game is heavily inspired by the London Underground as that is where the setting of the game is. The goal of this is to make it feel familiar despite the game being set in a world that follows very different rules to ours. The game will use as much as it can from actual London Underground stations and the rest of the assets will be inspired by their real life counterparts.
|
||||
|
||||
The design of the tunnels is meant to mirror the differences between UK and eastern European culture. The familiarity of the tunnels echoes the similarities between the cultures. Whereas the confusing non-Euclidean aspects of the tunnels mirror the unaccepting environment.
|
||||
|
||||
### **2.3 Game world fiction**
|
||||
|
||||
The in-game world is meant to be imagined as part of our world, entering a train station in the game should feel the same as entering one on a trip into London. Real world events such as the invasions of Ukraine will be hinted at but never explicitly stated. The non-Euclidean aspects of the tunnels are meant to be something only the player experiences and no explanation of why the player and only the player experiences them is given.
|
||||
|
||||
### **2.4 Platforms, Technology and Scope**
|
||||
|
||||
The game will be made for PC only as designing it for consoles or mobile would not only require time to make it work on those devices but the controls would have to be massively redesigned due to the accuracy that mouse and keyboard provides when compared to touchscreen or controller. It is a 3 dimensional game made in Unity, which should take around a month to create with the first playable version being around 2 weeks in. The final version will take around 10 to 15 minutes to complete but will provide challenges that allow people to play for a couple hours whilst still providing incentives.
|
||||
|
||||
### **3.1 Core loops**
|
||||
|
||||
The main loop of the game will be to:
|
||||
|
||||
1. Explore the level
|
||||
|
||||
2. Find a faster route to the exit
|
||||
|
||||
3. Beat your personal record
|
||||
|
||||
4. Repeat on the same or new level
|
||||
|
||||
It will engage players because there will almost always be a faster time they are able to achieve and they will be able to set target times that they want to beat.
|
||||
|
||||
### **3.2 Objectives and Progression**
|
||||
|
||||
The way the player physically moves through the level will be through a variety of basic skills such as running, wall running and sliding. They will also learn more complicated skills such as bunny hopping. The short term goal of the player will be to get a faster time either to progress to the next level or beat their personal best. Whereas the long term will be to beat all of the levels and learn all of the advanced techniques to get faster times.
|
||||
|
||||
Throughout the player's journey through the tunnels they will also learn what the consequences of the treatment of eastern European culture have on people from those backgrounds. This will be shown to the player through dialog with non-player characters through different levels. The more severe issues will be only hinted at through the gameplay so the game will still be appropriate for younger audiences.
|
||||
|
||||
### **3.3 Game systems**
|
||||
|
||||
Portals - to achieve the appearance of non-Euclidean Changing gravity direction - used in some of the puzzles Trains - start/end of levels as well as being travel between levels (interacted by player) Ticket barriers - act as one way barriers in levels (interacted by player)
|
||||
|
||||
One of the main game systems that will need to be implemented is portals. They are how non-Euclidean concepts within the game will be implemented. In order for them to have the desired effect they must be able to be travelled through without realising. Another feature that will need implementing for the appearance of non-Euclidean concepts is changing gravity directions which is not natively supported within Unity.
|
||||
|
||||
Throughout their journey through the stations of the London Underground the way the player will travel between stations is via a train. It will also serve as the beginning and end of levels. One way barriers are a common concept in games and they will be implemented in "The Mobius Line" through the use of ticket barriers. They will make the player only be able to travel through them one way upon their first encounter, however once travelled through the player will be able to go both ways through them.
|
||||
@@ -144,7 +144,7 @@
|
||||
{
|
||||
"type": "UnityEngine.ProBuilder.SelectMode, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||
"key": "editor.lastMeshSelectMode",
|
||||
"value": "{\"m_Value\":4}"
|
||||
"value": "{\"m_Value\":8}"
|
||||
},
|
||||
{
|
||||
"type": "UnityEngine.ProBuilder.SelectionModifierBehavior, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
|
||||
|
||||
15
README.md
15
README.md
@@ -1,2 +1,13 @@
|
||||
# TheMobiusLine
|
||||
|
||||
# The Mobius Line
|
||||
|
||||
This is my FMP (final major project) that I created for my first year of Level 3 Game development. Windows downloads can be found under releases but if you wish to play via your browser you can play [here](https://pashabibko.itch.io/the-mobius-line).
|
||||
|
||||
### About
|
||||
|
||||
The mobius line is a speedrunning game built around non-Euclidean concepts set in the London Underground. Your goal is to get from one platform (the starting area) to the other (green wall) as fast as possible.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
If you would like to find out more about the plans for the game you can find the game design document [here](GameDesignDoc.md)
|
||||
|
||||
BIN
md-res/screenshot1.png
Normal file
BIN
md-res/screenshot1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 298 KiB |
BIN
md-res/screenshot2.png
Normal file
BIN
md-res/screenshot2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 421 KiB |
BIN
md-res/screenshot3.png
Normal file
BIN
md-res/screenshot3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 385 KiB |
Reference in New Issue
Block a user