This commit is contained in:
Pascal Serrarens 2026-01-05 17:46:47 +01:00
parent 61bdc36e84
commit 11ecb905ee
8 changed files with 352 additions and 60 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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}

View File

@ -83,18 +83,18 @@ public class Boid : MonoBehaviour {
nanoBrain.brain.UpdateNuclei();
Renderer renderer = GetComponentInChildren<Renderer>();
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<Renderer>();
// 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;
// }
}
}

View File

@ -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