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: