From 5c19f40190d9c9b99766af14f293e97dcb56430c Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Wed, 20 Sep 2023 19:09:32 +0200 Subject: [PATCH] add elementary cellular automaton shader --- Assets/automata/Automata.unity | 339 +++++++++++++++++- Assets/automata/ElementaryCA.meta | 8 + .../ElementaryCA/elementary_ca.shader | 74 ++++ .../ElementaryCA/elementary_ca.shader.meta | 9 + .../elementary_ca_rt.renderTexture | 37 ++ .../elementary_ca_rt.renderTexture.meta | 8 + .../automata/ElementaryCA/elementary_out.mat | 97 +++++ .../ElementaryCA/elementary_out.mat.meta | 8 + .../automata/ElementaryCA/elementary_sim.mat | 82 +++++ .../ElementaryCA/elementary_sim.mat.meta | 8 + 10 files changed, 668 insertions(+), 2 deletions(-) create mode 100644 Assets/automata/ElementaryCA.meta create mode 100644 Assets/automata/ElementaryCA/elementary_ca.shader create mode 100644 Assets/automata/ElementaryCA/elementary_ca.shader.meta create mode 100644 Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture create mode 100644 Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture.meta create mode 100644 Assets/automata/ElementaryCA/elementary_out.mat create mode 100644 Assets/automata/ElementaryCA/elementary_out.mat.meta create mode 100644 Assets/automata/ElementaryCA/elementary_sim.mat create mode 100644 Assets/automata/ElementaryCA/elementary_sim.mat.meta diff --git a/Assets/automata/Automata.unity b/Assets/automata/Automata.unity index 463cc80..5508529 100644 --- a/Assets/automata/Automata.unity +++ b/Assets/automata/Automata.unity @@ -446,6 +446,85 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 134281445} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &162678203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 162678204} + - component: {fileID: 162678206} + - component: {fileID: 162678205} + m_Layer: 0 + m_Name: Output + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &162678204 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162678203} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1177505995} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &162678205 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162678203} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2907e351bb0f29068b00df512ce81b7f, 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 +--- !u!33 &162678206 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 162678203} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &190693573 GameObject: m_ObjectHideFlags: 0 @@ -830,7 +909,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 336599934} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -4.62, y: 0.628, z: -0.16} + m_LocalPosition: {x: -5.326, y: 2.288, z: -0.431} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} @@ -1069,6 +1148,85 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 547677633} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &665792799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 665792800} + - component: {fileID: 665792802} + - component: {fileID: 665792801} + m_Layer: 0 + m_Name: Simulation + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &665792800 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665792799} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1177505995} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &665792801 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665792799} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 19a398773caadb594a14fe785d2931fe, 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 +--- !u!33 &665792802 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665792799} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1019295978 GameObject: m_ObjectHideFlags: 0 @@ -1443,6 +1601,109 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1, y: 1, z: 0.02} m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1177505990 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1177505995} + - component: {fileID: 1177505994} + - component: {fileID: 1177505993} + - component: {fileID: 1177505992} + - component: {fileID: 1177505991} + m_Layer: 0 + m_Name: ElementaryCA + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1177505991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177505990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 990f6f4efb7f4ec98ad99f6dff1bc6f6, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 3 + objectId: 3d3b29af-de95-49e3-bd0c-3ddd3688ba5f + randomNum: 45571677 +--- !u!114 &1177505992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177505990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a37fd8d654d5c2840a0ab3a5ad65a5ae, type: 3} + m_Name: + m_EditorClassIdentifier: + spawnHeight: 1.05 + useAdditionalValues: 0 + syncValues: [] + propPrivacy: 1 + subSyncs: [] + spawnableType: 0 + preGeneratedInstanceId: +--- !u!114 &1177505993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177505990} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12974925555b471580cacf5d2d5fa9e3, type: 3} + m_Name: + m_EditorClassIdentifier: + gripType: 1 + gripOrigin: {fileID: 0} + disallowTheft: 0 + maximumGrabDistance: 0 + snappingReferences: [] + autoHold: 0 + ikReference: {fileID: 0} +--- !u!65 &1177505994 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177505990} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 0.02} + m_Center: {x: 0, y: 0, z: 0} +--- !u!4 &1177505995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1177505990} + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: -5.25, y: 1, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_Children: + - {fileID: 665792800} + - {fileID: 1515970226} + - {fileID: 162678204} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!1 &1187452029 GameObject: m_ObjectHideFlags: 0 @@ -1907,6 +2168,80 @@ MonoBehaviour: snappingReferences: [] autoHold: 0 ikReference: {fileID: 0} +--- !u!1 &1515970225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1515970226} + - component: {fileID: 1515970227} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1515970226 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515970225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1177505995} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1515970227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515970225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: -0.02 + far clip plane: 0.02 + field of view: 60 + orthographic: 1 + orthographic size: 1 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 2147880727 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 8400000, guid: 17ce492b25ecc1062ba69117e0552539, type: 2} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 --- !u!1 &1534265986 GameObject: m_ObjectHideFlags: 0 @@ -2297,7 +2632,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1829861728} m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} - m_LocalPosition: {x: -2, y: 1, z: 1.75} + m_LocalPosition: {x: -5.25, y: 1, z: 1.75} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/automata/ElementaryCA.meta b/Assets/automata/ElementaryCA.meta new file mode 100644 index 0000000..507aded --- /dev/null +++ b/Assets/automata/ElementaryCA.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a2d426dce026226fb8aca117ca60ad9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/automata/ElementaryCA/elementary_ca.shader b/Assets/automata/ElementaryCA/elementary_ca.shader new file mode 100644 index 0000000..fdc066a --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_ca.shader @@ -0,0 +1,74 @@ +Shader "CrispyPin/elementary_ca" +{ + Properties + { + [NoScaleOffset] + _LastFrame ("Render texture", 2D) = "white" {} + _Rule("Rule", Int) = 110 + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + #define WIDTH 256 + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + texture2D _LastFrame; + int _Rule; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = v.uv; + return o; + } + + inline int state(uint2 p, int dx, int dy) + { + const uint x = (p.x + dx) % WIDTH; + const uint y = (p.y + dy) % WIDTH; + return _LastFrame[uint2(x, y)].b > 0; + } + + float3 frag (v2f i) : SV_Target + { + if(_ProjectionParams.z > 1) discard; + + const uint2 p = i.uv * WIDTH; + if (p.y == WIDTH-1) { + return state(p, 0, 0); + } + int permutation = + (state(p, -1, 1)<<2) | + (state(p, 0, 1)<<1) | + state(p, 1, 1); + + float next = (_Rule >> permutation) & 1; + return float3(i.uv * next, next * (_SinTime.y * 0.4 + 0.6)); + // return next; + } + ENDCG + } + } +} diff --git a/Assets/automata/ElementaryCA/elementary_ca.shader.meta b/Assets/automata/ElementaryCA/elementary_ca.shader.meta new file mode 100644 index 0000000..01ead08 --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_ca.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 33921d959a8401be1be6f5fdaa1b8641 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture b/Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture new file mode 100644 index 0000000..9027510 --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture @@ -0,0 +1,37 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: elementary_ca_rt + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + serializedVersion: 3 + m_Width: 256 + m_Height: 256 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthFormat: 0 + m_ColorFormat: 8 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 0 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 0 + m_WrapV: 0 + m_WrapW: 0 + m_Dimension: 2 + m_VolumeDepth: 1 diff --git a/Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture.meta b/Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture.meta new file mode 100644 index 0000000..38ea612 --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_ca_rt.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17ce492b25ecc1062ba69117e0552539 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/automata/ElementaryCA/elementary_out.mat b/Assets/automata/ElementaryCA/elementary_out.mat new file mode 100644 index 0000000..3d9aed9 --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_out.mat @@ -0,0 +1,97 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: elementary_out + m_Shader: {fileID: 4800000, guid: 2e618ea97d394cb79a97f3f69d29807a, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 8400000, guid: 17ce492b25ecc1062ba69117e0552539, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ColorMode: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _Emission: 0.5 + - _EmissionEnabled: 0 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _LightingEnabled: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/automata/ElementaryCA/elementary_out.mat.meta b/Assets/automata/ElementaryCA/elementary_out.mat.meta new file mode 100644 index 0000000..6065a53 --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_out.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2907e351bb0f29068b00df512ce81b7f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/automata/ElementaryCA/elementary_sim.mat b/Assets/automata/ElementaryCA/elementary_sim.mat new file mode 100644 index 0000000..9e9f28f --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_sim.mat @@ -0,0 +1,82 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: elementary_sim + m_Shader: {fileID: 4800000, guid: 33921d959a8401be1be6f5fdaa1b8641, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _LastFrame: + m_Texture: {fileID: 8400000, guid: 17ce492b25ecc1062ba69117e0552539, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 8400000, guid: da5db771afb862ea0acb898adf00c049, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _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 + - _Rule: 30 + - _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} diff --git a/Assets/automata/ElementaryCA/elementary_sim.mat.meta b/Assets/automata/ElementaryCA/elementary_sim.mat.meta new file mode 100644 index 0000000..2f9ed94 --- /dev/null +++ b/Assets/automata/ElementaryCA/elementary_sim.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19a398773caadb594a14fe785d2931fe +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: