40 Commits
Author SHA1 Message Date
brausjonas de9d2c8cb3 Update README.md 2022-10-17 23:09:56 +02:00
brausjonas d950af6735 Update README.md 2022-10-17 23:09:24 +02:00
brausjonas 3c765a23dd Update README.md 2022-10-17 23:07:45 +02:00
brausjonas c60d589d19 Update README.md 2022-10-17 23:05:11 +02:00
brausjonas c35c655b5e Update README.md 2022-10-17 23:04:43 +02:00
brausjonas 2636b0a224 Update README.md 2022-10-17 23:04:06 +02:00
brausjonas 04484f1252 Update README.md 2022-10-17 23:03:21 +02:00
brausjonas b3cd361501 Update README.md 2022-10-17 22:59:51 +02:00
brausjonas 8ee82521a0 Create README.md 2022-10-17 22:59:11 +02:00
brausjonas c926777024 Add files via upload 2022-05-18 10:38:20 +02:00
brausjonas 05eb503927 Chunk View Distance fix 2022-05-18 00:43:38 +02:00
brausjonas b7f8a517ac fdsafsdaf 2022-05-18 00:35:16 +02:00
brausjonas db5d6eb781 Revert "show other names"
This reverts commit ee55664811.
2022-05-18 00:34:52 +02:00
brausjonas 6255fcbd9b Merge branch 'main' of https://github.com/jonasbraus/Minecraft 2022-05-18 00:29:14 +02:00
brausjonas ee55664811 show other names 2022-05-18 00:29:12 +02:00
Noah 9b905de6db coal fix 2022-05-18 00:12:23 +02:00
Noah 7e8e0a93f9 Merge branch 'main' of https://github.com/jonasbraus/Minecraft 2022-05-18 00:04:58 +02:00
Noah df176f6898 mipmap 2022-05-18 00:04:47 +02:00
brausjonas 07dc6e72a0 Update BlockAtlas.png.meta 2022-05-18 00:04:34 +02:00
Noah 856fe1e1c7 update 2022-05-17 23:58:00 +02:00
brausjonas 2eda55ad16 BlockAtlas Fix 2022-05-17 23:35:17 +02:00
brausjonas 57f1e8b958 Merge branch 'main' of https://github.com/jonasbraus/Minecraft 2022-05-17 23:33:42 +02:00
brausjonas 5c45f8b253 Update Game.unity 2022-05-17 23:33:34 +02:00
Noah 2df724a4a8 Merge branch 'main' of https://github.com/jonasbraus/Minecraft 2022-05-17 23:30:16 +02:00
Noah 2cf099a4d9 Erzadern, Player Pos 2022-05-17 23:30:12 +02:00
brausjonas ed4f60bfdb Index out... Fix 2022-05-17 23:13:22 +02:00
brausjonas f23fc16f0d save bug fix
ascii 10 ist ein line feed. Einen line feed aus einer datei dann zurück umzuwandeln ist nicht möglich. Daher jeder ascii wert +32 am nur zeichen zu speichern.
2022-05-17 16:51:35 +02:00
brausjonas 45aae55fe2 View distance settings 2022-05-17 10:39:01 +02:00
brausjonas 6d9e1180fd Chunk Loading
Caves
2022-05-16 23:00:47 +02:00
brausjonas 04bb44a5c8 Update Server 2022-05-16 20:54:01 +02:00
brausjonas e065cdd988 Fixed Position Looping and double spawn 2022-05-16 20:52:41 +02:00
brausjonas 5e816c08f0 Some stuff 2022-05-16 20:10:40 +02:00
brausjonas dd3cb12698 Fix Glas Blocks 2022-05-16 09:58:00 +02:00
brausjonas 967a194f16 some stuff 2022-05-16 05:47:44 +02:00
brausjonas afecf1f518 Splash 2022-05-16 05:34:32 +02:00
brausjonas 06c8fcc061 Toolbar! 2022-05-16 05:08:37 +02:00
brausjonas 460ab5c9e8 Update Game.unity 2022-05-16 04:08:21 +02:00
brausjonas 9b4a721fcc Some Graphic Improvements 2022-05-16 04:03:40 +02:00
brausjonas a9342aee2f Fix Player
Destroying block when resuming game from pause menu,
Player "flying over ground" after falling down a block
2022-05-16 03:18:08 +02:00
brausjonas fd3ceac8c9 Update Game.unity 2022-05-16 02:29:59 +02:00
56 changed files with 5140 additions and 173 deletions
+1
View File
@@ -58,3 +58,4 @@ sysinfo.txt
# Crashlytics generated file # Crashlytics generated file
crashlytics-build.properties crashlytics-build.properties
Minecraft Server/Assets/save.world
Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@@ -87,6 +87,78 @@ TextureImporter:
overridden: 0 overridden: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Lumin
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: tvOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []
+5 -5
View File
@@ -9,9 +9,9 @@ Material:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: Blocks m_Name: Blocks
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _ALPHATEST_ON m_ShaderKeywords: _ALPHATEST_ON _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: 2450 m_CustomRenderQueue: 2450
stringTagMap: stringTagMap:
@@ -61,15 +61,15 @@ Material:
- _Cutoff: 1 - _Cutoff: 1
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DstBlend: 0 - _DstBlend: 0
- _GlossMapScale: 1 - _GlossMapScale: 0
- _Glossiness: 0 - _Glossiness: 0
- _GlossyReflections: 1 - _GlossyReflections: 0
- _Metallic: 0 - _Metallic: 0
- _Mode: 1 - _Mode: 1
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 0
- _SrcBlend: 1 - _SrcBlend: 1
- _UVSec: 0 - _UVSec: 0
- _ZWrite: 1 - _ZWrite: 1
@@ -1,5 +1,6 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 940041af630d8d944ac3b74467aa4ae7 guid: 346ac1325376a4f4ab0f3aec9bdb67b6
folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: cbfdf03bc584f6440a850e67920eafe9
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: f57283d516574a1409455a2b33859cf0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 9cc0e072410155649995525a7fde86f3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: a7e738b5a9df952409e3b0189f404e7c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 9720360232ff9ee45b79475a071933b0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: b40ef1c2d6a1c2344b9feb2ec3eaf12e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: fd1daa4d16156c5439c5f0ce357b955d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: f28f368c47c6ba743b441be67acb9b64
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: b72adb17f9f9dc849868363fd2fbe6ab
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 24951cc96c828c44c93a0c91b9687b11
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 79e615cecf4d9164eab0927a097503ec
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 07e597c45583b5f488fd4f204a8dcd89
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 56cb1d2814dea7a4f90f2be21fd394da
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -57,7 +57,7 @@ Transform:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6443714940181712877} m_GameObject: {fileID: 6443714940181712877}
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: -0.132, z: 0.024} m_LocalPosition: {x: 0, y: -0.092, z: 0.024}
m_LocalScale: {x: 0.24999988, y: 0.24999988, z: 0.25} m_LocalScale: {x: 0.24999988, y: 0.24999988, z: 0.25}
m_Children: [] m_Children: []
m_Father: {fileID: 4093383343133656141} m_Father: {fileID: 4093383343133656141}
+85
View File
@@ -0,0 +1,85 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Sky
m_Shader: {fileID: 106, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _SUNDISK_HIGH_QUALITY
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_Floats:
- _AtmosphereThickness: 1.18
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _Exposure: 1.01
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SunDisk: 2
- _SunSize: 0.09
- _SunSizeConvergence: 3.49
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _GroundColor: {r: 0.43614277, g: 0.59792995, b: 0.764151, a: 1}
- _SkyTint: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_BuildTextureStacks: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c765dcd5020288e4384eefec1708d01c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
+103 -27
View File
@@ -236,11 +236,11 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children: []
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
m_RootOrder: 3 m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: -149.2, y: -78.60002} m_AnchoredPosition: {x: 115.600006, y: -79.4}
m_SizeDelta: {x: 160, y: 30} m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &71764842 --- !u!114 &71764842
@@ -315,7 +315,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children: []
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
m_RootOrder: 1 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1} m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1}
@@ -476,11 +476,11 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children: []
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
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.5, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: -149.19998, y: -124.000015} m_AnchoredPosition: {x: 115.600006, y: -124.79999}
m_SizeDelta: {x: 160, y: 30} m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &854417905 --- !u!114 &854417905
@@ -557,11 +557,11 @@ RectTransform:
m_Children: m_Children:
- {fileID: 1486495034} - {fileID: 1486495034}
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
m_RootOrder: 6 m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 105.799995, y: -78.60001} m_AnchoredPosition: {x: 370.59998, y: -79.39999}
m_SizeDelta: {x: 297.6238, y: 30} m_SizeDelta: {x: 297.6238, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1047272871 --- !u!114 &1047272871
@@ -790,11 +790,11 @@ RectTransform:
m_Children: m_Children:
- {fileID: 1578575450} - {fileID: 1578575450}
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
m_RootOrder: 5 m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 105.80006, y: -33.200016} m_AnchoredPosition: {x: 370.60004, y: -33.999992}
m_SizeDelta: {x: 297.6238, y: 30} m_SizeDelta: {x: 297.6238, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1174182476 --- !u!114 &1174182476
@@ -912,6 +912,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1174182474} m_GameObject: {fileID: 1174182474}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1245606520
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1245606521}
- component: {fileID: 1245606523}
- component: {fileID: 1245606522}
m_Layer: 5
m_Name: Background (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1245606521
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1245606520}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2033099004}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 1.8013916, y: 0}
m_SizeDelta: {x: 3.6027832, y: -0.54000854}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1245606522
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1245606520}
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.15686275}
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 &1245606523
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1245606520}
m_CullTransparentMesh: 1
--- !u!1 &1279274158 --- !u!1 &1279274158
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -944,11 +1019,11 @@ RectTransform:
m_Children: m_Children:
- {fileID: 1747497270} - {fileID: 1747497270}
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
m_RootOrder: 8 m_RootOrder: 9
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0} m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -105.899994, y: 43} m_AnchoredPosition: {x: -87.9, y: 31.533}
m_SizeDelta: {x: 160, y: 45.3632} m_SizeDelta: {x: 160, y: 45.3632}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1279274160 --- !u!114 &1279274160
@@ -1235,11 +1310,11 @@ RectTransform:
m_Children: m_Children:
- {fileID: 1055915759} - {fileID: 1055915759}
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
m_RootOrder: 7 m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 105.80001, y: -124} m_AnchoredPosition: {x: 370.6, y: -124.79997}
m_SizeDelta: {x: 297.6238, y: 30} m_SizeDelta: {x: 297.6238, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1603203176 --- !u!114 &1603203176
@@ -1529,11 +1604,11 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: [] m_Children: []
m_Father: {fileID: 2033099004} m_Father: {fileID: 2033099004}
m_RootOrder: 2 m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: -149.19998, y: -33.200016} m_AnchoredPosition: {x: 115.600006, y: -33.999992}
m_SizeDelta: {x: 160, y: 30} m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1783690559 --- !u!114 &1783690559
@@ -1670,6 +1745,7 @@ RectTransform:
m_LocalScale: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0}
m_Children: m_Children:
- {fileID: 1661573148} - {fileID: 1661573148}
- {fileID: 1245606521}
- {fileID: 557944438} - {fileID: 557944438}
- {fileID: 1783690558} - {fileID: 1783690558}
- {fileID: 71764841} - {fileID: 71764841}
+19 -2
View File
@@ -9,6 +9,7 @@ public class Chunk
private Material material; private Material material;
private ChunkCoord chunkPosition; private ChunkCoord chunkPosition;
private World world; private World world;
public bool active = false;
//rendering //rendering
public GameObject gameObject; public GameObject gameObject;
@@ -83,9 +84,13 @@ public class Chunk
AddUV(textures[f]); AddUV(textures[f]);
} }
else if(world.GetBlockID(new Vector3(x + Data.faceChecks[f].x + chunkPosition.x * Data.chunkWidth, else if(world.IsBlockTransparent(world.GetBlockID(new Vector3(x + Data.faceChecks[f].x + chunkPosition.x * Data.chunkWidth,
y + Data.faceChecks[f].y, y + Data.faceChecks[f].y,
z + Data.faceChecks[f].z + chunkPosition.z * Data.chunkWidth)) == 6) z + Data.faceChecks[f].z + chunkPosition.z * Data.chunkWidth))))
{
if(world.GetBlockID(new Vector3(x + chunkPosition.x * Data.chunkWidth,
y,
z + chunkPosition.z * Data.chunkWidth)) != 9)
{ {
for (int v = 0; v < 6; v++) for (int v = 0; v < 6; v++)
{ {
@@ -99,6 +104,7 @@ public class Chunk
} }
} }
} }
}
//add uv to a face //add uv to a face
@@ -131,6 +137,17 @@ public class Chunk
meshFilter.mesh = mesh; meshFilter.mesh = mesh;
meshRenderer.material = material; meshRenderer.material = material;
collider.sharedMesh = mesh; collider.sharedMesh = mesh;
active = true;
}
public void DestroyMesh()
{
meshFilter.mesh = null;
vertices.Clear();
triangles.Clear();
uv.Clear();
collider.sharedMesh = null;
active = false;
} }
public void Edit(byte x, byte y, byte z, byte blockID) public void Edit(byte x, byte y, byte z, byte blockID)
@@ -101,7 +101,7 @@ public class Client
{ {
for (int z = 0; z < Data.chunkWidth; z++) for (int z = 0; z < Data.chunkWidth; z++)
{ {
blocks[x, y, z] = data[i]; blocks[x, y, z] = (byte)(data[i] - 32);
i++; i++;
} }
} }
@@ -6,6 +6,7 @@ public class Data
{ {
public static int chunkWidth = 15, chunkHeight = 250; public static int chunkWidth = 15, chunkHeight = 250;
public static int textureAtlasSize = 16; public static int textureAtlasSize = 16;
public static int viewDistance = 4;
public static readonly Vector3[] vertices = public static readonly Vector3[] vertices =
{ {
@@ -0,0 +1,48 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Hotbar : MonoBehaviour
{
[SerializeField] private Image[] itemSlots;
[SerializeField] private Sprite[] itemIcons; //id always: -1 to get item icon
[SerializeField] private GameObject highlight;
private byte[] hotBarItems = new byte[9];
private byte selectedSlot = 0;
private void Start()
{
hotBarItems[0] = 10;
hotBarItems[1] = 11;
hotBarItems[2] = 3;
hotBarItems[3] = 4;
hotBarItems[4] = 5;
hotBarItems[5] = 2;
hotBarItems[6] = 7;
hotBarItems[7] = 8;
hotBarItems[8] = 9;
for (int i = 0; i < 9; i++)
{
itemSlots[i].sprite = itemIcons[hotBarItems[i] - 1];
}
}
public void SelectSlot(byte idx)
{
selectedSlot = idx;
highlight.transform.position = itemSlots[idx].transform.position;
}
public byte GetSelectedSlot()
{
return selectedSlot;
}
public byte GetSelectedItemID()
{
return hotBarItems[selectedSlot];
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 53c4d26baf11ca64697efb3490cfdb51
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,27 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Options : MonoBehaviour
{
[SerializeField] private Text viewDistanceText;
[SerializeField] private Slider viewDistanceSlider;
private void Start()
{
if (PlayerPrefs.HasKey("viewDistance"))
{
int value = PlayerPrefs.GetInt("viewDistance");
viewDistanceText.text = value.ToString();
viewDistanceSlider.value = value;
}
}
public void SliderViewDistanceChanged(float value)
{
viewDistanceText.text = ((int)value).ToString();
PlayerPrefs.SetInt("viewDistance", (int)value);
PlayerPrefs.Save();
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ab80d1e654833ae4f88450121509e895
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+62 -37
View File
@@ -2,6 +2,7 @@ using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.UI;
public class Player : MonoBehaviour public class Player : MonoBehaviour
{ {
@@ -13,6 +14,8 @@ public class Player : MonoBehaviour
private float walkSpeed; private float walkSpeed;
[SerializeField] private float jumpForce; [SerializeField] private float jumpForce;
[SerializeField] private World world; [SerializeField] private World world;
[SerializeField] private Hotbar hotbar;
[SerializeField] private Text positionText;
private float playerWidth = 0.15f; private float playerWidth = 0.15f;
private float playerOffsetWidth = 0.1f; private float playerOffsetWidth = 0.1f;
private float horizontal; private float horizontal;
@@ -67,6 +70,12 @@ public class Player : MonoBehaviour
CalculateVelocity(); CalculateVelocity();
transform.Translate(velocity, Space.World); transform.Translate(velocity, Space.World);
//fix error in calculated position y
if (isGrounded)
{
transform.position = new Vector3(transform.position.x, (int)transform.position.y, transform.position.z);
}
//check if position or rotation had changed and send an update //check if position or rotation had changed and send an update
Vector3 position = transform.position; Vector3 position = transform.position;
Quaternion rotation = transform.rotation; Quaternion rotation = transform.rotation;
@@ -74,6 +83,7 @@ public class Player : MonoBehaviour
if (lastPosition.x != position.x || lastPosition.y != position.y || lastPosition.z != position.z) if (lastPosition.x != position.x || lastPosition.y != position.y || lastPosition.z != position.z)
{ {
client.SendPositionUpdate(transform.position); client.SendPositionUpdate(transform.position);
positionText.text = "X: " + (int) position.x + " Y: " + (int) position.y + " Z: " + (int) position.z;
} }
if (rotation.w != lastRotation.w || rotation.x != lastRotation.x || rotation.y != lastRotation.y || if (rotation.w != lastRotation.w || rotation.x != lastRotation.x || rotation.y != lastRotation.y ||
@@ -94,6 +104,8 @@ public class Player : MonoBehaviour
mouseX = Input.GetAxis("Mouse X"); mouseX = Input.GetAxis("Mouse X");
mouseY = Input.GetAxis("Mouse Y"); mouseY = Input.GetAxis("Mouse Y");
//Sprinting //Sprinting
if (Input.GetKeyDown(KeyCode.LeftShift) || Input.GetButtonDown("Left Stick Button")) if (Input.GetKeyDown(KeyCode.LeftShift) || Input.GetButtonDown("Left Stick Button"))
{ {
@@ -130,6 +142,8 @@ public class Player : MonoBehaviour
transform.Rotate(0, mouseX * Time.timeScale, 0); transform.Rotate(0, mouseX * Time.timeScale, 0);
//send destroy block request to server //send destroy block request to server
if(Time.timeScale > 0)
{
if (Input.GetMouseButtonDown(0) || (Input.GetAxis("Right Trigger") > 0 && lastTriggerR == 0)) if (Input.GetMouseButtonDown(0) || (Input.GetAxis("Right Trigger") > 0 && lastTriggerR == 0))
{ {
if (Physics.Raycast(camera.transform.position, camera.transform.forward, out RaycastHit hit, 8)) if (Physics.Raycast(camera.transform.position, camera.transform.forward, out RaycastHit hit, 8))
@@ -138,43 +152,54 @@ public class Player : MonoBehaviour
client.EditBlock(hit.point, 0); client.EditBlock(hit.point, 0);
} }
} }
}
lastTriggerR = Input.GetAxis("Right Trigger"); lastTriggerR = Input.GetAxis("Right Trigger");
if (currentBlock == 1) // if (currentBlock == 1)
{ // {
if (Input.GetAxisRaw("Mouse ScrollWheel") < 0) // if (Input.GetAxisRaw("Mouse ScrollWheel") < 0)
{ // {
currentBlock = (byte)(world.blockData.Length - 1); // currentBlock = (byte)(8);
} // }
else // else
{ // {
currentBlock += (byte)(Input.GetAxisRaw("Mouse ScrollWheel") * 10); // currentBlock += (byte)(Input.GetAxisRaw("Mouse ScrollWheel") * 10);
} // }
} // }
else if (currentBlock == world.blockData.Length - 1) // else if (currentBlock == 8)
{ // {
if (Input.GetAxisRaw("Mouse ScrollWheel") > 0) // if (Input.GetAxisRaw("Mouse ScrollWheel") > 0)
{ // {
currentBlock = (byte)(1); // currentBlock = (byte)(1);
} // }
else // else
{ // {
currentBlock += (byte)(Input.GetAxisRaw("Mouse ScrollWheel") * 10); // currentBlock += (byte)(Input.GetAxisRaw("Mouse ScrollWheel") * 10);
} // }
} // }
else // else
{ // {
currentBlock += (byte)(Input.GetAxisRaw("Mouse ScrollWheel") * 10); // currentBlock += (byte)(Input.GetAxisRaw("Mouse ScrollWheel") * 10);
} // }
int currentSlot = (int)hotbar.GetSelectedSlot();
currentSlot += (int)(-Input.GetAxisRaw("Mouse ScrollWheel") * 10);
if (currentSlot > 8) currentSlot = 0;
if (currentSlot < 0) currentSlot = 8;
hotbar.SelectSlot((byte)currentSlot);
//send build block request to server //send build block request to server
if(Time.timeScale > 0)
{
if (Input.GetMouseButtonDown(1) || (Input.GetAxis("Left Trigger") > 0 && lastTriggerL == 0)) if (Input.GetMouseButtonDown(1) || (Input.GetAxis("Left Trigger") > 0 && lastTriggerL == 0))
{ {
if (Physics.Raycast(camera.transform.position, camera.transform.forward, out RaycastHit hit, 8)) if (Physics.Raycast(camera.transform.position, camera.transform.forward, out RaycastHit hit, 8))
{ {
hit.point -= camera.transform.forward / 10; hit.point -= camera.transform.forward / 10;
client.EditBlock(hit.point, currentBlock); client.EditBlock(hit.point, hotbar.GetSelectedItemID());
}
} }
} }
@@ -239,10 +264,10 @@ public class Player : MonoBehaviour
private float CheckDownSpeed(float downSpeed) private float CheckDownSpeed(float downSpeed)
{ {
if ( if (
world.CheckBlock(new Vector3(transform.position.x - playerWidth, transform.position.y + downSpeed, transform.position.z - playerWidth)) || world.CheckBlock(new Vector3(transform.position.x - playerWidth, (int)(transform.position.y + downSpeed), transform.position.z - playerWidth)) ||
world.CheckBlock(new Vector3(transform.position.x + playerWidth, transform.position.y + downSpeed, transform.position.z - playerWidth)) || world.CheckBlock(new Vector3(transform.position.x + playerWidth, (int)(transform.position.y + downSpeed), transform.position.z - playerWidth)) ||
world.CheckBlock(new Vector3(transform.position.x + playerWidth, transform.position.y + downSpeed, transform.position.z + playerWidth)) || world.CheckBlock(new Vector3(transform.position.x + playerWidth, (int)(transform.position.y + downSpeed), transform.position.z + playerWidth)) ||
world.CheckBlock(new Vector3(transform.position.x - playerWidth, transform.position.y + downSpeed, transform.position.z + playerWidth)) world.CheckBlock(new Vector3(transform.position.x - playerWidth, (int)(transform.position.y + downSpeed), transform.position.z + playerWidth))
) )
{ {
isGrounded = true; isGrounded = true;
@@ -257,10 +282,10 @@ public class Player : MonoBehaviour
private float CheckUpSpeed(float upSpeed) private float CheckUpSpeed(float upSpeed)
{ {
if ( if (
world.CheckBlock(new Vector3(transform.position.x - playerWidth, transform.position.y + upSpeed + 2f, transform.position.z - playerWidth)) || world.CheckBlock(new Vector3(transform.position.x - playerWidth, transform.position.y + upSpeed + 1.9f, transform.position.z - playerWidth)) ||
world.CheckBlock(new Vector3(transform.position.x + playerWidth, transform.position.y + upSpeed + 2f, transform.position.z - playerWidth)) || world.CheckBlock(new Vector3(transform.position.x + playerWidth, transform.position.y + upSpeed + 1.9f, transform.position.z - playerWidth)) ||
world.CheckBlock(new Vector3(transform.position.x + playerWidth, transform.position.y + upSpeed + 2f, transform.position.z + playerWidth)) || world.CheckBlock(new Vector3(transform.position.x + playerWidth, transform.position.y + upSpeed + 1.9f, transform.position.z + playerWidth)) ||
world.CheckBlock(new Vector3(transform.position.x - playerWidth, transform.position.y + upSpeed + 2f, transform.position.z + playerWidth)) world.CheckBlock(new Vector3(transform.position.x - playerWidth, transform.position.y + upSpeed + 1.9f, transform.position.z + playerWidth))
) )
{ {
return 0; return 0;
@@ -367,8 +392,8 @@ public class Player : MonoBehaviour
public Vector3 GetDefaultPlayerPosition() public Vector3 GetDefaultPlayerPosition()
{ {
return new Vector3((byte)transform.position.x, return new Vector3(world.worldSize * Data.chunkWidth / 2,
world.GetHeight((byte)transform.position.x, (byte)transform.position.z) + 2, (byte)transform.position.z); world.GetHeight((byte)transform.position.x, (byte)transform.position.z) + 2, world.worldSize * Data.chunkWidth / 2);
} }
} }
+115 -10
View File
@@ -24,10 +24,14 @@ public class World : MonoBehaviour
[SerializeField] private Player player; [SerializeField] private Player player;
[SerializeField] private GameObject deadScreen; [SerializeField] private GameObject deadScreen;
[SerializeField] private GameObject pauseScreen; [SerializeField] private GameObject pauseScreen;
[SerializeField] private GameObject optionsScreen;
private ChunkCoord lastPlayerChunkCoord = new ChunkCoord(0, 0);
//chunks //chunks
private Chunk[,] chunks; private Chunk[,] chunks;
private Queue<ChunkCoord> chunksToUpdate = new Queue<ChunkCoord>(); private Queue<ChunkCoord> chunksToUpdate = new Queue<ChunkCoord>();
private Queue<ChunkCoord> chunksToUpdate1 = new Queue<ChunkCoord>();
private List<Chunk> lastActiveChunks = new List<Chunk>();
//blocks //blocks
[SerializeField] public BlockData[] blockData; [SerializeField] public BlockData[] blockData;
@@ -40,6 +44,12 @@ public class World : MonoBehaviour
private void Start() private void Start()
{ {
//get default information //get default information
if (PlayerPrefs.HasKey("viewDistance"))
{
Data.viewDistance = PlayerPrefs.GetInt("viewDistance");
}
name = PlayerPrefs.GetString("userName"); name = PlayerPrefs.GetString("userName");
ip = PlayerPrefs.GetString("serverIP"); ip = PlayerPrefs.GetString("serverIP");
port = int.Parse(PlayerPrefs.GetString("port")); port = int.Parse(PlayerPrefs.GetString("port"));
@@ -54,6 +64,17 @@ public class World : MonoBehaviour
private void Update() private void Update()
{ {
ChunkCoord playerChunkCoord = new ChunkCoord((int)(player.transform.position.x / Data.chunkWidth),
(int)(player.transform.position.z / Data.chunkWidth));
if (lastPlayerChunkCoord.x != playerChunkCoord.x || lastPlayerChunkCoord.z != playerChunkCoord.z)
{
LoadChunks(playerChunkCoord);
}
lastPlayerChunkCoord = new ChunkCoord((int)(player.transform.position.x / Data.chunkWidth),
(int)(player.transform.position.z / Data.chunkWidth));
//update 1 chunk in list //update 1 chunk in list
if (chunksToUpdate.Count > 0) if (chunksToUpdate.Count > 0)
{ {
@@ -61,14 +82,21 @@ public class World : MonoBehaviour
chunks[chunk.x, chunk.z].Update(); chunks[chunk.x, chunk.z].Update();
} }
//update 1 chunk in list
if (chunksToUpdate1.Count > 0)
{
ChunkCoord chunk = chunksToUpdate1.Dequeue();
chunks[chunk.x, chunk.z].Update();
}
//create 1 player in list //create 1 player in list
if (playersToCreate.Count > 0) if (playersToCreate.Count > 0)
{ {
byte id = playersToCreate.Dequeue(); byte id = playersToCreate.Dequeue();
GameObject player = Instantiate(playerPrefab); GameObject player = Instantiate(playerPrefab);
player.transform.position = new Vector3((byte)player.transform.position.x, player.transform.position = new Vector3((int)player.transform.position.x,
GetHeight((byte)player.transform.position.x, (byte)player.transform.position.z) + 2, GetHeight((byte)player.transform.position.x, (byte)player.transform.position.z) + 2,
(byte)player.transform.position.z); (int)player.transform.position.z);
player.transform.SetParent(gameObject.transform); player.transform.SetParent(gameObject.transform);
otherPlayers.Add(id, player); otherPlayers.Add(id, player);
} }
@@ -107,23 +135,74 @@ public class World : MonoBehaviour
} }
} }
private void LoadChunks(ChunkCoord playerChunk)
{
List<Chunk> checkList = new List<Chunk>();
chunksToUpdate1.Clear();
for (int x = playerChunk.x - Data.viewDistance; x <= playerChunk.x + Data.viewDistance; x++)
{
for (int z = playerChunk.z - Data.viewDistance; z <= playerChunk.z + Data.viewDistance; z++)
{
if(z >= 0 && x >= 0 && z < worldSize && x < worldSize)
{
if (chunks[x, z].gameObject == null)
{
chunks[x, z].Initialize();
chunks[x, z].gameObject.transform.SetParent(gameObject.transform);
}
if (!chunks[x, z].active)
{
chunksToUpdate1.Enqueue(new ChunkCoord(x, z));
}
checkList.Add(chunks[x, z]);
}
}
}
foreach (Chunk c in lastActiveChunks)
{
if (!checkList.Contains(c))
{
c.DestroyMesh();
}
}
lastActiveChunks.Clear();
lastActiveChunks = new List<Chunk>(checkList);
}
//enqueue player position update to list //enqueue player position update to list
public void UpdatePlayerPosition(Vector3 position, byte id) public void UpdatePlayerPosition(Vector3 position, byte id)
{
if(playersPositionsToUpdate.Count < 50)
{ {
playersPositionsToUpdate.Enqueue(new Player.PlayerPositionUpdateData(id, position, false)); playersPositionsToUpdate.Enqueue(new Player.PlayerPositionUpdateData(id, position, false));
} }
}
//enqueue player rotation update to list //enqueue player rotation update to list
public void UpdatePlayerRotation(Quaternion rotation, byte id) public void UpdatePlayerRotation(Quaternion rotation, byte id)
{
if(playersRotationsToUpdate.Count < 50)
{ {
playersRotationsToUpdate.Enqueue(new Player.PlayerRotationsUpdateData(id, rotation)); playersRotationsToUpdate.Enqueue(new Player.PlayerRotationsUpdateData(id, rotation));
} }
}
//enqueue player create data to list //enqueue player create data to list
public void AddPlayer(byte id) public void AddPlayer(byte id)
{
if(!otherPlayers.ContainsKey(id))
{ {
playersToCreate.Enqueue(id); playersToCreate.Enqueue(id);
} }
}
//creates the array for chunk objects //creates the array for chunk objects
public void CreateChunkArray() public void CreateChunkArray()
@@ -140,14 +219,14 @@ public class World : MonoBehaviour
//initialized the chunk objects //initialized the chunk objects
public void CreateChunks() public void CreateChunks()
{ {
for (int x = 0; x < worldSize; x++) for (int x = worldSize / 2 - Data.viewDistance; x < worldSize / 2 + Data.viewDistance; x++)
{ {
for (int z = 0; z < worldSize; z++) for (int z = worldSize / 2 - Data.viewDistance; z < worldSize / 2 + Data.viewDistance; z++)
{ {
chunks[x, z].Initialize(); chunks[x, z].Initialize();
chunks[x, z].gameObject.transform.SetParent(gameObject.transform); chunks[x, z].gameObject.transform.SetParent(gameObject.transform);
chunks[x, z].AddBlocks(); chunksToUpdate.Enqueue(new ChunkCoord(x, z));
chunks[x, z].CreateMesh(); lastActiveChunks.Add(chunks[x, z]);
} }
} }
} }
@@ -174,7 +253,7 @@ public class World : MonoBehaviour
(int)(positionInWorld.z / Data.chunkWidth)); (int)(positionInWorld.z / Data.chunkWidth));
int xInChunk = (int)(positionInWorld.x - chunk.x * Data.chunkWidth); int xInChunk = (int)(positionInWorld.x - chunk.x * Data.chunkWidth);
int yInChunk = (int)positionInWorld.y; int yInChunk = (int)(positionInWorld.y);
int zInChunk = (int)(positionInWorld.z - chunk.z * Data.chunkWidth); int zInChunk = (int)(positionInWorld.z - chunk.z * Data.chunkWidth);
if (chunks[chunk.x, chunk.z] != null) if (chunks[chunk.x, chunk.z] != null)
@@ -204,11 +283,11 @@ public class World : MonoBehaviour
int zInChunk = z - (zChunk * Data.chunkWidth); int zInChunk = z - (zChunk * Data.chunkWidth);
Chunk c = chunks[xChunk, zChunk]; Chunk c = chunks[xChunk, zChunk];
for (int y = 0; y < Data.chunkHeight; y++) for (int y = Data.chunkHeight - 1; y > 0; y--)
{ {
if (c.blocks[xInChunk, y, zInChunk] == 0) if (c.blocks[xInChunk, y, zInChunk] != 0)
{ {
return (byte)(y - 1); return (byte)(y + 1);
} }
} }
@@ -251,6 +330,11 @@ public class World : MonoBehaviour
} }
} }
public bool IsBlockTransparent(byte id)
{
return blockData[id].transparent;
}
private void OnApplicationQuit() private void OnApplicationQuit()
{ {
client.Disconnect(); client.Disconnect();
@@ -267,6 +351,7 @@ public class World : MonoBehaviour
{ {
public string name; public string name;
public byte[] textures = new byte[6]; public byte[] textures = new byte[6];
public bool transparent;
} }
@@ -283,8 +368,20 @@ public class World : MonoBehaviour
{ {
Cursor.visible = true; Cursor.visible = true;
Cursor.lockState = CursorLockMode.None; Cursor.lockState = CursorLockMode.None;
optionsScreen.SetActive(false);
pauseScreen.SetActive(true); pauseScreen.SetActive(true);
Time.timeScale = 0; Time.timeScale = 0;
if (PlayerPrefs.HasKey("viewDistance"))
{
int value = PlayerPrefs.GetInt("viewDistance");
if (value != Data.viewDistance)
{
Data.viewDistance = value;
LoadChunks(new ChunkCoord((int)(player.transform.position.x / Data.chunkWidth),
(int)(player.transform.position.z / Data.chunkWidth)));
}
}
} }
public void RespawnButton() public void RespawnButton()
@@ -294,6 +391,8 @@ public class World : MonoBehaviour
Time.timeScale = 1; Time.timeScale = 1;
player.transform.position = player.GetDefaultPlayerPosition(); player.transform.position = player.GetDefaultPlayerPosition();
deadScreen.SetActive(false); deadScreen.SetActive(false);
LoadChunks(new ChunkCoord((int)(player.transform.position.x / Data.chunkWidth),
(int)(player.transform.position.z / Data.chunkWidth)));
} }
public void ResumeButton() public void ResumeButton()
@@ -312,6 +411,12 @@ public class World : MonoBehaviour
deadScreen.SetActive(false); deadScreen.SetActive(false);
} }
public void ShowOptionsScreen()
{
pauseScreen.SetActive(false);
optionsScreen.SetActive(true);
}
public void SaveButton() public void SaveButton()
{ {
client.SaveWorld(); client.SaveWorld();
@@ -373,3 +373,19 @@ InputManager:
type: 0 type: 0
axis: 8 axis: 8
joyNum: 0 joyNum: 0
- serializedVersion: 3
m_Name: LB
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 4
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 8
joyNum: 0
@@ -16,13 +16,13 @@ PlayerSettings:
productName: Minecraft Client productName: Minecraft Client
defaultCursor: {fileID: 0} defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0} cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} m_SplashScreenBackgroundColor: {r: 0, g: 0.17825913, b: 1, a: 1}
m_ShowUnitySplashScreen: 1 m_ShowUnitySplashScreen: 1
m_ShowUnitySplashLogo: 1 m_ShowUnitySplashLogo: 1
m_SplashScreenOverlayOpacity: 1 m_SplashScreenOverlayOpacity: 1
m_SplashScreenAnimation: 1 m_SplashScreenAnimation: 1
m_SplashScreenLogoStyle: 1 m_SplashScreenLogoStyle: 0
m_SplashScreenDrawMode: 0 m_SplashScreenDrawMode: 1
m_SplashScreenBackgroundAnimationZoom: 1 m_SplashScreenBackgroundAnimationZoom: 1
m_SplashScreenLogoAnimationZoom: 1 m_SplashScreenLogoAnimationZoom: 1
m_SplashScreenBackgroundLandscapeAspect: 1 m_SplashScreenBackgroundLandscapeAspect: 1
@@ -39,7 +39,9 @@ PlayerSettings:
y: 0 y: 0
width: 1 width: 1
height: 1 height: 1
m_SplashScreenLogos: [] m_SplashScreenLogos:
- logo: {fileID: 10404, guid: 0000000000000000e000000000000000, type: 0}
duration: 3.01
m_VirtualRealitySplashScreen: {fileID: 0} m_VirtualRealitySplashScreen: {fileID: 0}
m_HolographicTrackingLossScreen: {fileID: 0} m_HolographicTrackingLossScreen: {fileID: 0}
defaultScreenWidth: 512 defaultScreenWidth: 512
@@ -580,9 +582,9 @@ PlayerSettings:
ps4IncludedModules: [] ps4IncludedModules: []
ps4attribVROutputEnabled: 0 ps4attribVROutputEnabled: 0
monoEnv: monoEnv:
splashScreenBackgroundSourceLandscape: {fileID: 0} splashScreenBackgroundSourceLandscape: {fileID: 21300000, guid: b9659c3db2ca9c0469b9d747f546103a, type: 3}
splashScreenBackgroundSourcePortrait: {fileID: 0} splashScreenBackgroundSourcePortrait: {fileID: 0}
blurSplashScreenBackground: 1 blurSplashScreenBackground: 0
spritePackerPolicy: spritePackerPolicy:
webGLMemorySize: 16 webGLMemorySize: 16
webGLExceptionSupport: 1 webGLExceptionSupport: 1
@@ -0,0 +1,167 @@
{
"templatePinStates": [],
"dependencyTypeInfos": [
{
"userAdded": false,
"type": "UnityEngine.AnimationClip",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEditor.Animations.AnimatorController",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.AnimatorOverrideController",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEditor.Audio.AudioMixerController",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.ComputeShader",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Cubemap",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.GameObject",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEditor.LightingDataAsset",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": false
},
{
"userAdded": false,
"type": "UnityEngine.LightingSettings",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Material",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEditor.MonoScript",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.PhysicMaterial",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial2D",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Rendering.VolumeProfile",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEditor.SceneAsset",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": false
},
{
"userAdded": false,
"type": "UnityEngine.Shader",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.ShaderVariantCollection",
"ignore": true,
"defaultInstantiationMode": 1,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Texture",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Texture2D",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
},
{
"userAdded": false,
"type": "UnityEngine.Timeline.TimelineAsset",
"ignore": false,
"defaultInstantiationMode": 0,
"supportsModification": true
}
],
"defaultDependencyTypeInfo": {
"userAdded": false,
"type": "<default_scene_template_dependencies>",
"ignore": false,
"defaultInstantiationMode": 1,
"supportsModification": true
},
"newSceneOverride": 0
}
+51
View File
@@ -0,0 +1,51 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Noise
{
public byte GetHeight(int x, int z, int randomOffsetX, int randomOffsetZ)
{
float scale = 0.025f;
byte perlinHeight = 10;
byte groundHeight = 50;
byte height = (byte)(Mathf.PerlinNoise((x + randomOffsetX) * scale + 0.1f, (z + randomOffsetZ) * scale + 0.1f) * perlinHeight + groundHeight);
return height;
}
public bool CheckTree(int x, int z)
{
float scale = .99f;
float threshold = .96f;
if (Mathf.PerlinNoise((x) * scale + 0.1f, (z) * scale + 0.1f) >= threshold)
{
return true;
}
return false;
}
public bool Get3DPerlin(Vector3 position, float offset, float scale, float threshold)
{
float x = (position.x + offset + .1f) * scale;
float y = (position.y + offset + .1f) * scale;
float z = (position.z + offset + .1f) * scale;
float AB = Mathf.PerlinNoise(x, y);
float BC = Mathf.PerlinNoise(y, z);
float AC = Mathf.PerlinNoise(x, z);
float BA = Mathf.PerlinNoise(y, x);
float CB = Mathf.PerlinNoise(z, y);
float CA = Mathf.PerlinNoise(z, x);
if ((AB + BC + AC + BA + CB + CA) / 6f > threshold)
{
return true;
}
return false;
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: dedaa2ec7a8b12443a08f16cad880f84
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+1 -1
View File
@@ -313,7 +313,7 @@ public class Server
{ {
for (int z = 0; z < Data.chunkWidth; z++) for (int z = 0; z < Data.chunkWidth; z++)
{ {
send[i] = world.chunks[xChunk, zChunk].blocks[x, y, z]; send[i] = (byte)(world.chunks[xChunk, zChunk].blocks[x, y, z] + 32);
i++; i++;
} }
} }
+43 -36
View File
@@ -13,6 +13,7 @@ public class World : MonoBehaviour
private int randomOffsetX, randomOffsetZ; private int randomOffsetX, randomOffsetZ;
private int seed = 0; private int seed = 0;
private string dataPath; private string dataPath;
private Noise noise = new Noise();
//chunks //chunks
public Chunk[,] chunks; public Chunk[,] chunks;
@@ -29,6 +30,8 @@ public class World : MonoBehaviour
if (File.Exists(Application.dataPath + "\\save.world")) if (File.Exists(Application.dataPath + "\\save.world"))
{ {
Console.WriteLine("loading world... \n");
chunks = new Chunk[worldSize, worldSize]; chunks = new Chunk[worldSize, worldSize];
for (int x = 0; x < worldSize; x++) for (int x = 0; x < worldSize; x++)
{ {
@@ -54,7 +57,7 @@ public class World : MonoBehaviour
{ {
for (int z = 0; z < Data.chunkWidth; z++) for (int z = 0; z < Data.chunkWidth; z++)
{ {
chunks[xChunk, zChunk].blocks[x, y, z] = save[i]; chunks[xChunk, zChunk].blocks[x, y, z] = (byte)(save[i] - 32);
i++; i++;
} }
} }
@@ -65,6 +68,8 @@ public class World : MonoBehaviour
} }
else else
{ {
Console.WriteLine("generate world... \n");
CreateChunks(); CreateChunks();
CreateTrees(); CreateTrees();
} }
@@ -102,12 +107,12 @@ public class World : MonoBehaviour
{ {
for (int z = 4; z < worldSize * Data.chunkWidth - 4; z++) for (int z = 4; z < worldSize * Data.chunkWidth - 4; z++)
{ {
if (CheckTree(x, z)) if (noise.CheckTree(x, z))
{ {
ChunkCoord chunk = new ChunkCoord((int)(x / Data.chunkWidth), ChunkCoord chunk = new ChunkCoord((int)(x / Data.chunkWidth),
(int)(z / Data.chunkWidth)); (int)(z / Data.chunkWidth));
int xInChunk = (int)(x - chunk.x * Data.chunkWidth); int xInChunk = (int)(x - chunk.x * Data.chunkWidth);
int yInChunk = (int)(GetHeight(x, z)); int yInChunk = (int)(noise.GetHeight(x, z, randomOffsetX, randomOffsetZ));
int zInChunk = (int)(z - chunk.z * Data.chunkWidth); int zInChunk = (int)(z - chunk.z * Data.chunkWidth);
int height = Random.Range(5, 9); int height = Random.Range(5, 9);
@@ -157,11 +162,6 @@ public class World : MonoBehaviour
} }
} }
} }
} }
} }
} }
@@ -170,7 +170,7 @@ public class World : MonoBehaviour
//return the ID of a block //return the ID of a block
public byte GetBlockID(Vector3 positionInWorld) public byte GetBlockID(Vector3 positionInWorld)
{ {
byte height = GetHeight((int)positionInWorld.x, (int)positionInWorld.z); byte height = noise.GetHeight((int)positionInWorld.x, (int)positionInWorld.z, randomOffsetX, randomOffsetZ);
//world pass //world pass
if (positionInWorld.x < 0 || positionInWorld.y < 0 || positionInWorld.z < 0 || if (positionInWorld.x < 0 || positionInWorld.y < 0 || positionInWorld.z < 0 ||
@@ -180,24 +180,55 @@ public class World : MonoBehaviour
return 0; return 0;
} }
//chunk pass //surface pass
if ((int)positionInWorld.y == height) if ((int)positionInWorld.y == height)
{ {
return 3; return 3;
} }
//bedrock pass
if ((int)positionInWorld.y == 0) if ((int)positionInWorld.y == 0)
{ {
return 1; return 1;
} }
//dirt pass
if ((int)positionInWorld.y > height - 3) if ((int)positionInWorld.y > height - 3)
{ {
return 2; return 2;
} }
//underground pass
if ((int)positionInWorld.y < height) if ((int)positionInWorld.y < height)
{ {
//dirt
if((int)positionInWorld.y > 6 && (int)positionInWorld.y < height - 3)
{
if (noise.Get3DPerlin(positionInWorld, 3, 0.28f, 0.65f))
{
return 2;
}
}
//coal
if((int)positionInWorld.y > 6 && (int)positionInWorld.y < height - 8)
{
if (noise.Get3DPerlin(positionInWorld, 5, 0.28f, 0.65f))
{
return 12;
}
}
// //caves
// if((int)positionInWorld.y > 6 && (int)positionInWorld.y < height - 8)
// {
// if (noise.Get3DPerlin(positionInWorld, 0, 0.18f, 0.5f))
// {
// return 0;
// }
// }
return 4; return 4;
} }
@@ -240,30 +271,6 @@ public class World : MonoBehaviour
return true; return true;
} }
private byte GetHeight(int x, int z)
{
float scale = 0.025f;
byte perlinHeight = 10;
byte groundHeight = 10;
byte height = (byte)(Mathf.PerlinNoise((x + randomOffsetX) * scale + 0.1f, (z + randomOffsetZ) * scale + 0.1f) * perlinHeight + groundHeight);
return height;
}
private bool CheckTree(int x, int z)
{
float scale = .99f;
float threshold = .96f;
if (Mathf.PerlinNoise((x) * scale + 0.1f, (z) * scale + 0.1f) >= threshold)
{
return true;
}
return false;
}
public void EditBlock(ChunkCoord chunk, Vector3 positionInChunk, byte blockID) public void EditBlock(ChunkCoord chunk, Vector3 positionInChunk, byte blockID)
{ {
byte xInChunk = (byte)(positionInChunk.x); byte xInChunk = (byte)(positionInChunk.x);
@@ -300,7 +307,7 @@ public class World : MonoBehaviour
{ {
for (int z = 0; z < Data.chunkWidth; z++) for (int z = 0; z < Data.chunkWidth; z++)
{ {
save[i] = chunks[xChunk, zChunk].blocks[x, y, z]; save[i] = (byte)(chunks[xChunk, zChunk].blocks[x, y, z] + 32);
i++; i++;
} }
} }
@@ -311,6 +318,6 @@ public class World : MonoBehaviour
} }
} }
writer.Close(); writer.Close();
Console.WriteLine("world saved! \n"); Console.WriteLine("world saved! (save.world) \n");
} }
} }
+1 -1
View File
@@ -166,5 +166,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5457f26f725053d46bffb9885acfd7d8, type: 3} m_Script: {fileID: 11500000, guid: 5457f26f725053d46bffb9885acfd7d8, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
worldSize: 20 worldSize: 60
transferDelay: 5 transferDelay: 5
Binary file not shown.
Binary file not shown.
+40
View File
@@ -0,0 +1,40 @@
This is an simple Minecraft Multiplayer Clone
Source code for the client:
https://github.com/jonasbraus/Minecraft/tree/main/Minecraft%20Client/Assets/Scripts
Source code for the server:
https://github.com/jonasbraus/Minecraft/tree/main/Minecraft%20Server/Assets/Game
1. You can download the installer under: https://github.com/jonasbraus/Minecraft/releases/download/Caves-and-Chunk-Loading/Minecraft.Clone.Online.Installer.exe
2. Just keep default settings in the installer
3. You should get this two icons on your desktop:
![image](https://user-images.githubusercontent.com/47791011/196282281-8f06e0f8-e270-409d-a42e-836d70208191.png)
4. Start the server application
5. If the server has been started you should get a window looking like this:
![image](https://user-images.githubusercontent.com/47791011/196282414-16bf8441-bc08-4d2f-ab57-da2bb955d567.png)
6. Now start the Minecraft Clone application
![image](https://user-images.githubusercontent.com/47791011/196282539-55600bdc-e270-40db-9ad3-21618e8f6bb0.png)
7. For "User Name" you can enter any name you want
8. If you play on your pc you can set "Server IP" to "localhost". To let others join, give them your computers IP
9. For "Port" you can enter "8051" by default
![image](https://user-images.githubusercontent.com/47791011/196283127-acd485b6-e08c-45a5-ace6-b933bf9c9cd6.png)
10. Click "Play" and wait until the world has been loaded
11. Ready to Play
![image](https://user-images.githubusercontent.com/47791011/196283573-a882f1a6-cf7a-42d8-a3ed-caede89216d8.png)