diff --git a/CreatureControl/Editor/Scripts/Leg_Editor.cs b/CreatureControl/Editor/Scripts/Leg_Editor.cs
index e325521..e178960 100644
--- a/CreatureControl/Editor/Scripts/Leg_Editor.cs
+++ b/CreatureControl/Editor/Scripts/Leg_Editor.cs
@@ -17,23 +17,13 @@ namespace CreatureControl {
EditorGUILayout.BeginHorizontal();
string legName = ConvertCamelCase(legProp.name);
showfield = EditorGUILayout.Foldout(showfield, legName, true, foldoutStyle);
- SerializedProperty femurProp = legProp.FindPropertyRelative(nameof(Leg.femur));
- SerializedProperty tibiaProp = legProp.FindPropertyRelative(nameof(Leg.tibia));
- SerializedProperty tarsusProp = legProp.FindPropertyRelative(nameof(Leg.tarsus));
+ SerializedProperty femurProp = legProp.FindPropertyRelative("_femur");//nameof(Leg._femur));
+ SerializedProperty tibiaProp = legProp.FindPropertyRelative("_tibia"); //nameof(Leg._tibia));
+ SerializedProperty tarsusProp = legProp.FindPropertyRelative("_tarsus"); //nameof(Leg._tarsus));
Transform newFemur = (Transform)EditorGUILayout.ObjectField(femurProp.objectReferenceValue, typeof(Transform), true);
if (newFemur != femurProp.objectReferenceValue) {
- // Try to determine further bones when the femur has been updated
- femurProp.objectReferenceValue = newFemur;
- if (newFemur != null) {
- if (tibiaProp.objectReferenceValue == null && newFemur.childCount == 1)
- tibiaProp.objectReferenceValue = newFemur.GetChild(0);
- Transform tibia = (Transform)tibiaProp.objectReferenceValue;
- if (tibia != null) {
- if (tarsusProp.objectReferenceValue == null && tibia.childCount == 1)
- tarsusProp.objectReferenceValue = tibia.GetChild(0);
- }
- }
+ leg.DetectBones(newFemur);
anythingChanged = true;
}
EditorGUILayout.EndHorizontal();
diff --git a/CreatureControl/Runtime/Scripts/Bone.cs b/CreatureControl/Runtime/Scripts/Bone.cs
new file mode 100644
index 0000000..9c24ff0
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Bone.cs
@@ -0,0 +1,9 @@
+namespace CreatureControl {
+
+ public enum Side {
+ Unknown,
+ Left,
+ Right
+ };
+
+}
\ No newline at end of file
diff --git a/CreatureControl/Runtime/Scripts/Bone.cs.meta b/CreatureControl/Runtime/Scripts/Bone.cs.meta
new file mode 100644
index 0000000..5404f4c
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Bone.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f0c445c1f36ba4b819cc479fe343eaa5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CreatureControl/Runtime/Scripts/Insect/Antenna.cs b/CreatureControl/Runtime/Scripts/Insect/Antenna.cs
new file mode 100644
index 0000000..a6c2d48
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Insect/Antenna.cs
@@ -0,0 +1,53 @@
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace CreatureControl {
+
+ [System.Serializable]
+ public class Antenna {
+ private Transform _scape;
+ public Transform scape {
+ get => this._scape;
+ set {
+ this._scape = value;
+ this._scapeLength = 0;
+ }
+ }
+ private Transform _funiculus;
+ public Transform funiculus {
+ get => this._funiculus;
+ set {
+ this._funiculus = value;
+ this._scapeLength = 0;
+ this._funiculusLength = 0;
+ }
+ }
+
+ private Transform _end;
+
+ private float _scapeLength = 0;
+ public float scapeLength {
+ get {
+ if (_scapeLength <= 0 && this.scape != null && this._funiculus != null)
+ _scapeLength = Vector3.Distance(this._scape.position, this._funiculus.position);
+ return _scapeLength;
+ }
+ }
+ private float _funiculusLength = 0;
+ public float funuculusLength {
+ get {
+ if (_funiculusLength <= 0 && this._funiculus != null && this._end != null)
+ _funiculusLength = Vector3.Distance(this._funiculus.position, this._end.position);
+ return _funiculusLength;
+ }
+ }
+
+ public Side side;
+ public bool isLeft => side == Side.Left;
+ public bool isRight => side == Side.Right;
+
+ // Movement it seems:
+ // head-scape joint: mainly 2 degrees of freedom: pitch and yaw. Limited roll is possible
+ // scape-funiculus joint: mainly 1 degree of freedom: pitch. Limited yaw is possible
+ }
+}
\ No newline at end of file
diff --git a/CreatureControl/Runtime/Scripts/Insect/Antenna.cs.meta b/CreatureControl/Runtime/Scripts/Insect/Antenna.cs.meta
new file mode 100644
index 0000000..883d8f1
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Insect/Antenna.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d0a74d6a0259bc3239ce87703b015c8a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CreatureControl/Runtime/Scripts/Insect/Insect.cs b/CreatureControl/Runtime/Scripts/Insect/Insect.cs
index f798ea8..339a9ff 100644
--- a/CreatureControl/Runtime/Scripts/Insect/Insect.cs
+++ b/CreatureControl/Runtime/Scripts/Insect/Insect.cs
@@ -1,3 +1,5 @@
+using UnityEngine;
+
namespace CreatureControl {
///
@@ -10,6 +12,10 @@ namespace CreatureControl {
public float forwardSpeed = 1;
public float rotationSpeed = 1;
+ public InsectHead head;
+ public Transform thorax;
+ public Transform abdomen;
+
public Leg leftFrontLeg;
public Leg leftMiddleLeg;
public Leg leftHindLeg;
diff --git a/CreatureControl/Runtime/Scripts/Insect/InsectHead.cs b/CreatureControl/Runtime/Scripts/Insect/InsectHead.cs
new file mode 100644
index 0000000..bbee091
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Insect/InsectHead.cs
@@ -0,0 +1,9 @@
+namespace CreatureControl {
+ public class InsectHead {
+ public Antenna leftAntenna;
+ public Antenna rightAntenna;
+
+ public Mandible leftMandible;
+ public Mandible rightMandible;
+ }
+}
\ No newline at end of file
diff --git a/CreatureControl/Runtime/Scripts/Insect/InsectHead.cs.meta b/CreatureControl/Runtime/Scripts/Insect/InsectHead.cs.meta
new file mode 100644
index 0000000..06d8ca1
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Insect/InsectHead.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c81d225e1c5078b5aba909ac5c4876e1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CreatureControl/Runtime/Scripts/Insect/Mandible.cs b/CreatureControl/Runtime/Scripts/Insect/Mandible.cs
new file mode 100644
index 0000000..9546eaa
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Insect/Mandible.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+
+namespace CreatureControl {
+
+ public class Mandible {
+ public Transform bone;
+
+ public Side side;
+ public bool isLeft => side == Side.Left;
+ public bool isRight => side == Side.Right;
+ }
+}
\ No newline at end of file
diff --git a/CreatureControl/Runtime/Scripts/Insect/Mandible.cs.meta b/CreatureControl/Runtime/Scripts/Insect/Mandible.cs.meta
new file mode 100644
index 0000000..a1b3336
--- /dev/null
+++ b/CreatureControl/Runtime/Scripts/Insect/Mandible.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ed9a3aa6498a84ac9bfd3a036847635f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/CreatureControl/Runtime/Scripts/Leg.cs b/CreatureControl/Runtime/Scripts/Leg.cs
index 484d3f0..9328843 100644
--- a/CreatureControl/Runtime/Scripts/Leg.cs
+++ b/CreatureControl/Runtime/Scripts/Leg.cs
@@ -1,3 +1,4 @@
+using System.Collections.Generic;
using UnityEngine;
namespace CreatureControl {
@@ -7,21 +8,94 @@ namespace CreatureControl {
///
[System.Serializable]
public class Leg {
+ [SerializeField]
+ private Transform _coxa;
+ ///
+ /// The hip bone
+ ///
+ public Transform coxa {
+ get => this._coxa;
+ set {
+ this._coxa = value;
+ this._femurLength = 0;
+ }
+ }
+
+ [SerializeField]
+ private Transform _femur;
///
/// The upper leg or thigh bone
///
- public Transform femur;
+ public Transform femur {
+ get => this._femur;
+ set {
+ this._femur = value;
+ this._femurLength = 0;
+ }
+ }
+
+ [SerializeField]
+ private Transform _tibia;
///
/// The lower leg or shank bone
///
- public Transform tibia;
+ public Transform tibia {
+ get => this._tibia;
+ set {
+ this._tibia = value;
+ this._femurLength = 0;
+ this._tibiaLength = 0;
+ }
+ }
+
+ [SerializeField]
+ private Transform _tarsus;
///
/// The foot bone
///
- public Transform tarsus;
+ public Transform tarsus {
+ get => this._tarsus;
+ set {
+ this._tarsus = value;
+ this._tibiaLength = 0;
+ this._tarsusLength = 0;
+ }
+ }
+
+ [SerializeField]
+ private Transform _phalanges;
+ ///
+ /// The toes
+ ///
+ public Transform phalanges {
+ get => this._phalanges;
+ set {
+ this._phalanges = value;
+ this._tarsusLength = 0;
+ this._phalangesLength = 0;
+ }
+ }
+
+ [SerializeField]
+ private Transform _end;
+ ///
+ /// The end of the leg
+ ///
+ public Transform end {
+ get => this._end;
+ set {
+ this._end = value;
+ this._phalangesLength = 0;
+ }
+ }
+
+ #region Bones
[SerializeField]
private float _femurLength;
+ ///
+ /// The length of the femur bone
+ ///
public float femurLength {
get {
if (_femurLength <= 0 && this.femur != null && this.tibia != null)
@@ -29,9 +103,12 @@ namespace CreatureControl {
return _femurLength;
}
}
- // A bit inefficient is this is used a lot...
- //public float tibiaLength => Vector3.Distance(this.tibia.position, this.tarsus.position);
+
+ [SerializeField]
private float _tibiaLength;
+ ///
+ /// The length of the tibia bone
+ ///
public float tibiaLength {
get {
if (_tibiaLength <= 0 && this.tibia != null && this.tarsus != null)
@@ -39,18 +116,137 @@ namespace CreatureControl {
return _tibiaLength;
}
}
+
+ [SerializeField]
+ private float _tarsusLength;
+ ///
+ /// The length of the tarsus bone
+ ///
+ public float tarsusLength {
+ get {
+ if (_tarsusLength <= 0 && this.tarsus != null && this.phalanges != null)
+ _tarsusLength = Vector3.Distance(this.tarsus.position, this.phalanges.position);
+ return _tarsusLength;
+ }
+ }
+
+ [SerializeField]
+ private float _phalangesLength;
+ ///
+ /// The length of the phalanges
+ ///
+ public float phalangesLength {
+ get {
+ if (_phalangesLength <= 0 && this.phalanges != null && this.end != null)
+ _phalangesLength = Vector3.Distance(this.phalanges.position, this.end.position);
+ return _phalangesLength;
+ }
+ }
+
+ ///
+ /// The length of the leg from hip to foot
+ ///
+ /// This consists of the femur and tibia
public float length => femurLength + tibiaLength;
+ ///
+ /// The size of the foot
+ ///
+ /// This consists of the tarsus and phalanges
+ public float footLength => tarsusLength + phalangesLength;
+
public void ResetLengths() {
_femurLength = 0;
- _tibiaLength = 0;
+ _tibiaLength = 0;
+ _tarsusLength = 0;
+ _phalangesLength = 0;
}
+ ///
+ /// Try to determine the leg bones
+ ///
+ /// the first bone of the leg (could be coxa or femur depending on chain length)
+ public void DetectBones(Transform root) {
+ if (root == null)
+ return;
+ coxa = femur = tibia = tarsus = phalanges = end = null;
+
+ // gather a straight chain following single-child links
+ List chain = new();
+ Transform current = root;
+ chain.Add(current);
+ while (current.childCount == 1) {
+ current = current.GetChild(0);
+ chain.Add(current);
+ }
+
+ // the detected end bone is the last element in the collected chain
+ end = chain[^1];
+
+ // map chain length to bone roles according to rules:
+ // 1 => femur
+ // 2 => femur, tibia
+ // 3 => femur, tibia, tarsus
+ // 4 => femur, tibia, tarsus, phalanges
+ // 5+ => coxa, femur, tibia, tarsus, phalanges (first 5)
+ int count = chain.Count;
+ if (count == 1)
+ femur = chain[0];
+ else if (count == 2) {
+ femur = chain[0];
+ tibia = chain[1];
+ }
+ else if (count == 3) {
+ femur = chain[0];
+ tibia = chain[1];
+ tarsus = chain[2];
+ }
+ else if (count == 4) {
+ femur = chain[0];
+ tibia = chain[1];
+ tarsus = chain[2];
+ phalanges = chain[3];
+ }
+ else // count >= 5
+ {
+ coxa = chain[0];
+ femur = chain[1];
+ tibia = chain[2];
+ tarsus = chain[3];
+ phalanges = chain[4];
+ }
+ }
+
+ #endregion Bones
+
///
/// Check if all bones of the legs have been configured
///
/// True when all bones are configured
- public bool isConfigured => femur != null && tibia != null && tarsus != null;
+ public bool isConfigured =>
+ this.femur != null &&
+ this.tibia != null &&
+ this.tarsus != null &&
+ this.phalanges != null &&
+ this.end != null;
+
+ public Side side;
+ public bool isLeft => side == Side.Left;
+ public bool isRight => side == Side.Right;
+
+ private Vector3 _kneeAxis = Vector3.zero;
+ public Vector3 kneeAxis {
+ get {
+ if (this._kneeAxis.sqrMagnitude == 0) {
+ Vector3 femurWorldDirection = (this.tibia.position - this.femur.position).normalized;
+ Vector3 tibiaWorldDirection = (this.tarsus.position - this.tibia.position).normalized;
+ Vector3 kneeWorldAxis = Vector3.Cross(femurWorldDirection, tibiaWorldDirection);
+ Vector3 kneeLocalAxis = this.femur.InverseTransformDirection(kneeWorldAxis);
+ this._kneeAxis = kneeLocalAxis;
+ }
+ return this._kneeAxis;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/NanoBrain/Editor/ClusterEditor.cs b/NanoBrain/Editor/ClusterEditor.cs
index 1498a79..6e6ef22 100644
--- a/NanoBrain/Editor/ClusterEditor.cs
+++ b/NanoBrain/Editor/ClusterEditor.cs
@@ -84,8 +84,8 @@ namespace NanoBrain {
void OnAddClusterOutput() {
Nucleus newOutput = new Neuron(this.prefab, "New Output");
this.prefab.RefreshOutputs();
- outputsPopup.choices = this.prefab.outputs.Select(output => output.name).ToList();
- outputsPopup.value = newOutput.name;
+ // outputsPopup.choices = this.prefab.outputs.Select(output => output.name).ToList();
+ // outputsPopup.value = newOutput.name;
this.currentNucleus = newOutput;
}
@@ -185,7 +185,7 @@ namespace NanoBrain {
if (newName != this.currentNucleus.name) {
this.currentNucleus.name = newName;
this.prefab.RefreshOutputs();
- outputsPopup.choices = this.prefab.outputs.Select(output => output.name).ToList();
+ // outputsPopup.choices = this.prefab.outputs.Select(output => output.name).ToList();
anythingChanged = true;
}
}
@@ -537,11 +537,11 @@ namespace NanoBrain {
}
this.prefab.nuclei.Remove(nucleus);
- if (outputsPopup.value == nucleus.name) {
- this.prefab.RefreshOutputs();
- outputsPopup.choices = this.prefab.outputs.Select(output => output.name).ToList();
- outputsPopup.index = 0;
- }
+ // if (outputsPopup.value == nucleus.name) {
+ // this.prefab.RefreshOutputs();
+ // outputsPopup.choices = this.prefab.outputs.Select(output => output.name).ToList();
+ // outputsPopup.index = 0;
+ // }
Neuron.Delete(nucleus);
diff --git a/NanoBrain/Editor/ClusterViewer.cs b/NanoBrain/Editor/ClusterViewer.cs
index af0eb48..11013d3 100644
--- a/NanoBrain/Editor/ClusterViewer.cs
+++ b/NanoBrain/Editor/ClusterViewer.cs
@@ -25,7 +25,7 @@ namespace NanoBrain {
protected VisualElement topMenuContainer;
protected ScrollView scrollView;
protected IMGUIContainer graphContainer;
- protected readonly PopupField outputsPopup;
+ //protected readonly PopupField outputsPopup;
public enum Mode {
Focus,
diff --git a/NanoBrain/Editor/ClusterViewer.cs.meta b/NanoBrain/Editor/ClusterViewer.cs.meta
index ac68b91..7859dec 100644
--- a/NanoBrain/Editor/ClusterViewer.cs.meta
+++ b/NanoBrain/Editor/ClusterViewer.cs.meta
@@ -1,2 +1,11 @@
fileFormatVersion: 2
-guid: 4fe58945c76d153edacc220597474ad2
\ No newline at end of file
+guid: 4fe58945c76d153edacc220597474ad2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Runtime/Scripts/Ant.cs b/Runtime/Scripts/Ant.cs
index 0b435f6..7eb26cc 100644
--- a/Runtime/Scripts/Ant.cs
+++ b/Runtime/Scripts/Ant.cs
@@ -48,8 +48,8 @@ namespace CreatureControl {
public Nucleus pheromoneSteering;
public Nucleus hitLeft;
public Nucleus hitRight;
- public Receptor foodReceptor;
- public Receptor homeReceptor;
+ public Neuron foodReceptor;
+ public Neuron homeReceptor;
public Vector3 linearVelocity = Vector3.forward;
public Vector3 angularVelocity;
@@ -76,8 +76,8 @@ namespace CreatureControl {
this.beat = brain.GetNucleus("Beat");
this.hitLeft = brain.GetNucleus("Hit Left");
this.hitRight = brain.GetNucleus("Hit Right");
- this.foodReceptor = brain.GetNucleus("Food Receptor") as Receptor;
- this.homeReceptor = brain.GetNucleus("Home Receptor") as Receptor;
+ this.foodReceptor = brain.GetNucleus("Food Receptor") as Neuron;
+ this.homeReceptor = brain.GetNucleus("Home Receptor") as Neuron;
this.pheromoneSteering = brain.GetNucleus("Pheromone Steering");
//--- brain outputs
@@ -190,10 +190,10 @@ namespace CreatureControl {
Vector3 smell = smellDirection.normalized * intensity;
switch (pheromone.type) {
case Pheromone.Type.Food:
- foodReceptor?.ProcessStimulus(smellDirection.normalized * intensity, pheromone.GetInstanceID(), "food pheromone");
+ foodReceptor?.ProcessStimulus(smellDirection.normalized * intensity); //, pheromone.GetInstanceID(), "food pheromone");
break;
case Pheromone.Type.Home:
- homeReceptor?.ProcessStimulus(smellDirection.normalized * intensity, pheromone.GetInstanceID(), "home pheromone");
+ homeReceptor?.ProcessStimulus(smellDirection.normalized * intensity); //, pheromone.GetInstanceID(), "home pheromone");
break;
}
//Debug.DrawLine(this.transform.position, pheromone.transform.position, Color.magenta);
@@ -214,7 +214,7 @@ namespace CreatureControl {
float angle = Vector3.Angle(Vector3.forward, smellDirection);
if (angle < smellAngle && distance > 0.01) {
float intensity = food.StrengthAt(distance);
- foodReceptor?.ProcessStimulus(smellDirection.normalized * intensity, food.GetInstanceID(), "food");
+ foodReceptor?.ProcessStimulus(smellDirection.normalized * intensity); //, food.GetInstanceID(), "food");
Debug.DrawLine(this.transform.position, food.transform.position, Color.red);
}
}
@@ -234,7 +234,7 @@ namespace CreatureControl {
if (angle < smellAngle && distance > 0.01) {
float intensity = nest.StrengthAt(distance);
Vector3 value = smellDirection.normalized * intensity;
- homeReceptor?.ProcessStimulus(value, nest.GetInstanceID(), "nest");
+ homeReceptor?.ProcessStimulus(value); //, nest.GetInstanceID(), "nest");
Debug.DrawLine(this.transform.position, nest.transform.position, Color.red);
}
}
diff --git a/Samples/Brain/Foraging.asset b/Samples/Brain/Foraging.asset
index 25529d8..1a95a08 100644
--- a/Samples/Brain/Foraging.asset
+++ b/Samples/Brain/Foraging.asset
@@ -1,1179 +1,233 @@
-%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: 60a957541c24c57e78018c202ebb1d9b, type: 3}
- m_Name: Foraging
- m_EditorClassIdentifier: Assembly-CSharp::ClusterPrefab
- nuclei:
- - rid: 5479437209301418101
- - rid: 5479437233826299911
- - rid: 5479437233826299913
- - rid: 5479437301218279525
- - rid: 5479437301218279531
- - rid: 5479437301218279533
- - rid: 5479437301218279535
- - rid: 5479437321628549179
- - rid: 5479437321628549183
- - rid: 5479437321628549189
- - rid: 5479437344462864575
- - rid: 5479437344462864598
- - rid: 5479437349790417078
- - rid: 5479437349790417080
- - rid: 5479437349790417084
- - rid: 5479437349790417088
- - rid: 2262690603760877647
- - rid: 2262690603760877698
- - rid: 2262690603760877722
- - rid: 2262690603760877723
- - rid: 2262690603760877724
- - rid: 2262690603760877753
- - rid: 2262690603760877783
- - rid: 2262690603760877784
- - rid: 2262690603760877785
- - rid: 2262690603760877786
- references:
- version: 2
- RefIds:
- - rid: -2
- type: {class: , ns: NanoBrain, asm: }
- - rid: 2262690603760877647
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Food Receptor
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877783
- _array:
- rid: 2262690603760877648
- - rid: 2262690603760877648
- type: {class: NucleusArray, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- _nuclei:
- - rid: 2262690603760877647
- - rid: 2262690603760877784
- - rid: 2262690603760877785
- - rid: 2262690603760877786
- - rid: 2262690603760877698
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Home Receptor
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877753
- _array:
- rid: 2262690603760877699
- - rid: 2262690603760877699
- type: {class: NucleusArray, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- _nuclei:
- - rid: 2262690603760877698
- - rid: 2262690603760877722
- - rid: 2262690603760877723
- - rid: 2262690603760877724
- - rid: 2262690603760877722
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: 'Home Receptor: 1'
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877753
- _array:
- rid: 2262690603760877699
- - rid: 2262690603760877723
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: 'Home Receptor: 2'
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877753
- _array:
- rid: 2262690603760877699
- - rid: 2262690603760877724
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: 'Home Receptor: 3'
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877753
- _array:
- rid: 2262690603760877699
- - rid: 2262690603760877753
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Home Smell
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses:
- - neuron:
- rid: 2262690603760877698
- weight: 1
- - neuron:
- rid: 2262690603760877722
- weight: 1
- - neuron:
- rid: 2262690603760877723
- weight: 1
- - neuron:
- rid: 2262690603760877724
- weight: 1
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437349790417084
- - rid: 2262690603760877783
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Food Smell
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses:
- - neuron:
- rid: 2262690603760877647
- weight: 1
- - neuron:
- rid: 2262690603760877784
- weight: 1
- - neuron:
- rid: 2262690603760877785
- weight: 1
- - neuron:
- rid: 2262690603760877786
- weight: 1
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437349790417078
- - rid: 2262690603760877784
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: 'Food Receptor: 1'
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877783
- _array:
- rid: 2262690603760877648
- - rid: 2262690603760877785
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: 'Food Receptor: 2'
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877783
- _array:
- rid: 2262690603760877648
- - rid: 2262690603760877786
- type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: 'Food Receptor: 3'
- clusterPrefab: {fileID: 11400000}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 2262690603760877783
- _array:
- rid: 2262690603760877648
- - rid: 5479437209301418101
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Output
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses:
- - neuron:
- rid: 5479437344462864575
- weight: 4
- - neuron:
- rid: 5479437344462864598
- weight: 1
- - neuron:
- rid: 5479437349790417078
- weight: 1
- - neuron:
- rid: 5479437349790417084
- weight: 1
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers: []
- - rid: 5479437233826299911
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Hit Left
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437344462864575
- - rid: 5479437301218279533
- - rid: 5479437233826299913
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Hit Right
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437344462864575
- - rid: 5479437301218279533
- - rid: 5479437301218279525
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Home Pheromones
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0.5, y: 0.5, z: 0.5}
- _synapses:
- - neuron:
- rid: 5479437301218279531
- weight: 1
- - neuron:
- rid: 5479437321628549179
- weight: 1
- combinator: 1
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers: []
- - rid: 5479437301218279531
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Beat
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437301218279525
- - rid: 5479437301218279535
- - rid: 5479437301218279533
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Mouth
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses:
- - neuron:
- rid: 5479437233826299911
- weight: 1
- - neuron:
- rid: 5479437233826299913
- weight: 1
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers: []
- - rid: 5479437301218279535
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Food Pheromones
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 1, y: 1, z: 1}
- _synapses:
- - neuron:
- rid: 5479437301218279531
- weight: 1
- - neuron:
- rid: 5479437321628549183
- weight: 1
- combinator: 1
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers: []
- - rid: 5479437321628549179
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Looking for food
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0.5, y: 0.5, z: 0.5}
- _synapses:
- - neuron:
- rid: 5479437321628549189
- weight: -0.5
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437301218279525
- - rid: 5479437321628549183
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Going home
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0.5, y: 0.5, z: 0.5}
- _synapses:
- - neuron:
- rid: 5479437321628549189
- weight: 0.5
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437301218279535
- - rid: 5479437321628549189
- type: {class: MemoryCell, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Having Food
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437321628549179
- - rid: 5479437321628549183
- - rid: 5479437349790417088
- - rid: 5479437349790417080
- staticMemory: 1
- - rid: 5479437344462864575
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Collision Steering
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses:
- - neuron:
- rid: 5479437233826299911
- weight: -1
- - neuron:
- rid: 5479437233826299913
- weight: -1
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437209301418101
- - rid: 5479437344462864598
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Pheromone Steering
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0, y: 0, z: 0}
- _synapses: []
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437209301418101
- - rid: 5479437349790417078
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Food steering
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 1, y: 1, z: 1}
- _synapses:
- - neuron:
- rid: 5479437349790417080
- weight: 1
- - neuron:
- rid: 2262690603760877783
- weight: 1
- combinator: 1
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437209301418101
- - rid: 5479437349790417080
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Have no food
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0.5, y: 0.5, z: 0.5}
- _synapses:
- - neuron:
- rid: 5479437321628549189
- weight: -0.5
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437349790417078
- - rid: 5479437349790417084
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Home steering
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 1, y: 1, z: 1}
- _synapses:
- - neuron:
- rid: 5479437349790417088
- weight: 1
- - neuron:
- rid: 2262690603760877753
- weight: 1
- combinator: 1
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437209301418101
- - rid: 5479437349790417088
- type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
- data:
- name: Have Food
- clusterPrefab: {fileID: 0}
- parent:
- rid: -2
- trace: 0
- bias: {x: 0.5, y: 0.5, z: 0.5}
- _synapses:
- - neuron:
- rid: 5479437321628549189
- weight: 0.5
- combinator: 0
- _curvePreset: 0
- curve:
- serializedVersion: 2
- m_Curve:
- - serializedVersion: 3
- time: 0
- value: 0
- inSlope: 0
- outSlope: 1
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- - serializedVersion: 3
- time: 1000
- value: 1000
- inSlope: 1
- outSlope: 0
- tangentMode: 0
- weightedMode: 0
- inWeight: 0
- outWeight: 0
- m_PreInfinity: 2
- m_PostInfinity: 2
- m_RotationOrder: 4
- curveMax: 1
- _receivers:
- - rid: 5479437349790417084
+%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: 60a957541c24c57e78018c202ebb1d9b, type: 3}
+ m_Name: Foraging
+ m_EditorClassIdentifier:
+ nuclei:
+ - rid: 2642584373999960064
+ - rid: 2642584373999960065
+ references:
+ version: 2
+ RefIds:
+ - rid: -2
+ type: {class: , ns: , asm: }
+ - rid: 2642584373999960064
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Output
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve: []
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
+ - rid: 2642584373999960065
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Collision Steering
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2642584373999960066
+ - rid: 2642584373999960068
+ - rid: 2642584373999960066
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Output
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: 2642584373999960067
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses:
+ - neuron:
+ rid: 2642584373999960065
+ weight: 1
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
+ - rid: 2642584373999960067
+ type: {class: Cluster, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Foraging
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ prefab: {fileID: 11400000}
+ siblingClusters: []
+ instanceCount: 1
+ clusterNuclei:
+ - rid: 2642584373999960066
+ - rid: 2642584373999960068
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Output
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: 2642584373999960069
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses:
+ - neuron:
+ rid: 2642584373999960065
+ weight: 1
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
+ - rid: 2642584373999960069
+ type: {class: Cluster, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Foraging
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ prefab: {fileID: 11400000}
+ siblingClusters: []
+ instanceCount: 1
+ clusterNuclei:
+ - rid: 2642584373999960068
+ - rid: 2642584373999960070
+ - rid: 2642584373999960070
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Collision Steering
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: 2642584373999960069
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
diff --git a/Samples/Brain/Foraging.asset.meta b/Samples/Brain/Foraging.asset.meta
index 34f9027..cc22036 100644
--- a/Samples/Brain/Foraging.asset.meta
+++ b/Samples/Brain/Foraging.asset.meta
@@ -1,8 +1,8 @@
fileFormatVersion: 2
-guid: 0f7345a3a2017e01383b1d8392b40304
+guid: 81292defec7ff5278a48a5d154659d00
NativeFormatImporter:
externalObjects: {}
- mainObjectFileID: 0
+ mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Samples/Brain/Foraging_old.asset b/Samples/Brain/Foraging_old.asset
new file mode 100644
index 0000000..cc32b51
--- /dev/null
+++ b/Samples/Brain/Foraging_old.asset
@@ -0,0 +1,1179 @@
+%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: 60a957541c24c57e78018c202ebb1d9b, type: 3}
+ m_Name: Foraging_old
+ m_EditorClassIdentifier: Assembly-CSharp::ClusterPrefab
+ nuclei:
+ - rid: 5479437209301418101
+ - rid: 5479437233826299911
+ - rid: 5479437233826299913
+ - rid: 5479437301218279525
+ - rid: 5479437301218279531
+ - rid: 5479437301218279533
+ - rid: 5479437301218279535
+ - rid: 5479437321628549179
+ - rid: 5479437321628549183
+ - rid: 5479437321628549189
+ - rid: 5479437344462864575
+ - rid: 5479437344462864598
+ - rid: 5479437349790417078
+ - rid: 5479437349790417080
+ - rid: 5479437349790417084
+ - rid: 5479437349790417088
+ - rid: 2262690603760877647
+ - rid: 2262690603760877698
+ - rid: 2262690603760877722
+ - rid: 2262690603760877723
+ - rid: 2262690603760877724
+ - rid: 2262690603760877753
+ - rid: 2262690603760877783
+ - rid: 2262690603760877784
+ - rid: 2262690603760877785
+ - rid: 2262690603760877786
+ references:
+ version: 2
+ RefIds:
+ - rid: -2
+ type: {class: , ns: NanoBrain, asm: }
+ - rid: 2262690603760877647
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Food Receptor
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877783
+ _array:
+ rid: 2262690603760877648
+ - rid: 2262690603760877648
+ type: {class: NucleusArray, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ _nuclei:
+ - rid: 2262690603760877647
+ - rid: 2262690603760877784
+ - rid: 2262690603760877785
+ - rid: 2262690603760877786
+ - rid: 2262690603760877698
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Home Receptor
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877753
+ _array:
+ rid: 2262690603760877699
+ - rid: 2262690603760877699
+ type: {class: NucleusArray, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ _nuclei:
+ - rid: 2262690603760877698
+ - rid: 2262690603760877722
+ - rid: 2262690603760877723
+ - rid: 2262690603760877724
+ - rid: 2262690603760877722
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: 'Home Receptor: 1'
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877753
+ _array:
+ rid: 2262690603760877699
+ - rid: 2262690603760877723
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: 'Home Receptor: 2'
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877753
+ _array:
+ rid: 2262690603760877699
+ - rid: 2262690603760877724
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: 'Home Receptor: 3'
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877753
+ _array:
+ rid: 2262690603760877699
+ - rid: 2262690603760877753
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Home Smell
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses:
+ - neuron:
+ rid: 2262690603760877698
+ weight: 1
+ - neuron:
+ rid: 2262690603760877722
+ weight: 1
+ - neuron:
+ rid: 2262690603760877723
+ weight: 1
+ - neuron:
+ rid: 2262690603760877724
+ weight: 1
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437349790417084
+ - rid: 2262690603760877783
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Food Smell
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses:
+ - neuron:
+ rid: 2262690603760877647
+ weight: 1
+ - neuron:
+ rid: 2262690603760877784
+ weight: 1
+ - neuron:
+ rid: 2262690603760877785
+ weight: 1
+ - neuron:
+ rid: 2262690603760877786
+ weight: 1
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437349790417078
+ - rid: 2262690603760877784
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: 'Food Receptor: 1'
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877783
+ _array:
+ rid: 2262690603760877648
+ - rid: 2262690603760877785
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: 'Food Receptor: 2'
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877783
+ _array:
+ rid: 2262690603760877648
+ - rid: 2262690603760877786
+ type: {class: Receptor, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: 'Food Receptor: 3'
+ clusterPrefab: {fileID: 11400000}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 2262690603760877783
+ _array:
+ rid: 2262690603760877648
+ - rid: 5479437209301418101
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Output
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses:
+ - neuron:
+ rid: 5479437344462864575
+ weight: 4
+ - neuron:
+ rid: 5479437344462864598
+ weight: 1
+ - neuron:
+ rid: 5479437349790417078
+ weight: 1
+ - neuron:
+ rid: 5479437349790417084
+ weight: 1
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
+ - rid: 5479437233826299911
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Hit Left
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437344462864575
+ - rid: 5479437301218279533
+ - rid: 5479437233826299913
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Hit Right
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437344462864575
+ - rid: 5479437301218279533
+ - rid: 5479437301218279525
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Home Pheromones
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0.5, y: 0.5, z: 0.5}
+ _synapses:
+ - neuron:
+ rid: 5479437301218279531
+ weight: 1
+ - neuron:
+ rid: 5479437321628549179
+ weight: 1
+ combinator: 1
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
+ - rid: 5479437301218279531
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Beat
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437301218279525
+ - rid: 5479437301218279535
+ - rid: 5479437301218279533
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Mouth
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses:
+ - neuron:
+ rid: 5479437233826299911
+ weight: 1
+ - neuron:
+ rid: 5479437233826299913
+ weight: 1
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
+ - rid: 5479437301218279535
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Food Pheromones
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 1, y: 1, z: 1}
+ _synapses:
+ - neuron:
+ rid: 5479437301218279531
+ weight: 1
+ - neuron:
+ rid: 5479437321628549183
+ weight: 1
+ combinator: 1
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers: []
+ - rid: 5479437321628549179
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Looking for food
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0.5, y: 0.5, z: 0.5}
+ _synapses:
+ - neuron:
+ rid: 5479437321628549189
+ weight: -0.5
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437301218279525
+ - rid: 5479437321628549183
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Going home
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0.5, y: 0.5, z: 0.5}
+ _synapses:
+ - neuron:
+ rid: 5479437321628549189
+ weight: 0.5
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437301218279535
+ - rid: 5479437321628549189
+ type: {class: MemoryCell, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Having Food
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437321628549179
+ - rid: 5479437321628549183
+ - rid: 5479437349790417088
+ - rid: 5479437349790417080
+ staticMemory: 1
+ - rid: 5479437344462864575
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Collision Steering
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses:
+ - neuron:
+ rid: 5479437233826299911
+ weight: -1
+ - neuron:
+ rid: 5479437233826299913
+ weight: -1
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437209301418101
+ - rid: 5479437344462864598
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Pheromone Steering
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0, y: 0, z: 0}
+ _synapses: []
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437209301418101
+ - rid: 5479437349790417078
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Food steering
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 1, y: 1, z: 1}
+ _synapses:
+ - neuron:
+ rid: 5479437349790417080
+ weight: 1
+ - neuron:
+ rid: 2262690603760877783
+ weight: 1
+ combinator: 1
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437209301418101
+ - rid: 5479437349790417080
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Have no food
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0.5, y: 0.5, z: 0.5}
+ _synapses:
+ - neuron:
+ rid: 5479437321628549189
+ weight: -0.5
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437349790417078
+ - rid: 5479437349790417084
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Home steering
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 1, y: 1, z: 1}
+ _synapses:
+ - neuron:
+ rid: 5479437349790417088
+ weight: 1
+ - neuron:
+ rid: 2262690603760877753
+ weight: 1
+ combinator: 1
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437209301418101
+ - rid: 5479437349790417088
+ type: {class: Neuron, ns: NanoBrain, asm: Assembly-CSharp}
+ data:
+ name: Have Food
+ clusterPrefab: {fileID: 0}
+ parent:
+ rid: -2
+ trace: 0
+ bias: {x: 0.5, y: 0.5, z: 0.5}
+ _synapses:
+ - neuron:
+ rid: 5479437321628549189
+ weight: 0.5
+ combinator: 0
+ _curvePreset: 0
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 1
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1000
+ value: 1000
+ inSlope: 1
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ curveMax: 1
+ _receivers:
+ - rid: 5479437349790417084
diff --git a/Samples/Brain/Foraging_old.asset.meta b/Samples/Brain/Foraging_old.asset.meta
new file mode 100644
index 0000000..34f9027
--- /dev/null
+++ b/Samples/Brain/Foraging_old.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0f7345a3a2017e01383b1d8392b40304
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant: