From 11ecb905eeff028d297af6b1b8fb9d6e77a88763 Mon Sep 17 00:00:00 2001 From: Pascal Serrarens Date: Mon, 5 Jan 2026 17:46:47 +0100 Subject: [PATCH] Cleanup --- Assets/NanoBrain/Editor/NanoBrain_Editor.cs | 16 +- Assets/NanoBrain/Editor/NeuroidWindow.cs | 6 +- .../VisualEditor/Editor/NanoBrainEditor.cs | 16 +- .../VisualEditor/Editor/NanoBrainInspector.cs | 6 +- Assets/Scenes/Boids/Boids.unity | 2 +- Assets/Scenes/Boids/Prefabs/Boid.prefab | 2 +- Assets/Scenes/Boids/Scripts/Boid.cs | 24 +- Assets/Scenes/Boids/SwarmingBrain.asset | 340 ++++++++++++++++-- 8 files changed, 352 insertions(+), 60 deletions(-) diff --git a/Assets/NanoBrain/Editor/NanoBrain_Editor.cs b/Assets/NanoBrain/Editor/NanoBrain_Editor.cs index b070c5e..eb59d54 100644 --- a/Assets/NanoBrain/Editor/NanoBrain_Editor.cs +++ b/Assets/NanoBrain/Editor/NanoBrain_Editor.cs @@ -158,7 +158,7 @@ public class NanoBrain_Editor : Editor { //int i = 0; float inputSpacing = 400f / layerNeuroid.synapses.Count; float inputMargin = 10 + inputSpacing / 2; - int minStale = 10000; + // int minStale = 10000; //foreach ((Nucleus nucleus, float weight) in layerNeuroid.synapses) { foreach (Synapse synapse in layerNeuroid.synapses) { Nucleus nucleus = synapse.nucleus; @@ -173,12 +173,12 @@ public class NanoBrain_Editor : Editor { Handles.DrawLine(parentPos, pos); } } - if (nucleus is Neuroid neuroid && neuroid.stale < minStale) - minStale = neuroid.stale; + // if (nucleus is Neuroid neuroid && neuroid.stale < minStale) + // minStale = neuroid.stale; } - if (layerNeuroid.synapses.Count > 0 && minStale > 2 && layerNeuroid.stale < 3) - Debug.LogWarning($"Strange {minStale} is big duing update"); + // if (layerNeuroid.synapses.Count > 0 && minStale > 2 && layerNeuroid.stale < 3) + // Debug.LogWarning($"Strange {minStale} is big duing update"); float size = 20; @@ -222,15 +222,13 @@ public class NanoBrain_Editor : Editor { tooltip = new( $"{sensoryNeuroid.name}" + $"\nThing {sensoryNeuroid.receptor.thingType}" + - $"\nValue: {neuroid.outputValue}" + - $"\nStale: {neuroid.stale}"); + $"\nValue: {neuroid.outputValue}"); } else { tooltip = new( $"{neuroid.name}" + $"\nsynapse count {neuroid.synapses.Count}" + - $"\nValue: {neuroid.outputValue}" + - $"\nStale: {neuroid.stale}"); + $"\nValue: {neuroid.outputValue}"); } Vector2 mousePosition = Event.current.mousePosition; diff --git a/Assets/NanoBrain/Editor/NeuroidWindow.cs b/Assets/NanoBrain/Editor/NeuroidWindow.cs index 133d99c..354dd4e 100644 --- a/Assets/NanoBrain/Editor/NeuroidWindow.cs +++ b/Assets/NanoBrain/Editor/NeuroidWindow.cs @@ -245,15 +245,13 @@ public class GraphEditorWindow : EditorWindow { tooltip = new( $"{sensoryNeuroid.name}" + $"\nThing {sensoryNeuroid.receptor.thingType}" + - $"\nValue: {neuroid.outputValue}" + - $"\nStale: {neuroid.stale}"); + $"\nValue: {neuroid.outputValue}"); } else { tooltip = new( $"{neuroid.name}" + $"\nsynapse count {neuroid.synapses.Count}" + - $"\nValue: {neuroid.outputValue}" + - $"\nStale: {neuroid.stale}"); + $"\nValue: {neuroid.outputValue}"); } Vector2 mousePosition = Event.current.mousePosition; diff --git a/Assets/NanoBrain/VisualEditor/Editor/NanoBrainEditor.cs b/Assets/NanoBrain/VisualEditor/Editor/NanoBrainEditor.cs index 31938b1..d534b9e 100644 --- a/Assets/NanoBrain/VisualEditor/Editor/NanoBrainEditor.cs +++ b/Assets/NanoBrain/VisualEditor/Editor/NanoBrainEditor.cs @@ -235,7 +235,7 @@ public class GraphBoardView : VisualElement { //int i = 0; float inputSpacing = 400f / layerNucleus.synapses.Count; float inputMargin = 10 + inputSpacing / 2; - int minStale = 10000; + // int minStale = 10000; //foreach ((Nucleus nucleus, float weight) in layerNucleus.synapses) { foreach (Synapse synapse in layerNucleus.synapses) { Nucleus nucleus = synapse.nucleus; @@ -251,13 +251,13 @@ public class GraphBoardView : VisualElement { Handles.DrawLine(parentPos, pos); } } - if (nucleus is Neuroid neuroid && neuroid.stale < minStale) - minStale = neuroid.stale; + // if (nucleus is Neuroid neuroid && neuroid.stale < minStale) + // minStale = neuroid.stale; } } - if (layerNucleus.synapses.Count > 0 && minStale > 2 && layerNucleus.stale < 3) - Debug.LogWarning($"Strange {minStale} is big duing update"); + // if (layerNucleus.synapses.Count > 0 && minStale > 2 && layerNucleus.stale < 3) + // Debug.LogWarning($"Strange {minStale} is big duing update"); float size = 20; @@ -300,15 +300,13 @@ public class GraphBoardView : VisualElement { tooltip = new( $"{sensoryNeuroid.name}" + $"\nThing {sensoryNeuroid.receptor.thingType}" + - $"\nValue: {neuroid.outputValue}" + - $"\nStale: {neuroid.stale}"); + $"\nValue: {neuroid.outputValue}"); } else { tooltip = new( $"{neuroid.name}" + $"\nsynapse count {neuroid.synapses.Count}" + - $"\nValue: {neuroid.outputValue}" + - $"\nStale: {neuroid.stale}"); + $"\nValue: {neuroid.outputValue}"); } Vector2 mousePosition = Event.current.mousePosition; diff --git a/Assets/NanoBrain/VisualEditor/Editor/NanoBrainInspector.cs b/Assets/NanoBrain/VisualEditor/Editor/NanoBrainInspector.cs index 705aa68..0a694e0 100644 --- a/Assets/NanoBrain/VisualEditor/Editor/NanoBrainInspector.cs +++ b/Assets/NanoBrain/VisualEditor/Editor/NanoBrainInspector.cs @@ -341,8 +341,7 @@ public class NanoBrainInspector : Editor { tooltip = new( $"{sensoryNeuroid.name}" + $"\nThing {sensoryNeuroid.receptor.thingType}" + - $"\nValue: {nucleus.outputValue}" + - $"\nStale: {nucleus.stale}"); + $"\nValue: {nucleus.outputValue}"); } else if (nucleus is Perceptoid perceptoid) { if (perceptoid.receptor != null) { @@ -363,8 +362,7 @@ public class NanoBrainInspector : Editor { tooltip = new( $"{nucleus.name}" + $"\nsynapse count {nucleus.synapses.Count}" + - $"\nValue: {nucleus.outputValue}" + - $"\nStale: {nucleus.stale}"); + $"\nValue: {nucleus.outputValue}"); } Vector2 mousePosition = Event.current.mousePosition; diff --git a/Assets/Scenes/Boids/Boids.unity b/Assets/Scenes/Boids/Boids.unity index 7024359..9c0eb11 100644 --- a/Assets/Scenes/Boids/Boids.unity +++ b/Assets/Scenes/Boids/Boids.unity @@ -375,7 +375,7 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::SwarmControl speed: 1 inertia: 0.7 - alignmentForce: 0 + alignmentForce: 2 cohesionForce: 4 separationForce: -5 avoidanceForce: 5 diff --git a/Assets/Scenes/Boids/Prefabs/Boid.prefab b/Assets/Scenes/Boids/Prefabs/Boid.prefab index 37277d0..82bf014 100644 --- a/Assets/Scenes/Boids/Prefabs/Boid.prefab +++ b/Assets/Scenes/Boids/Prefabs/Boid.prefab @@ -179,4 +179,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 92f34a5e4027a1dc39efd8ce63cf6aba, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::NanoBrainComponent - defaultBrain: {fileID: 11400000, guid: fc1a4800a8c531eb4855b436bc9084ae, type: 2} + defaultBrain: {fileID: 11400000, guid: af8d90b8b4b9dcad7837130c4143d91c, type: 2} diff --git a/Assets/Scenes/Boids/Scripts/Boid.cs b/Assets/Scenes/Boids/Scripts/Boid.cs index 844f5fe..ac78915 100644 --- a/Assets/Scenes/Boids/Scripts/Boid.cs +++ b/Assets/Scenes/Boids/Scripts/Boid.cs @@ -83,18 +83,18 @@ public class Boid : MonoBehaviour { nanoBrain.brain.UpdateNuclei(); - Renderer renderer = GetComponentInChildren(); - results = Physics.OverlapSphere(this.transform.position, 0.1f); - if (results.Length > 1) { - // string s= this.name; - // foreach (Collider c in results) - // s += " " + c.transform.parent.gameObject.name; - // Debug.Log(s); - renderer.sharedMaterial = red; - } - else { - renderer.sharedMaterial = gray; - } + // Renderer renderer = GetComponentInChildren(); + // results = Physics.OverlapSphere(this.transform.position, 0.1f); + // if (results.Length > 1) { + // // string s= this.name; + // // foreach (Collider c in results) + // // s += " " + c.transform.parent.gameObject.name; + // // Debug.Log(s); + // renderer.sharedMaterial = red; + // } + // else { + // renderer.sharedMaterial = gray; + // } } } diff --git a/Assets/Scenes/Boids/SwarmingBrain.asset b/Assets/Scenes/Boids/SwarmingBrain.asset index 4293769..d47131b 100644 --- a/Assets/Scenes/Boids/SwarmingBrain.asset +++ b/Assets/Scenes/Boids/SwarmingBrain.asset @@ -77,7 +77,7 @@ MonoBehaviour: m_RotationOrder: 4 curveMax: 10 - nucleusId: 1641120128 - weight: -10 + weight: -5 curvePreset: 3 curve: serializedVersion: 2 @@ -1239,7 +1239,7 @@ MonoBehaviour: m_RotationOrder: 4 curveMax: 1000 - nucleusId: -1857835930 - weight: 9 + weight: 2 curvePreset: 0 curve: serializedVersion: 2 @@ -1250,6 +1250,7 @@ MonoBehaviour: curveMax: 1 receivers: [] nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -1295,6 +1296,7 @@ MonoBehaviour: receivers: - nucleusId: -1707533328 nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -1390,6 +1392,7 @@ MonoBehaviour: receivers: - nucleusId: -1707533328 nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -1485,6 +1488,7 @@ MonoBehaviour: receivers: - nucleusId: -1707533328 nucleusType: + isSleeping: 0 _curvePreset: 2 curve: serializedVersion: 2 @@ -1787,7 +1791,7 @@ MonoBehaviour: - id: -1857835930 _name: Alignment synapses: - - nucleusId: -176251552 + - nucleusId: 1921239042 weight: 1 curvePreset: 0 curve: @@ -1797,7 +1801,7 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - - nucleusId: 1164040656 + - nucleusId: 1686464114 weight: 1 curvePreset: 0 curve: @@ -1807,7 +1811,7 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - - nucleusId: -1679360144 + - nucleusId: -1926972526 weight: 1 curvePreset: 0 curve: @@ -1817,7 +1821,7 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - - nucleusId: -1513426512 + - nucleusId: 483038322 weight: 1 curvePreset: 0 curve: @@ -1827,7 +1831,7 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - - nucleusId: 1708725840 + - nucleusId: 890767934 weight: 1 curvePreset: 0 curve: @@ -1837,7 +1841,7 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - - nucleusId: -1645785904 + - nucleusId: -324208238 weight: 1 curvePreset: 0 curve: @@ -1850,6 +1854,7 @@ MonoBehaviour: receivers: - nucleusId: -1707533328 nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -1892,9 +1897,9 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - receivers: - - nucleusId: -1857835930 + receivers: [] nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -1937,9 +1942,9 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - receivers: - - nucleusId: -1857835930 + receivers: [] nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -1982,9 +1987,9 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - receivers: - - nucleusId: -1857835930 + receivers: [] nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2027,9 +2032,9 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - receivers: - - nucleusId: -1857835930 + receivers: [] nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2072,9 +2077,9 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - receivers: - - nucleusId: -1857835930 + receivers: [] nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2117,9 +2122,9 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 curveMax: 1 - receivers: - - nucleusId: -1857835930 + receivers: [] nucleusType: + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2149,6 +2154,168 @@ MonoBehaviour: average: 0 inverse: 0 exponent: 1 + - id: -1621097280 + _name: 'New Perceptoid: velocity' + synapses: + - nucleusId: 1921239042 + weight: 1 + curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + receivers: [] + nucleusType: + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + - id: -966090960 + _name: 'New Perceptoid: velocity' + synapses: + - nucleusId: 1686464114 + weight: 1 + curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + receivers: [] + nucleusType: + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + - id: 1426014432 + _name: 'New Perceptoid: velocity' + synapses: + - nucleusId: -1926972526 + weight: 1 + curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + receivers: [] + nucleusType: + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + - id: -610217840 + _name: 'New Perceptoid: velocity' + synapses: + - nucleusId: 483038322 + weight: 1 + curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + receivers: [] + nucleusType: + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + - id: -481628544 + _name: 'New Perceptoid: velocity' + synapses: + - nucleusId: 890767934 + weight: 1 + curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + receivers: [] + nucleusType: + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + - id: 1464656048 + _name: 'New Perceptoid: velocity' + synapses: + - nucleusId: -324208238 + weight: 1 + curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + receivers: [] + nucleusType: + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 perceptei: - id: 407735232 _name: Boundary @@ -2156,6 +2323,7 @@ MonoBehaviour: receivers: - nucleusId: -112538112 nucleusType: Perceptoid + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2177,6 +2345,7 @@ MonoBehaviour: - nucleusId: 1938577052 - nucleusId: 1641120128 nucleusType: Perceptoid + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2198,6 +2367,7 @@ MonoBehaviour: - nucleusId: 1938577052 - nucleusId: 1641120128 nucleusType: Perceptoid + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2219,6 +2389,7 @@ MonoBehaviour: - nucleusId: 1938577052 - nucleusId: 1641120128 nucleusType: Perceptoid + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2240,6 +2411,7 @@ MonoBehaviour: - nucleusId: 1938577052 - nucleusId: 1641120128 nucleusType: Perceptoid + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2261,6 +2433,7 @@ MonoBehaviour: - nucleusId: 1938577052 - nucleusId: 1641120128 nucleusType: Perceptoid + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2282,6 +2455,7 @@ MonoBehaviour: - nucleusId: 1938577052 - nucleusId: 1641120128 nucleusType: Perceptoid + isSleeping: 0 _curvePreset: 0 curve: serializedVersion: 2 @@ -2295,4 +2469,130 @@ MonoBehaviour: exponent: 1 thingType: 2 thingId: 0 + - id: 1921239042 + _name: Boid1Velocity + synapses: [] + receivers: + - nucleusId: -1621097280 + - nucleusId: -1857835930 + nucleusType: Perceptoid + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + thingType: 3 + thingId: 0 + - id: 1686464114 + _name: Boid2Velocity + synapses: [] + receivers: + - nucleusId: -966090960 + - nucleusId: -1857835930 + nucleusType: Perceptoid + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + thingType: 3 + thingId: 0 + - id: -1926972526 + _name: Boid3Velocity + synapses: [] + receivers: + - nucleusId: 1426014432 + - nucleusId: -1857835930 + nucleusType: Perceptoid + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + thingType: 3 + thingId: 0 + - id: 483038322 + _name: Boid4Velocity + synapses: [] + receivers: + - nucleusId: -610217840 + - nucleusId: -1857835930 + nucleusType: Perceptoid + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + thingType: 3 + thingId: 0 + - id: 890767934 + _name: Boid5Velocity + synapses: [] + receivers: + - nucleusId: -481628544 + - nucleusId: -1857835930 + nucleusType: Perceptoid + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + thingType: 3 + thingId: 0 + - id: -324208238 + _name: Boid6Velocity + synapses: [] + receivers: + - nucleusId: 1464656048 + - nucleusId: -1857835930 + nucleusType: Perceptoid + isSleeping: 0 + _curvePreset: 0 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curveMax: 1 + average: 0 + inverse: 0 + exponent: 1 + thingType: 3 + thingId: 0 rootId: -1707533328