The most recent set of neurons and their documentation can be found in the application itself.
In GUI, go to Parameters → Genetics → Neurons to add and hover the mouse over the neuron name.
N (Neuron) Standard neuron |
supports any number of inputs provides output value does not require location in body Properties: Inertia (in) float 0..1 (default 0.8) Force (fo) float 0..999 (default 0.04) Sigmoid (si) float -99999..99999 (default 2) State (s) float -1..1 (default 0) |
G (Gyroscope) Tilt sensor. |
does not use inputs provides output value should be located on a Joint |
Gpart (Part Gyroscope) Tilt sensor. Signal is directly proportional to the tilt angle. |
does not use inputs provides output value should be located on a Part Properties: rotation.y (ry) float -6.282..6.282 (default 0) rotation.z (rz) float -6.282..6.282 (default 0) |
T (Touch) Touch and proximity sensor (Tcontact and Tproximity combined) |
does not use inputs provides output value should be located on a Part Properties: Range (r) float 0..1 (default 1) rotation.y (ry) float -6.282..6.282 (default 0) rotation.z (rz) float -6.282..6.282 (default 0) |
Tcontact (Touch contact) Touch sensor. |
does not use inputs provides output value should be located on a Part |
Tproximity (Touch proximity) Proximity sensor detecting obstacles along the X axis. |
does not use inputs provides output value should be located on a Part Properties: Range (r) float 0..1 (default 1) rotation.y (ry) float -6.282..6.282 (default 0) rotation.z (rz) float -6.282..6.282 (default 0) |
S (Smell) Smell sensor. Aggregated "smell of energy" experienced from all energy objects (creatures and food pieces). |
does not use inputs provides output value should be located on a Part |
* (Constant) Constant value |
does not use inputs provides output value does not require location in body |
| (Bend muscle) |
uses single input does not provide output value should be located on a Joint Properties: power (p) float 0.01..1 (default 0.25) bending range (r) float 0..1 (default 1) |
@ (Rotation muscle) |
uses single input does not provide output value should be located on a Joint Properties: power (p) float 0.01..1 (default 1) |
M (Muscle for solids) |
uses single input does not provide output value should be located on a Joint Properties: power (p) float 0.01..1 (default 1) axis (a) integer 0..1 (default 0) |
D (Differentiate) Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights |
supports any number of inputs provides output value does not require location in body |
Water (Water detector) Output signal: |
does not use inputs provides output value should be located on a Part |
Energy (Energy level) The current energy level divided by the initial energy level. |
does not use inputs provides output value does not require location in body |
Ch (Channelize) Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel. |
supports any number of inputs provides output value does not require location in body |
ChMux (Channel multiplexer) Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (–1=select first channel, .., 1=last channel) |
uses 2 inputs provides output value does not require location in body |
ChSel (Channel selector) Outputs a single channel (selected by the "ch" parameter) from multichannel input |
uses single input provides output value does not require location in body Properties: channel (ch) integer |
Rnd (Random noise) Generates random noise (subsequent random values in the range of –1..+1) |
does not use inputs provides output value does not require location in body |
Sin (Sinus generator) Output frequency = f0+input |
uses single input provides output value does not require location in body Properties: base frequency (f0) float -1..1 (default 0.0628319) time (t) float 0..6.28319 (default 0) |
Delay (Delay) |
supports any number of inputs provides output value does not require location in body Properties: delay time (in steps) (t) integer 1..1000 (default 1) |
Light (Light) |
supports any number of inputs does not provide output value should be located on a Part Properties: (flavor) float 0..4 (default 0) |
Nn (Noisy neuron) Propagates weighted inputs onto the output, but occasionally generates a random value |
supports any number of inputs provides output value does not require location in body Properties: Error rate (e) float 0..0.1 |
SeeLight (Light receptor) |
does not use inputs provides output value should be located on a Part Properties: (flavor) float 0..4 (default 0) |
SeeLight2 (Light receptor 2) Returns the average signal intensity of all nearby transmitters. Unlike "SeeLight", signals do not attenuate over distance (however, the maximal signal distance is limited by the "range" parameter). |
does not use inputs provides output value should be located on a Part Properties: (range) float 0..100 (default 10) |
S0 (Smell group 0) Detects only energy from group #0 |
does not use inputs provides output value should be located on a Part |
S1 (Smell group 1) Detects only energy from group #1 (in many experiments group #1 contains food) |
does not use inputs provides output value should be located on a Part |
Thr (Threshold) if (input>=t) then output=hi else output=lo |
supports any number of inputs provides output value does not require location in body Properties: Threshold (t) float Low output value (lo) float High output value (hi) float |
Experimental neurons
Do not use unless you know what you are doing. Some of these neurons may be unstable, many are used for special purposes.
Nu (Unipolar neuron [EXPERIMENTAL!]) Works like standard neuron (N) but the output value is scaled to 0...+1 instead of –1...+1. |
supports any number of inputs provides output value does not require location in body Properties: Inertia (in) float 0..1 (default 0.8) Force (fo) float 0..999 (default 0.04) Sigmoid (si) float -99999..99999 (default 2) State (s) float -1..1 (default 0) |
Fuzzy (Fuzzy system [EXPERIMENTAL!]) Refer to publications to learn more about this neuron. |
supports any number of inputs provides output value does not require location in body Properties: number of fuzzy sets (ns) integer number of rules (nr) integer fuzzy sets (fs) string (default "") fuzzy rules (fr) string (default "") |
VEye (Vector Eye [EXPERIMENTAL!]) Refer to publications to learn more about this neuron. |
uses single input provides output value should be located on a Part Properties: target.x (tx) float target.y (ty) float target.z (tz) float target shape (ts) string (default "") perspective (p) float 0.1..10 (default 1) scale (s) float 0.1..100 (default 1) show hidden lines (h) integer 0..1 (default 0) output lines count (each line needs four channels) (o) integer 0..99 (default 0) debug (d) integer 0..1 (default 0) |
VMotor (Visual–Motor Cortex [EXPERIMENTAL!]) Must be connected to the VEye and properly set up. Refer to publications to learn more about this neuron. |
supports any number of inputs provides output value does not require location in body Properties: number of basic features (noIF) integer number of degrees of freedom (noDim) integer parameters (params) string |
Sti (Sticky [EXPERIMENTAL!]) |
uses single input does not provide output value should be located on a Part |
LMu (Linear muscle [EXPERIMENTAL!]) |
uses single input does not provide output value should be located on a Joint Properties: power (p) float 0.01..1 (default 1) |
PIDP (PID Positional [EXPERIMENTAL!]) PID Regulator (positional/full value form) |
uses single input provides output value does not require location in body Properties: K (k) float 0.01..100 Ti (ti) float 0.01..100 Td (td) float 0.01..100 |
PIDV (PID Velocity [EXPERIMENTAL!]) PID Regulator (velocity/incremental form) |
uses single input provides output value does not require location in body Properties: K (k) float 0.01..100 Ti (ti) float 0.01..100 Td (td) float 0.01..100 |