mirror of
https://github.com/nothke/quality-control.git
synced 2024-12-22 07:47:30 +00:00
Compare commits
17 Commits
a0159596cb
...
fa1e2ddbf4
Author | SHA1 | Date | |
---|---|---|---|
|
fa1e2ddbf4 | ||
|
5a8bab2f41 | ||
|
ecf58d32c7 | ||
|
4c839e6f98 | ||
|
8740952493 | ||
|
0d1c168736 | ||
|
87a0195f91 | ||
|
84d586de8a | ||
|
63747c7f7f | ||
|
f20994a8db | ||
|
3893125175 | ||
|
dbb987585b | ||
|
b1c27cef3e | ||
|
c3c816445f | ||
|
62cadfb78a | ||
|
f506fbd6b4 | ||
|
5593d2a0da |
8
Assets/Audio.meta
Normal file
8
Assets/Audio.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ce453247b3c5cf14c80ea8ec288530d9
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Audio/Environment.meta
Normal file
8
Assets/Audio/Environment.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8c8520f71160d00429089957c8b3ff90
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Audio/Player.meta
Normal file
8
Assets/Audio/Player.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d9857c3f92ec45b4bb8e85a36838a64f
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Audio/UI.meta
Normal file
8
Assets/Audio/UI.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cee412b94c09fa34ab0e887775143a8d
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Data.meta
Normal file
8
Assets/Data.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2a96180b7b582854aafe76f7333ec6da
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Data/Products.meta
Normal file
8
Assets/Data/Products.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 74d4feb17b94d6844a90a8d555e9c666
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
19
Assets/Data/Products/Crates.asset
Normal file
19
Assets/Data/Products/Crates.asset
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a80c2e8703664de8943062f03eedfe17, type: 3}
|
||||||
|
m_Name: Crates
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Products:
|
||||||
|
- Prefab: {fileID: 8661871210265028242, guid: ca01f03442732704ba414883790643f7, type: 3}
|
||||||
|
Probability: 80
|
||||||
|
- Prefab: {fileID: 8661871210265028242, guid: c150b9eb048821c47a8d6083804e00e0, type: 3}
|
||||||
|
Probability: 20
|
8
Assets/Data/Products/Crates.asset.meta
Normal file
8
Assets/Data/Products/Crates.asset.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b4bf7d0b0795b3a4989205a8712359e5
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
17
Assets/Data/Products/Defective Crates.asset
Normal file
17
Assets/Data/Products/Defective Crates.asset
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a80c2e8703664de8943062f03eedfe17, type: 3}
|
||||||
|
m_Name: Defective Crates
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Products:
|
||||||
|
- Prefab: {fileID: 8661871210265028242, guid: c150b9eb048821c47a8d6083804e00e0, type: 3}
|
||||||
|
Probability: 100
|
8
Assets/Data/Products/Defective Crates.asset.meta
Normal file
8
Assets/Data/Products/Defective Crates.asset.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 98116939c68dd7245a957cb28df77678
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
102
Assets/Materials/blockout_white.mat
Normal file
102
Assets/Materials/blockout_white.mat
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
%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: blockout_white
|
||||||
|
m_Shader: {fileID: 4800000, guid: 3761fdd1a25d8124680d1ac654376ed0, 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: 2800000, guid: 4e76002f02c7e8c4290fb7bf8cb0fdc1, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex1:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 4e76002f02c7e8c4290fb7bf8cb0fdc1, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex2:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 4e76002f02c7e8c4290fb7bf8cb0fdc1, type: 3}
|
||||||
|
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}
|
||||||
|
- _OcclusionTex:
|
||||||
|
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
|
||||||
|
- _FlipTop: 0
|
||||||
|
- _GlossMapScale: 1
|
||||||
|
- _Glossiness: 0.5
|
||||||
|
- _GlossyReflections: 1
|
||||||
|
- _Metallic: 0
|
||||||
|
- _Mode: 0
|
||||||
|
- _NX: 1
|
||||||
|
- _NY: 1
|
||||||
|
- _NZ: 1
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Parallax: 0.02
|
||||||
|
- _PreventRepeatMult: 0
|
||||||
|
- _SizeX: 20
|
||||||
|
- _SizeY: 20
|
||||||
|
- _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: []
|
8
Assets/Materials/blockout_white.mat.meta
Normal file
8
Assets/Materials/blockout_white.mat.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 446234516a3ad9f4688247a490462c6e
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
83
Assets/Materials/box.mat
Normal file
83
Assets/Materials/box.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: box
|
||||||
|
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
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: 0.061, y: 0.061}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 4e76002f02c7e8c4290fb7bf8cb0fdc1, type: 3}
|
||||||
|
m_Scale: {x: 0.061, y: 0.061}
|
||||||
|
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
|
||||||
|
- _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: 0.8835205, b: 0, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
8
Assets/Materials/box.mat.meta
Normal file
8
Assets/Materials/box.mat.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bef232e221fa62047b268fcc0f75629a
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
83
Assets/Materials/box_black.mat
Normal file
83
Assets/Materials/box_black.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: box_black
|
||||||
|
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
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: 0.061, y: 0.061}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 4e76002f02c7e8c4290fb7bf8cb0fdc1, type: 3}
|
||||||
|
m_Scale: {x: 0.061, y: 0.061}
|
||||||
|
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
|
||||||
|
- _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: 0.33962262, g: 0.33962262, b: 0.33962262, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
8
Assets/Materials/box_black.mat.meta
Normal file
8
Assets/Materials/box_black.mat.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 54361f89cfee8b94d810c14a6beb11b5
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
83
Assets/Materials/conveyor.mat
Normal file
83
Assets/Materials/conveyor.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: conveyor
|
||||||
|
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
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: -7}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 2fd26684a0494174f83ede9cbda25729, type: 3}
|
||||||
|
m_Scale: {x: 1, y: -7}
|
||||||
|
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: []
|
8
Assets/Materials/conveyor.mat.meta
Normal file
8
Assets/Materials/conveyor.mat.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a5c01c81e392f974bb852e613b09fa1d
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -27,12 +27,13 @@ Transform:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1937979026721672}
|
m_GameObject: {fileID: 1937979026721672}
|
||||||
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -5}
|
m_LocalPosition: {x: 0, y: 0, z: -5}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!20 &20127477809793788
|
--- !u!20 &20127477809793788
|
||||||
Camera:
|
Camera:
|
||||||
@ -46,10 +47,19 @@ Camera:
|
|||||||
m_ClearFlags: 1
|
m_ClearFlags: 1
|
||||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||||
m_projectionMatrixMode: 1
|
m_projectionMatrixMode: 1
|
||||||
|
m_GateFitMode: 2
|
||||||
|
m_FOVAxisMode: 0
|
||||||
|
m_Iso: 200
|
||||||
|
m_ShutterSpeed: 0.005
|
||||||
|
m_Aperture: 16
|
||||||
|
m_FocusDistance: 10
|
||||||
|
m_FocalLength: 50
|
||||||
|
m_BladeCount: 5
|
||||||
|
m_Curvature: {x: 2, y: 11}
|
||||||
|
m_BarrelClipping: 0.25
|
||||||
|
m_Anamorphism: 0
|
||||||
m_SensorSize: {x: 36, y: 24}
|
m_SensorSize: {x: 36, y: 24}
|
||||||
m_LensShift: {x: 0, y: 0}
|
m_LensShift: {x: 0, y: 0}
|
||||||
m_GateFitMode: 2
|
|
||||||
m_FocalLength: 50
|
|
||||||
m_NormalizedViewPortRect:
|
m_NormalizedViewPortRect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 0
|
x: 0
|
||||||
@ -119,9 +129,10 @@ MonoBehaviour:
|
|||||||
MaxVerticalAngle: 90
|
MaxVerticalAngle: 90
|
||||||
RotationSpeed: 1.3
|
RotationSpeed: 1.3
|
||||||
RotationSharpness: 10000
|
RotationSharpness: 10000
|
||||||
|
RotateWithPhysicsMover: 0
|
||||||
ObstructionCheckRadius: 0.2
|
ObstructionCheckRadius: 0.2
|
||||||
ObstructionLayers:
|
ObstructionLayers:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 4294965759
|
m_Bits: 4294967295
|
||||||
ObstructionSharpness: 10000
|
ObstructionSharpness: 10000
|
||||||
IgnoredColliders: []
|
IgnoredColliders: []
|
||||||
|
180
Assets/Prefabs/Conveyor Segment.prefab
Normal file
180
Assets/Prefabs/Conveyor Segment.prefab
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2145288034412905379
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8393158071281731187}
|
||||||
|
- component: {fileID: 4019203134528671860}
|
||||||
|
- component: {fileID: 7929793937232939774}
|
||||||
|
- component: {fileID: 9009222233901790279}
|
||||||
|
- component: {fileID: 470903534124745041}
|
||||||
|
- component: {fileID: 3911113332551629849}
|
||||||
|
- component: {fileID: 5758010343525673458}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Conveyor Segment
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8393158071281731187
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
|
||||||
|
m_LocalPosition: {x: 0.5, y: 0.25, z: 0.125}
|
||||||
|
m_LocalScale: {x: 3.1029825, y: 0.40737152, z: 25}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
|
||||||
|
--- !u!33 &4019203134528671860
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &7929793937232939774
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: a5c01c81e392f974bb852e613b09fa1d, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!65 &9009222233901790279
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!54 &470903534124745041
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Mass: 1
|
||||||
|
m_Drag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
|
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||||
|
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ImplicitCom: 1
|
||||||
|
m_ImplicitTensor: 1
|
||||||
|
m_UseGravity: 1
|
||||||
|
m_IsKinematic: 1
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 0
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!114 &3911113332551629849
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: e0f1f2901f5dad644b6199c19a0e8cce, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
speed: 4
|
||||||
|
scrollingTextureSpeedMult: -0.3
|
||||||
|
scrollingTextureRenderer: {fileID: 7929793937232939774}
|
||||||
|
--- !u!114 &5758010343525673458
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: af3e57595c24e7b4dbb6f7f44db23525, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
Size:
|
||||||
|
x: 13
|
||||||
|
y: 2
|
||||||
|
z: 100
|
||||||
|
CenterOffset:
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
z: 0
|
||||||
|
cachedSize:
|
||||||
|
x: 13
|
||||||
|
y: 2
|
||||||
|
z: 100
|
||||||
|
cachedOffset:
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
z: 0
|
7
Assets/Prefabs/Conveyor Segment.prefab.meta
Normal file
7
Assets/Prefabs/Conveyor Segment.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a69e0fd4aaecbfb46b3d664f44dd1b03
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Prefabs/Products.meta
Normal file
8
Assets/Prefabs/Products.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cfbf3b0add419ce49a03b62e8082774e
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
148
Assets/Prefabs/Products/Crate_Defective.prefab
Normal file
148
Assets/Prefabs/Products/Crate_Defective.prefab
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &8661871210265028242
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7217391875016474312}
|
||||||
|
- component: {fileID: 1328088793206638161}
|
||||||
|
- component: {fileID: 2547041061673746692}
|
||||||
|
- component: {fileID: 3271489653354074546}
|
||||||
|
- component: {fileID: 6230516344177671089}
|
||||||
|
- component: {fileID: 4025835224586210870}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Crate_Defective
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7217391875016474312
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0.67568386, y: -0.11777167, z: 0.12495836, w: 0.7169147}
|
||||||
|
m_LocalPosition: {x: 36.650307, y: 1.1982483, z: -0.14469147}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 86.608, y: 0, z: 19.775}
|
||||||
|
--- !u!33 &1328088793206638161
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &2547041061673746692
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 54361f89cfee8b94d810c14a6beb11b5, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!65 &3271489653354074546
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!54 &6230516344177671089
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Mass: 1
|
||||||
|
m_Drag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
|
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||||
|
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ImplicitCom: 1
|
||||||
|
m_ImplicitTensor: 1
|
||||||
|
m_UseGravity: 1
|
||||||
|
m_IsKinematic: 0
|
||||||
|
m_Interpolate: 1
|
||||||
|
m_Constraints: 0
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!114 &4025835224586210870
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 05b73befcbdd4bbfaaee667a8da86b1f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
7
Assets/Prefabs/Products/Crate_Defective.prefab.meta
Normal file
7
Assets/Prefabs/Products/Crate_Defective.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c150b9eb048821c47a8d6083804e00e0
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
135
Assets/Prefabs/Products/Crate_Normal.prefab
Normal file
135
Assets/Prefabs/Products/Crate_Normal.prefab
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &8661871210265028242
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7217391875016474312}
|
||||||
|
- component: {fileID: 1328088793206638161}
|
||||||
|
- component: {fileID: 2547041061673746692}
|
||||||
|
- component: {fileID: 3271489653354074546}
|
||||||
|
- component: {fileID: 6230516344177671089}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Crate_Normal
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7217391875016474312
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0.67568386, y: -0.11777167, z: 0.12495836, w: 0.7169147}
|
||||||
|
m_LocalPosition: {x: 36.650307, y: 1.1982483, z: -0.14469147}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 86.608, y: 0, z: 19.775}
|
||||||
|
--- !u!33 &1328088793206638161
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &2547041061673746692
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: bef232e221fa62047b268fcc0f75629a, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!65 &3271489653354074546
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!54 &6230516344177671089
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Mass: 1
|
||||||
|
m_Drag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
|
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||||
|
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ImplicitCom: 1
|
||||||
|
m_ImplicitTensor: 1
|
||||||
|
m_UseGravity: 1
|
||||||
|
m_IsKinematic: 0
|
||||||
|
m_Interpolate: 1
|
||||||
|
m_Constraints: 0
|
||||||
|
m_CollisionDetection: 0
|
7
Assets/Prefabs/Products/Crate_Normal.prefab.meta
Normal file
7
Assets/Prefabs/Products/Crate_Normal.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ca01f03442732704ba414883790643f7
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
151
Assets/Prefabs/conveyor_test.prefab
Normal file
151
Assets/Prefabs/conveyor_test.prefab
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2145288034412905379
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8393158071281731187}
|
||||||
|
- component: {fileID: 4019203134528671860}
|
||||||
|
- component: {fileID: 7929793937232939774}
|
||||||
|
- component: {fileID: 9009222233901790279}
|
||||||
|
- component: {fileID: 470903534124745041}
|
||||||
|
- component: {fileID: 3911113332551629849}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: conveyor_test
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8393158071281731187
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: -0, y: -0.70710576, z: -0, w: 0.70710784}
|
||||||
|
m_LocalPosition: {x: 0.53, y: 0, z: -0}
|
||||||
|
m_LocalScale: {x: 3.1029825, y: 0.40737152, z: 25}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
|
||||||
|
--- !u!33 &4019203134528671860
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &7929793937232939774
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: a5c01c81e392f974bb852e613b09fa1d, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!65 &9009222233901790279
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!54 &470903534124745041
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Mass: 1
|
||||||
|
m_Drag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
|
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||||
|
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ImplicitCom: 1
|
||||||
|
m_ImplicitTensor: 1
|
||||||
|
m_UseGravity: 1
|
||||||
|
m_IsKinematic: 1
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 0
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
--- !u!114 &3911113332551629849
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2145288034412905379}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: e0f1f2901f5dad644b6199c19a0e8cce, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
speed: 4
|
||||||
|
scrollingTextureSpeedMult: -0.3
|
||||||
|
scrollingTextureRenderer: {fileID: 7929793937232939774}
|
7
Assets/Prefabs/conveyor_test.prefab.meta
Normal file
7
Assets/Prefabs/conveyor_test.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0fb5ec34d66e2824c92ed0b720ca13df
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
135
Assets/Prefabs/crate_test.prefab
Normal file
135
Assets/Prefabs/crate_test.prefab
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &8661871210265028242
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7217391875016474312}
|
||||||
|
- component: {fileID: 1328088793206638161}
|
||||||
|
- component: {fileID: 2547041061673746692}
|
||||||
|
- component: {fileID: 3271489653354074546}
|
||||||
|
- component: {fileID: 6230516344177671089}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: crate_test
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7217391875016474312
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0.67568386, y: -0.11777167, z: 0.12495836, w: 0.7169147}
|
||||||
|
m_LocalPosition: {x: 36.650307, y: 1.1982483, z: -0.14469147}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 86.608, y: 0, z: 19.775}
|
||||||
|
--- !u!33 &1328088793206638161
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &2547041061673746692
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: bef232e221fa62047b268fcc0f75629a, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!65 &3271489653354074546
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!54 &6230516344177671089
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8661871210265028242}
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Mass: 1
|
||||||
|
m_Drag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
|
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||||
|
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ImplicitCom: 1
|
||||||
|
m_ImplicitTensor: 1
|
||||||
|
m_UseGravity: 1
|
||||||
|
m_IsKinematic: 0
|
||||||
|
m_Interpolate: 1
|
||||||
|
m_Constraints: 0
|
||||||
|
m_CollisionDetection: 0
|
7
Assets/Prefabs/crate_test.prefab.meta
Normal file
7
Assets/Prefabs/crate_test.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 79b1ab56bfd061d46a689142c3992685
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
4151
Assets/Scenes/test_conveyor_belt_character.unity
Normal file
4151
Assets/Scenes/test_conveyor_belt_character.unity
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Scenes/test_conveyor_belt_character.unity.meta
Normal file
7
Assets/Scenes/test_conveyor_belt_character.unity.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f8a7a1cb820e39a4b91641d1b576c65a
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -4,24 +4,36 @@ using UnityEngine;
|
|||||||
|
|
||||||
public class ConveyorBelt : MonoBehaviour
|
public class ConveyorBelt : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
Rigidbody _rb;
|
||||||
|
Rigidbody rb { get { if (!_rb) _rb = GetComponent<Rigidbody>(); return _rb; } }
|
||||||
|
|
||||||
public float speed = 1;
|
public float speed = 1;
|
||||||
|
|
||||||
List<ContactPoint> contactPoints = new List<ContactPoint>();
|
Vector3 startPosition;
|
||||||
|
|
||||||
private void OnCollisionStay(Collision collision)
|
float scrollingTextureProgress = 0;
|
||||||
|
public float scrollingTextureSpeedMult = 1;
|
||||||
|
public Renderer scrollingTextureRenderer;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
{
|
{
|
||||||
Vector3 targetSpeed = speed * Vector3.forward;
|
startPosition = rb.position;
|
||||||
|
}
|
||||||
|
|
||||||
Vector3 vel = collision.relativeVelocity;
|
private void FixedUpdate()
|
||||||
|
{
|
||||||
|
rb.position = startPosition;
|
||||||
|
Vector3 targetSpeed = speed * transform.forward;
|
||||||
|
rb.MovePosition(rb.position + targetSpeed * Time.deltaTime);
|
||||||
|
}
|
||||||
|
|
||||||
int count = collision.GetContacts(contactPoints);
|
private void Update()
|
||||||
|
{
|
||||||
if (collision.rigidbody)
|
if(scrollingTextureRenderer)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < count; i++)
|
scrollingTextureProgress += Time.deltaTime * speed * scrollingTextureSpeedMult;
|
||||||
{
|
scrollingTextureRenderer.material.SetTextureOffset("_MainTex",
|
||||||
|
new Vector2(0, scrollingTextureProgress));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
8
Assets/Scripts/Editor.meta
Normal file
8
Assets/Scripts/Editor.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 51fc89590d392e4458728c087b430687
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
12
Assets/Scripts/Editor/TexturePreprocessor.cs
Normal file
12
Assets/Scripts/Editor/TexturePreprocessor.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEditor;
|
||||||
|
|
||||||
|
class TexturePreprocessor : AssetPostprocessor
|
||||||
|
{
|
||||||
|
void OnPreprocessTexture()
|
||||||
|
{
|
||||||
|
// if (assetPath.Contains("_bumpmap"))
|
||||||
|
TextureImporter textureImporter = (TextureImporter)assetImporter;
|
||||||
|
textureImporter.filterMode = FilterMode.Point;
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/Editor/TexturePreprocessor.cs.meta
Normal file
11
Assets/Scripts/Editor/TexturePreprocessor.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d33006e1540e5a649b300c3c7954e1f3
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3
Assets/Scripts/Game Schedule.meta
Normal file
3
Assets/Scripts/Game Schedule.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 71cc283a7f7c45649d6fabee033bce4a
|
||||||
|
timeCreated: 1723894561
|
17
Assets/Scripts/Game Schedule/StageProp.cs
Normal file
17
Assets/Scripts/Game Schedule/StageProp.cs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class StageProp: MonoBehaviour
|
||||||
|
{
|
||||||
|
public StagingManager.StageEnum ActiveAtStages;
|
||||||
|
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
StagingManager.RegisterStageProp(this);
|
||||||
|
gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnDestroy()
|
||||||
|
{
|
||||||
|
StagingManager.RemoveStageProp(this);
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Game Schedule/StageProp.cs.meta
Normal file
3
Assets/Scripts/Game Schedule/StageProp.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 71cd04e41258435d9d03d9b67cb4b7ed
|
||||||
|
timeCreated: 1723894689
|
77
Assets/Scripts/Game Schedule/StagingManager.cs
Normal file
77
Assets/Scripts/Game Schedule/StagingManager.cs
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class StagingManager: MonoBehaviour
|
||||||
|
{
|
||||||
|
public static StagingManager Instance;
|
||||||
|
public static List<StageProp> StageProps;
|
||||||
|
|
||||||
|
public StageEnum CurrentStage;
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum StageEnum
|
||||||
|
{
|
||||||
|
Level1 = 1,
|
||||||
|
Level2 = 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
if (Instance == null)
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetStage(StageEnum.Level1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnDestroy()
|
||||||
|
{
|
||||||
|
StageProps.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RegisterStageProp(StageProp stageProp)
|
||||||
|
{
|
||||||
|
if (StageProps == null)
|
||||||
|
{
|
||||||
|
StageProps = new List<StageProp>();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!StageProps.Contains(stageProp))
|
||||||
|
{
|
||||||
|
StageProps.Add(stageProp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RemoveStageProp(StageProp stageProp)
|
||||||
|
{
|
||||||
|
if (StageProps.Contains(stageProp))
|
||||||
|
{
|
||||||
|
StageProps.Remove(stageProp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetStage(StageEnum stage)
|
||||||
|
{
|
||||||
|
Instance.CurrentStage = stage;
|
||||||
|
|
||||||
|
foreach (var stageProp in StageProps)
|
||||||
|
{
|
||||||
|
stageProp.gameObject.SetActive((stageProp.ActiveAtStages & stage) != 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[MenuItem("Tools/Staging/Level1")]
|
||||||
|
public static void SetStage1()
|
||||||
|
{
|
||||||
|
SetStage(StageEnum.Level1);
|
||||||
|
}
|
||||||
|
|
||||||
|
[MenuItem("Tools/Staging/Level2")]
|
||||||
|
public static void SetStage2()
|
||||||
|
{
|
||||||
|
SetStage(StageEnum.Level2);
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Game Schedule/StagingManager.cs.meta
Normal file
3
Assets/Scripts/Game Schedule/StagingManager.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 892330fb84d24d79b298b2fa65e8e92f
|
||||||
|
timeCreated: 1723894601
|
8
Assets/Scripts/Grid Units.meta
Normal file
8
Assets/Scripts/Grid Units.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d181bf8b664de9e4cb7f81dad16d3f50
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
89
Assets/Scripts/Grid Units/Grid.cs
Normal file
89
Assets/Scripts/Grid Units/Grid.cs
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
using Unity.Mathematics;
|
||||||
|
using UnityEngine;
|
||||||
|
using static Unity.Mathematics.math;
|
||||||
|
using RigidTransform = Unity.Mathematics.RigidTransform;
|
||||||
|
using quaternion = Unity.Mathematics.quaternion;
|
||||||
|
|
||||||
|
public static class Grid
|
||||||
|
{
|
||||||
|
|
||||||
|
public static float CellSize = 0.25f;
|
||||||
|
public static float HalfCellSize => CellSize / 2;
|
||||||
|
|
||||||
|
public static int3 ToSnappedDirection(this float3 direction)
|
||||||
|
{
|
||||||
|
float3 absDirection = abs(direction);
|
||||||
|
int axisIndex = absDirection.x >= absDirection.y
|
||||||
|
? absDirection.x >= absDirection.z ? 0 : 2
|
||||||
|
: absDirection.y >= absDirection.z ? 1 : 2;
|
||||||
|
|
||||||
|
int3 snappedDirection = 0;
|
||||||
|
snappedDirection[axisIndex] = direction[axisIndex] > 0f ? 1 : -1;
|
||||||
|
return snappedDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int3x3 ToSnappedOrientation(this quaternion rotation)
|
||||||
|
{
|
||||||
|
float3x3 orientation = float3x3(rotation);
|
||||||
|
|
||||||
|
int3 snappedRight = ToSnappedDirection(orientation.c0);
|
||||||
|
|
||||||
|
int3 upMask = (int3)(snappedRight == 0);
|
||||||
|
int3 snappedUp = ToSnappedDirection(orientation.c1 * upMask);
|
||||||
|
|
||||||
|
int3 forwardMask = upMask * (int3)(snappedUp == 0);
|
||||||
|
int3 snappedForward = ToSnappedDirection(orientation.c2 * forwardMask);
|
||||||
|
|
||||||
|
return int3x3(snappedRight, snappedUp, snappedForward);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static float3 ToMeters(int3 size) => (float3)size * HalfCellSize;
|
||||||
|
|
||||||
|
private static RigidTransform GetParentSpace(Transform t)
|
||||||
|
{
|
||||||
|
Transform parent = t.parent;
|
||||||
|
GridUnit parentUnit = parent != null ? parent.GetComponentInParent<GridUnit>() : null;
|
||||||
|
if (parentUnit == null)
|
||||||
|
{
|
||||||
|
return RigidTransform.identity;
|
||||||
|
}
|
||||||
|
|
||||||
|
Transform parentTransform = parentUnit.transform;
|
||||||
|
RigidTransform parentSpace = RigidTransform(parentTransform.rotation, parentTransform.position);
|
||||||
|
|
||||||
|
float3 corner = parentUnit.CenterOffset - ToMeters(parentUnit.Size);
|
||||||
|
parentSpace.pos = transform(parentSpace, corner);
|
||||||
|
return parentSpace;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SnapUnit(Transform t, int3 size, float3 centerOffset)
|
||||||
|
{
|
||||||
|
RigidTransform parentSpace = GetParentSpace(t);
|
||||||
|
|
||||||
|
RigidTransform rt = RigidTransform(t.rotation, t.position);
|
||||||
|
|
||||||
|
rt = mul(inverse(parentSpace), rt);
|
||||||
|
|
||||||
|
int3x3 snappedOrientation = rt.rot.ToSnappedOrientation();
|
||||||
|
rt.rot = quaternion.LookRotation(snappedOrientation.c2, snappedOrientation.c1);
|
||||||
|
|
||||||
|
float3 nudge = float3(1f);
|
||||||
|
if (size.x % 2 == 0)
|
||||||
|
nudge += snappedOrientation.c0;
|
||||||
|
if (size.y % 2 == 0)
|
||||||
|
nudge += snappedOrientation.c1;
|
||||||
|
if (size.z % 2 == 0)
|
||||||
|
nudge += snappedOrientation.c2;
|
||||||
|
nudge *= 0.5f;
|
||||||
|
|
||||||
|
float3 centerOffsetW = mul(rt.rot, centerOffset);
|
||||||
|
float3 centerW = rt.pos + centerOffsetW;
|
||||||
|
centerW = (round(centerW / CellSize - nudge) + nudge) * CellSize;
|
||||||
|
rt.pos = centerW - centerOffsetW;
|
||||||
|
|
||||||
|
rt = mul(parentSpace, rt);
|
||||||
|
|
||||||
|
t.SetPositionAndRotation(rt.pos, rt.rot);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
3
Assets/Scripts/Grid Units/Grid.cs.meta
Normal file
3
Assets/Scripts/Grid Units/Grid.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 742f76c1bb9643469274cdb6fceee9ac
|
||||||
|
timeCreated: 1723893723
|
58
Assets/Scripts/Grid Units/GridUnit.cs
Normal file
58
Assets/Scripts/Grid Units/GridUnit.cs
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEditor;
|
||||||
|
using Unity.Mathematics;
|
||||||
|
using static Unity.Mathematics.math;
|
||||||
|
using static Grid;
|
||||||
|
using Color = UnityEngine.Color;
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
|
||||||
|
[ExecuteAlways]
|
||||||
|
[SelectionBase]
|
||||||
|
[DisallowMultipleComponent]
|
||||||
|
public class GridUnit : MonoBehaviour
|
||||||
|
{
|
||||||
|
|
||||||
|
public int3 Size = new (1, 1, 1);
|
||||||
|
private Vector3 SizeInMeters => new (Size.x * CellSize, Size.y * CellSize, Size.z * CellSize);
|
||||||
|
|
||||||
|
public float3 CenterOffset;
|
||||||
|
|
||||||
|
[SerializeField, HideInInspector]
|
||||||
|
private int3 cachedSize = new (1, 1, 1);
|
||||||
|
[SerializeField, HideInInspector]
|
||||||
|
private float3 cachedOffset;
|
||||||
|
|
||||||
|
private bool isDirty => transform.hasChanged ||
|
||||||
|
!all(cachedOffset != CenterOffset) ||
|
||||||
|
!all(cachedSize == Size);
|
||||||
|
|
||||||
|
public void Update()
|
||||||
|
{
|
||||||
|
if (!isDirty)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SnapUnit(transform, Size, CenterOffset);
|
||||||
|
|
||||||
|
transform.hasChanged = false;
|
||||||
|
|
||||||
|
cachedOffset = CenterOffset;
|
||||||
|
cachedSize = Size;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DrawGizmo(GizmoType.InSelectionHierarchy)]
|
||||||
|
private static void DrawGizmo(GridUnit unit, GizmoType type)
|
||||||
|
{
|
||||||
|
Transform t = unit.transform;
|
||||||
|
quaternion rotation = t.rotation;
|
||||||
|
var position = (float3)t.position + mul(rotation, unit.CenterOffset);
|
||||||
|
|
||||||
|
Gizmos.color = Color.white;
|
||||||
|
Gizmos.matrix = Matrix4x4.TRS(position, rotation, Vector3.one);
|
||||||
|
Gizmos.DrawWireCube(Vector3.zero, unit.SizeInMeters);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
11
Assets/Scripts/Grid Units/GridUnit.cs.meta
Normal file
11
Assets/Scripts/Grid Units/GridUnit.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: af3e57595c24e7b4dbb6f7f44db23525
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
34
Assets/Scripts/ProductReceiver.cs
Normal file
34
Assets/Scripts/ProductReceiver.cs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class ProductReceiver : MonoBehaviour
|
||||||
|
{
|
||||||
|
///HashSet<Rigidbody> enteredBodies = new HashSet<Rigidbody>();
|
||||||
|
|
||||||
|
public int normalProductCount;
|
||||||
|
public int defectiveProductCount;
|
||||||
|
|
||||||
|
private void OnCollisionEnter(Collision collision)
|
||||||
|
{
|
||||||
|
var rb = collision.rigidbody;
|
||||||
|
|
||||||
|
if (!rb)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//enteredBodies.Add(rb);
|
||||||
|
|
||||||
|
if (rb.GetComponent<DefectiveProduct>())
|
||||||
|
{
|
||||||
|
defectiveProductCount++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
normalProductCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
Destroy(rb.gameObject);
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/ProductReceiver.cs.meta
Normal file
3
Assets/Scripts/ProductReceiver.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6de8f4eed85043df853aee4396834741
|
||||||
|
timeCreated: 1723897952
|
3
Assets/Scripts/Products.meta
Normal file
3
Assets/Scripts/Products.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9adc44b5a83c4f599556f32f639d3934
|
||||||
|
timeCreated: 1723896059
|
6
Assets/Scripts/Products/DefectiveProduct.cs
Normal file
6
Assets/Scripts/Products/DefectiveProduct.cs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class DefectiveProduct : MonoBehaviour
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
3
Assets/Scripts/Products/DefectiveProduct.cs.meta
Normal file
3
Assets/Scripts/Products/DefectiveProduct.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 05b73befcbdd4bbfaaee667a8da86b1f
|
||||||
|
timeCreated: 1723897738
|
36
Assets/Scripts/Products/ProductDescription.cs
Normal file
36
Assets/Scripts/Products/ProductDescription.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
|
[CreateAssetMenu(fileName = "New Product Description", menuName = "Data/Product Description", order = 0)]
|
||||||
|
public class ProductDescription : ScriptableObject
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public struct Product
|
||||||
|
{
|
||||||
|
public GameObject Prefab;
|
||||||
|
[Range(0,100)]
|
||||||
|
public int Probability;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Product[] Products;
|
||||||
|
|
||||||
|
public GameObject GetRandomProduct()
|
||||||
|
{
|
||||||
|
float randomValue = Random.value;
|
||||||
|
float sum = 0;
|
||||||
|
|
||||||
|
for (var i = 0; i < Products.Length; i++)
|
||||||
|
{
|
||||||
|
var product = Products[i];
|
||||||
|
|
||||||
|
sum += product.Probability / 100f;
|
||||||
|
if (randomValue <= sum)
|
||||||
|
{
|
||||||
|
return product.Prefab;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Products/ProductDescription.cs.meta
Normal file
3
Assets/Scripts/Products/ProductDescription.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a80c2e8703664de8943062f03eedfe17
|
||||||
|
timeCreated: 1723896074
|
73
Assets/Scripts/Products/ProductSpawner.cs
Normal file
73
Assets/Scripts/Products/ProductSpawner.cs
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class ProductSpawner : MonoBehaviour
|
||||||
|
{
|
||||||
|
public enum ProductionPhaseType
|
||||||
|
{
|
||||||
|
Pause = 0,
|
||||||
|
Production = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public struct ProductionPhase
|
||||||
|
{
|
||||||
|
public ProductionPhaseType Type;
|
||||||
|
public ProductDescription Description;
|
||||||
|
[Min(1f)]
|
||||||
|
public float Duration;
|
||||||
|
[Min(1f)]
|
||||||
|
public float TotalSpawnCount;
|
||||||
|
|
||||||
|
public float SpawnInterval => Duration / TotalSpawnCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ProductionPhase> ProductionPhases;
|
||||||
|
|
||||||
|
public float _remainingDuration;
|
||||||
|
public float _spawnTimer;
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (ProductionPhases.Count == 0)
|
||||||
|
{
|
||||||
|
enabled = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var currentPhase = ProductionPhases[0];
|
||||||
|
|
||||||
|
if (_remainingDuration <= 0)
|
||||||
|
{
|
||||||
|
_remainingDuration = currentPhase.Duration;
|
||||||
|
_spawnTimer = 0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
_remainingDuration -= Time.deltaTime;
|
||||||
|
|
||||||
|
if (currentPhase.Type != ProductionPhaseType.Pause)
|
||||||
|
{
|
||||||
|
_spawnTimer -= Time.deltaTime;
|
||||||
|
|
||||||
|
if (_spawnTimer >= 0f)
|
||||||
|
{
|
||||||
|
if (_remainingDuration <= 0)
|
||||||
|
{
|
||||||
|
ProductionPhases.RemoveAt(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_spawnTimer = currentPhase.SpawnInterval;
|
||||||
|
|
||||||
|
Instantiate(currentPhase.Description.GetRandomProduct(), transform.position, Quaternion.identity);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_remainingDuration <= 0)
|
||||||
|
{
|
||||||
|
ProductionPhases.RemoveAt(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Products/ProductSpawner.cs.meta
Normal file
3
Assets/Scripts/Products/ProductSpawner.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 13fa2421a3e649448c929ac42745ad65
|
||||||
|
timeCreated: 1723896826
|
49
Assets/Scripts/SlidingCrane.cs
Normal file
49
Assets/Scripts/SlidingCrane.cs
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
using Nothke.Utils;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class SlidingCrane : MonoBehaviour
|
||||||
|
{
|
||||||
|
public InertialInterpolator xMotion = InertialInterpolator.Default();
|
||||||
|
public InertialInterpolator yMotion = InertialInterpolator.Default();
|
||||||
|
|
||||||
|
public Transform xTransform;
|
||||||
|
public Transform yTransform;
|
||||||
|
|
||||||
|
public float yRange = 10;
|
||||||
|
public float xRange = 5;
|
||||||
|
|
||||||
|
public Transform testTgt;
|
||||||
|
public Vector3 target;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
yMotion.AccelerateTo(1);
|
||||||
|
xMotion.AccelerateTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
target = testTgt.position;
|
||||||
|
|
||||||
|
Vector3 localTarget = transform.InverseTransformPoint(target);
|
||||||
|
xMotion.Update(Time.deltaTime);
|
||||||
|
yMotion.Update(Time.deltaTime);
|
||||||
|
|
||||||
|
Vector2 targetPlanar = new Vector2(localTarget.x, localTarget.z);
|
||||||
|
|
||||||
|
float xTgt = Mathf.InverseLerp(-xRange, xRange, targetPlanar.x);
|
||||||
|
Debug.Log(xTgt);
|
||||||
|
float yTgt = Mathf.InverseLerp(0, yRange, targetPlanar.y);
|
||||||
|
|
||||||
|
xMotion.AccelerateTo(xTgt);
|
||||||
|
yMotion.AccelerateTo(yTgt);
|
||||||
|
|
||||||
|
float x = Mathf.Lerp(-xRange, xRange, xMotion.progress);
|
||||||
|
float y = yMotion.progress * yRange;
|
||||||
|
|
||||||
|
yTransform.localPosition = new Vector3(0, 0, yMotion.progress * yRange);
|
||||||
|
xTransform.localPosition = new Vector3(x, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/SlidingCrane.cs.meta
Normal file
11
Assets/Scripts/SlidingCrane.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: da3ed29216d73fb43be6448aea116576
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Scripts/Utils.meta
Normal file
8
Assets/Scripts/Utils.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6c0aa3bf4c555da4db98db8126dbda0c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
406
Assets/Scripts/Utils/Interpolator.cs
Normal file
406
Assets/Scripts/Utils/Interpolator.cs
Normal file
@ -0,0 +1,406 @@
|
|||||||
|
///
|
||||||
|
/// Interpolator and InertialInterpolator by Nothke
|
||||||
|
///
|
||||||
|
/// A utility struct for when a value needs to smoothly transition between 2 states.
|
||||||
|
///
|
||||||
|
/// Call Regress() to make the state advance towards 0,
|
||||||
|
/// or Progress() to make it advance towards 1.
|
||||||
|
/// Alternatively use Toggle().
|
||||||
|
/// SetTo(value) will set it to a state immediately.
|
||||||
|
///
|
||||||
|
/// Call Update() every frame or fixed frame for the transition to progress.
|
||||||
|
///
|
||||||
|
/// An Interpolator is a version that transits at fixed speed.
|
||||||
|
///
|
||||||
|
/// An InertialInterpolator is a version that uses inertia, it will accelerate from one state,
|
||||||
|
/// and slow down when approaching the end state.
|
||||||
|
/// InertialInterpolator can also advance to arbitrary point with AccelerateTo(value).
|
||||||
|
/// It can also "emergency-stop" by calling StartBraking().
|
||||||
|
///
|
||||||
|
/// It doesn't matter if you call the functions repeatedly or once.
|
||||||
|
///
|
||||||
|
/// Make sure to have a maxSpeed parameter higher than 0, otherwise they won't move.
|
||||||
|
///
|
||||||
|
/// To initialize the struct correctly in inspector (with maxSpeed > 0) use:
|
||||||
|
/// public Interpolator interpolator = Interpolator.Default();
|
||||||
|
///
|
||||||
|
/// ============================================================================
|
||||||
|
///
|
||||||
|
/// MIT License
|
||||||
|
///
|
||||||
|
/// Copyright(c) 2021 Ivan Notaroš
|
||||||
|
///
|
||||||
|
/// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
/// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
/// in the Software without restriction, including without limitation the rights
|
||||||
|
/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
/// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
/// furnished to do so, subject to the following conditions:
|
||||||
|
///
|
||||||
|
/// The above copyright notice and this permission notice shall be included in all
|
||||||
|
/// copies or substantial portions of the Software.
|
||||||
|
///
|
||||||
|
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
/// SOFTWARE.
|
||||||
|
///
|
||||||
|
/// ============================================================================
|
||||||
|
///
|
||||||
|
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
using UnityEditor;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace Nothke.Utils
|
||||||
|
{
|
||||||
|
public enum ProgressionState
|
||||||
|
{
|
||||||
|
AtStart,
|
||||||
|
Progressing,
|
||||||
|
AtEnd,
|
||||||
|
Regressing
|
||||||
|
};
|
||||||
|
|
||||||
|
public interface IInterpolator
|
||||||
|
{
|
||||||
|
void Update(float dt);
|
||||||
|
ProgressionState State { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Advance value towards 1.
|
||||||
|
/// </summary>
|
||||||
|
void Progress();
|
||||||
|
/// <summary>
|
||||||
|
/// Advance value towards 0.
|
||||||
|
/// </summary>
|
||||||
|
void Regress();
|
||||||
|
|
||||||
|
void SetTo(float value);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Toggle progression between progressing or regressing.
|
||||||
|
/// </summary>
|
||||||
|
void Toggle();
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public struct Interpolator : IInterpolator
|
||||||
|
{
|
||||||
|
public float maxSpeed;
|
||||||
|
|
||||||
|
[HideInInspector]
|
||||||
|
public float progress, velocity;
|
||||||
|
|
||||||
|
ProgressionState state;
|
||||||
|
|
||||||
|
public ProgressionState State => state;
|
||||||
|
//public bool ProgressingOrAtEnd => state == DeploymentState.Progressing || state == DeploymentState.AtEnd;
|
||||||
|
|
||||||
|
public static Interpolator Default()
|
||||||
|
{
|
||||||
|
return new Interpolator()
|
||||||
|
{
|
||||||
|
maxSpeed = 1
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Progress()
|
||||||
|
{
|
||||||
|
velocity = maxSpeed;
|
||||||
|
|
||||||
|
state = ProgressionState.Progressing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Regress()
|
||||||
|
{
|
||||||
|
velocity = -maxSpeed;
|
||||||
|
|
||||||
|
state = ProgressionState.Regressing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Toggle()
|
||||||
|
{
|
||||||
|
if (state == ProgressionState.AtEnd || state == ProgressionState.Progressing)
|
||||||
|
Regress();
|
||||||
|
else
|
||||||
|
Progress();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetTo(float value)
|
||||||
|
{
|
||||||
|
value = Mathf.Clamp01(value);
|
||||||
|
|
||||||
|
progress = value;
|
||||||
|
velocity = 0;
|
||||||
|
|
||||||
|
if (value == 1)
|
||||||
|
state = ProgressionState.AtEnd;
|
||||||
|
else if (value == 0)
|
||||||
|
state = ProgressionState.AtStart;
|
||||||
|
else
|
||||||
|
state = ProgressionState.Progressing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(float dt)
|
||||||
|
{
|
||||||
|
if (maxSpeed == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
progress += velocity * dt;
|
||||||
|
|
||||||
|
if (velocity < 0 && progress < 0)
|
||||||
|
{
|
||||||
|
progress = 0;
|
||||||
|
|
||||||
|
if (state == ProgressionState.Regressing)
|
||||||
|
{
|
||||||
|
velocity = 0;
|
||||||
|
state = ProgressionState.AtStart;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (velocity > 0 && progress > 1)
|
||||||
|
{
|
||||||
|
progress = 1;
|
||||||
|
|
||||||
|
if (state == ProgressionState.Progressing)
|
||||||
|
{
|
||||||
|
velocity = 0;
|
||||||
|
state = ProgressionState.AtEnd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public struct InertialInterpolator : IInterpolator
|
||||||
|
{
|
||||||
|
public float maxSpeed;
|
||||||
|
public float acceleration;
|
||||||
|
public float brakingAcceleration;
|
||||||
|
|
||||||
|
[HideInInspector] public float progress;
|
||||||
|
[HideInInspector] public float velocity;
|
||||||
|
|
||||||
|
[HideInInspector] public float accel;
|
||||||
|
private ProgressionState state;
|
||||||
|
[HideInInspector] public bool braking;
|
||||||
|
|
||||||
|
private float endTarget;
|
||||||
|
private float beginTarget;
|
||||||
|
|
||||||
|
public ProgressionState State => state;
|
||||||
|
public bool Stopped => velocity == 0;
|
||||||
|
|
||||||
|
public static InertialInterpolator Default()
|
||||||
|
{
|
||||||
|
return new InertialInterpolator()
|
||||||
|
{
|
||||||
|
maxSpeed = 1f,
|
||||||
|
acceleration = 1f,
|
||||||
|
|
||||||
|
endTarget = 1f
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Toggle()
|
||||||
|
{
|
||||||
|
if (state == ProgressionState.AtEnd || state == ProgressionState.Progressing)
|
||||||
|
Regress();
|
||||||
|
else
|
||||||
|
Progress();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProgressTo(float to)
|
||||||
|
{
|
||||||
|
endTarget = to;
|
||||||
|
|
||||||
|
accel = acceleration;
|
||||||
|
|
||||||
|
state = ProgressionState.Progressing;
|
||||||
|
|
||||||
|
braking = velocity < 0;
|
||||||
|
|
||||||
|
if (braking)
|
||||||
|
accel = brakingAcceleration > 0 ? brakingAcceleration : acceleration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Progress()
|
||||||
|
{
|
||||||
|
ProgressTo(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RegressTo(float to)
|
||||||
|
{
|
||||||
|
beginTarget = to;
|
||||||
|
|
||||||
|
accel = -acceleration;
|
||||||
|
|
||||||
|
state = ProgressionState.Regressing;
|
||||||
|
|
||||||
|
braking = velocity > 0;
|
||||||
|
|
||||||
|
if (braking)
|
||||||
|
accel = brakingAcceleration > 0 ? -brakingAcceleration : -acceleration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Regress()
|
||||||
|
{
|
||||||
|
RegressTo(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the target to start accelerating to. Note, the input should always be 0-1
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="to"></param>
|
||||||
|
public void AccelerateTo(float to)
|
||||||
|
{
|
||||||
|
if (progress < to)
|
||||||
|
ProgressTo(to);
|
||||||
|
else
|
||||||
|
RegressTo(to);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The interpolator will start decelerating with brakingAcceleration eventually slowly coming to a stop,
|
||||||
|
/// overriding any progression status.
|
||||||
|
/// </summary>
|
||||||
|
public void StartBraking()
|
||||||
|
{
|
||||||
|
if (braking)
|
||||||
|
return;
|
||||||
|
|
||||||
|
braking = true;
|
||||||
|
|
||||||
|
switch (velocity)
|
||||||
|
{
|
||||||
|
case > 0:
|
||||||
|
ProgressTo(Mathf.Min(progress + StoppingDistance(velocity, -brakingAcceleration), 1));
|
||||||
|
return;
|
||||||
|
case < 0:
|
||||||
|
RegressTo(Mathf.Max(progress - -StoppingDistance(velocity, brakingAcceleration), 0));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static float StoppingDistance(float curVelo, float accel)
|
||||||
|
{
|
||||||
|
return curVelo * curVelo / (2 * -accel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(float dt)
|
||||||
|
{
|
||||||
|
if (maxSpeed == 0)
|
||||||
|
Debug.Log("MaxSpeed of a Deployer is 0, there will be no movement. Please set it before using");
|
||||||
|
|
||||||
|
// Limit velocity
|
||||||
|
if (velocity < -maxSpeed)
|
||||||
|
{
|
||||||
|
accel = 0;
|
||||||
|
velocity = -maxSpeed + Mathf.Epsilon;
|
||||||
|
}
|
||||||
|
else if (velocity > maxSpeed)
|
||||||
|
{
|
||||||
|
accel = 0;
|
||||||
|
velocity = maxSpeed - Mathf.Epsilon;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (brakingAcceleration > 0 && !braking)
|
||||||
|
{
|
||||||
|
// TODO: Handle the case where braking force is so big that it immediately reverses the direction
|
||||||
|
// In that case we should skip braking state entirely
|
||||||
|
|
||||||
|
if (velocity > 0 && state == ProgressionState.Progressing)
|
||||||
|
{
|
||||||
|
float stopDist = StoppingDistance(velocity, -brakingAcceleration);
|
||||||
|
|
||||||
|
if (progress > endTarget - stopDist)
|
||||||
|
{
|
||||||
|
accel = -brakingAcceleration;
|
||||||
|
braking = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (velocity < 0 && state == ProgressionState.Regressing)
|
||||||
|
{
|
||||||
|
float stopDist = -StoppingDistance(velocity, brakingAcceleration);
|
||||||
|
|
||||||
|
if (progress < beginTarget + stopDist)
|
||||||
|
{
|
||||||
|
accel = brakingAcceleration;
|
||||||
|
braking = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (braking)
|
||||||
|
{
|
||||||
|
if (accel < 0 && velocity < 0)
|
||||||
|
{
|
||||||
|
if (state == ProgressionState.Progressing)
|
||||||
|
SetTo(endTarget);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
braking = false;
|
||||||
|
accel = -acceleration;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (accel > 0 && velocity > 0)
|
||||||
|
{
|
||||||
|
if (state == ProgressionState.Regressing)
|
||||||
|
SetTo(beginTarget);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
braking = false;
|
||||||
|
accel = acceleration;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
velocity += accel * dt;
|
||||||
|
progress += velocity * dt;
|
||||||
|
|
||||||
|
// Clamp between 0-1
|
||||||
|
if (velocity < 0 && progress < 0)
|
||||||
|
{
|
||||||
|
progress = 0;
|
||||||
|
velocity = 0;
|
||||||
|
|
||||||
|
if (state == ProgressionState.Regressing)
|
||||||
|
SetTo(0);
|
||||||
|
}
|
||||||
|
else if (velocity > 0 && progress > 1)
|
||||||
|
{
|
||||||
|
progress = 1;
|
||||||
|
velocity = 0;
|
||||||
|
|
||||||
|
if (state == ProgressionState.Progressing)
|
||||||
|
SetTo(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetTo(float value)
|
||||||
|
{
|
||||||
|
value = Mathf.Clamp01(value);
|
||||||
|
progress = value;
|
||||||
|
velocity = 0;
|
||||||
|
accel = 0;
|
||||||
|
braking = false;
|
||||||
|
|
||||||
|
if (value == 1)
|
||||||
|
state = ProgressionState.AtEnd;
|
||||||
|
else if (value == 0)
|
||||||
|
state = ProgressionState.AtStart;
|
||||||
|
else
|
||||||
|
state = ProgressionState.Progressing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/Utils/Interpolator.cs.meta
Normal file
11
Assets/Scripts/Utils/Interpolator.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9eeaa9ab61b55044a81d9d7221b8a153
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
44
Assets/Scripts/WeightDetector.cs
Normal file
44
Assets/Scripts/WeightDetector.cs
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class WeightDetector : MonoBehaviour
|
||||||
|
{
|
||||||
|
HashSet<Rigidbody> enteredBodies = new HashSet<Rigidbody>();
|
||||||
|
|
||||||
|
private void OnCollisionEnter(Collision collision)
|
||||||
|
{
|
||||||
|
var rb = collision.rigidbody;
|
||||||
|
|
||||||
|
if (rb)
|
||||||
|
{
|
||||||
|
enteredBodies.Add(rb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnCollisionExit(Collision collision)
|
||||||
|
{
|
||||||
|
var rb = collision.rigidbody;
|
||||||
|
|
||||||
|
if (rb)
|
||||||
|
{
|
||||||
|
enteredBodies.Remove(rb);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public float GetTotalWeight()
|
||||||
|
{
|
||||||
|
float totalMass = 0;
|
||||||
|
foreach (var body in enteredBodies)
|
||||||
|
{
|
||||||
|
totalMass += body.mass;
|
||||||
|
}
|
||||||
|
|
||||||
|
return totalMass;
|
||||||
|
}
|
||||||
|
|
||||||
|
//private void Update()
|
||||||
|
//{
|
||||||
|
// Debug.Log(GetTotalWeight());
|
||||||
|
//}
|
||||||
|
}
|
11
Assets/Scripts/WeightDetector.cs.meta
Normal file
11
Assets/Scripts/WeightDetector.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f935fa08cd417994097c7b59d2547f0d
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/Shaders.meta
Normal file
8
Assets/Shaders.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0139843dab0512c4a908fe727bc93522
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
116
Assets/Shaders/TriplanarStandard.shader
Normal file
116
Assets/Shaders/TriplanarStandard.shader
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
Shader "Triplanar"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
_Color("Main Color", Color) = (1,1,1,1)
|
||||||
|
_MainTex("Albedo Top", 2D) = "white" {}
|
||||||
|
_MainTex1("Albedo Front", 2D) = "white" {}
|
||||||
|
_MainTex2("Albedo Side", 2D) = "white" {}
|
||||||
|
_SizeX("SizeX", Float) = 20
|
||||||
|
_SizeY("SizeY", Float) = 20
|
||||||
|
_NX("NX", Range(0,1)) = 1
|
||||||
|
_NY("NY", Range(0,1)) = 1
|
||||||
|
_NZ("NZ", Range(0,1)) = 1
|
||||||
|
_PreventRepeatMult("Prevent Repeat Mult", Float) = 0
|
||||||
|
[MaterialToggle] _FlipTop("Flip Top", Float) = 0
|
||||||
|
|
||||||
|
//_SplatMap("Splat", 2D) = "white" {}
|
||||||
|
|
||||||
|
_OcclusionTex("Occlusion Map", 2D) = "white" {}
|
||||||
|
|
||||||
|
//_BumpMap0("Normal", 2D) = "white" {}
|
||||||
|
//_BumpMap1("Normal", 2D) = "white" {}
|
||||||
|
//_BumpMap2("Normal", 2D) = "white" {}
|
||||||
|
}
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
Tags{ "RenderType" = "Opaque" }
|
||||||
|
LOD 200
|
||||||
|
|
||||||
|
CGPROGRAM
|
||||||
|
#pragma surface surf Standard
|
||||||
|
#pragma target 3.0
|
||||||
|
|
||||||
|
sampler2D _MainTex;
|
||||||
|
sampler2D _MainTex1;
|
||||||
|
sampler2D _MainTex2;
|
||||||
|
fixed4 _Color;
|
||||||
|
fixed _NX;
|
||||||
|
fixed _NY;
|
||||||
|
fixed _NZ;
|
||||||
|
half _SizeX;
|
||||||
|
half _SizeY;
|
||||||
|
half _PreventRepeatMult;
|
||||||
|
|
||||||
|
//sampler2D _BumpMap0;
|
||||||
|
//sampler2D _BumpMap1;
|
||||||
|
//sampler2D _BumpMap2;
|
||||||
|
|
||||||
|
//sampler2D _SplatMap;
|
||||||
|
|
||||||
|
sampler2D _OcclusionTex;
|
||||||
|
uniform bool _FlipTop;
|
||||||
|
|
||||||
|
struct Input
|
||||||
|
{
|
||||||
|
half3 worldPos;
|
||||||
|
fixed3 worldNormal;
|
||||||
|
fixed2 uv_OcclusionTex;
|
||||||
|
INTERNAL_DATA
|
||||||
|
};
|
||||||
|
|
||||||
|
void surf(Input IN, inout SurfaceOutputStandard o)
|
||||||
|
{
|
||||||
|
half2 scale = half2(_SizeX, _SizeY);
|
||||||
|
|
||||||
|
float3 wp = IN.worldPos;
|
||||||
|
//float3 n = IN.worldNormal;
|
||||||
|
|
||||||
|
// top down
|
||||||
|
half2 uvy = (_FlipTop ? wp.xz : wp.zx) + wp.y * _PreventRepeatMult;
|
||||||
|
|
||||||
|
// sideways
|
||||||
|
half2 uvx = wp.zy + wp.x * _PreventRepeatMult;
|
||||||
|
half2 uvz = wp.xy + wp.z * _PreventRepeatMult;
|
||||||
|
//n.x * wp.yz + n.y * wp.xz + n.z * wp.xy;
|
||||||
|
|
||||||
|
fixed4 cy = tex2D(_MainTex, uvy / scale); // top down
|
||||||
|
fixed4 cx = tex2D(_MainTex2, uvx / scale); // left right
|
||||||
|
fixed4 cz = tex2D(_MainTex1, uvz / scale); // back forth
|
||||||
|
|
||||||
|
//fixed3 n0 = UnpackNormal(tex2D(_BumpMap0, IN.worldPos.xz / scale));
|
||||||
|
//fixed3 n1 = UnpackNormal(tex2D(_BumpMap1, IN.worldPos.xy / scale));
|
||||||
|
//fixed3 n2 = UnpackNormal(tex2D(_BumpMap2, IN.worldPos.zy / scale));
|
||||||
|
|
||||||
|
fixed occlusion = tex2D(_OcclusionTex, IN.uv_OcclusionTex.xy);
|
||||||
|
|
||||||
|
fixed3 nWNormal = Unity_SafeNormalize(IN.worldNormal*fixed3(_NX, _NY, _NZ));
|
||||||
|
//fixed3 nWNormal = IN.worldNormal;
|
||||||
|
fixed3 projnormal = saturate(pow(nWNormal*1.5, 4));
|
||||||
|
|
||||||
|
//fixed4 splatMap = tex2D(_SplatMap, IN.worldPos.xz / scale);
|
||||||
|
//fixed splat = splatMap.r;
|
||||||
|
|
||||||
|
// Sides
|
||||||
|
half4 result = lerp(cz, cx, projnormal.x);
|
||||||
|
// Top
|
||||||
|
result = lerp(result, cy, round(projnormal.y * (0.5+ result.r)));
|
||||||
|
|
||||||
|
//half3 resultBump = lerp(n0, n1, projnormal.z);
|
||||||
|
//resultBump = lerp(resultBump, n2, projnormal.x);
|
||||||
|
//normal = lerp(normal, half3(0, 1, 0), projnormal.z);
|
||||||
|
//half3 normal = resultBump;
|
||||||
|
|
||||||
|
//o.Normal = normal;
|
||||||
|
|
||||||
|
o.Albedo = result.rgb * _Color.rgb * occlusion;
|
||||||
|
o.Alpha = result.a * _Color.a;
|
||||||
|
|
||||||
|
o.Occlusion = occlusion;
|
||||||
|
|
||||||
|
//o.Normal = normal;
|
||||||
|
}
|
||||||
|
ENDCG
|
||||||
|
}
|
||||||
|
Fallback "VertexLit"
|
||||||
|
}
|
10
Assets/Shaders/TriplanarStandard.shader.meta
Normal file
10
Assets/Shaders/TriplanarStandard.shader.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3761fdd1a25d8124680d1ac654376ed0
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/Textures/blockout_conveyor.png
(Stored with Git LFS)
Normal file
BIN
Assets/Textures/blockout_conveyor.png
(Stored with Git LFS)
Normal file
Binary file not shown.
114
Assets/Textures/blockout_conveyor.png.meta
Normal file
114
Assets/Textures/blockout_conveyor.png.meta
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2fd26684a0494174f83ede9cbda25729
|
||||||
|
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: 0
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 0
|
||||||
|
wrapV: 0
|
||||||
|
wrapW: 0
|
||||||
|
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: 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: 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
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/Textures/blockout_tiles.png
(Stored with Git LFS)
Normal file
BIN
Assets/Textures/blockout_tiles.png
(Stored with Git LFS)
Normal file
Binary file not shown.
114
Assets/Textures/blockout_tiles.png.meta
Normal file
114
Assets/Textures/blockout_tiles.png.meta
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4e76002f02c7e8c4290fb7bf8cb0fdc1
|
||||||
|
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: 0
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 0
|
||||||
|
wrapV: 0
|
||||||
|
wrapW: 0
|
||||||
|
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: 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: 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
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"com.unity.ide.rider": "3.0.31",
|
||||||
"com.unity.ide.visualstudio": "2.0.22",
|
"com.unity.ide.visualstudio": "2.0.22",
|
||||||
|
"com.unity.mathematics": "1.2.6",
|
||||||
"com.unity.textmeshpro": "3.0.6",
|
"com.unity.textmeshpro": "3.0.6",
|
||||||
"com.unity.ugui": "1.0.0",
|
"com.unity.ugui": "1.0.0",
|
||||||
"com.unity.modules.ai": "1.0.0",
|
"com.unity.modules.ai": "1.0.0",
|
||||||
|
@ -2,11 +2,20 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.ext.nunit": {
|
"com.unity.ext.nunit": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"depth": 2,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
|
"com.unity.ide.rider": {
|
||||||
|
"version": "3.0.31",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.ext.nunit": "1.0.6"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
"com.unity.ide.visualstudio": {
|
"com.unity.ide.visualstudio": {
|
||||||
"version": "2.0.22",
|
"version": "2.0.22",
|
||||||
"depth": 0,
|
"depth": 0,
|
||||||
@ -16,6 +25,13 @@
|
|||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
|
"com.unity.mathematics": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
"com.unity.test-framework": {
|
"com.unity.test-framework": {
|
||||||
"version": "1.1.33",
|
"version": "1.1.33",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
|
Loading…
Reference in New Issue
Block a user