All quarks and seaquarks are charged with either a +2/3 or -1/3 electric charge before they are created
The charge can be modified in any script of type TypeQuark by two boolean values
- IsCharged tells Unity if the object has a charge or if it is uncharged (used by force probes)
- Charge tells Unity if the object has a +2/3 charge (true) or a -1/3 charge (false)
Quark has been modified to be an extension of TypeQuark to standardize all quarks and make EM calculations easier to understand
The new QuarkPair script is used by individual quarks contained within seaquarks and is also an extension of TypeQuark
Force probes have also been added to calculate the EM force at any point placed via the Unity editor and cannot contribute to EM forces
The force probe prefab can be accessed under Prefabs > Models
Charged TypeQuark particles contribute to EM fields within the proton
All calculations are handled by the proton in the script EMField
Several variables have also been added to modify EM calculations and each have associated tooltips to tell you more about them
- U0 Pi is the physics constant for the permittivity of free space divided by 4 pi (1E-7) used in the magnetic field calculation
- K is the electric k constant used in the electric field calculation
- Scale scales down the size of the proton down to around the actual size of the proton
- C Scale converts the charges to Coulombs
- V Scale increases the power velocity contributes to the magnetic field calculation (velocity^2)
- Strength multiplies the total force calculated (F = strength * (F from E + F from B))
- Sea Strength modifies the strength EM fields contribute to non-physics based quarks (Broken)
- Fast field skips magnetic field calculations (Should only be used if magnetic field calculations are close to 0)
- Physics Quarks enables non-physics based seaquarks (Broken)
- Sea Lines are unused and force lines for seaquarks are instead handled by the All Quark Script
- Cancel Threshold is the minimum distance (in-editor units) of which forces are not calculated between quarks to prevent /0 exceptions and will automatically cancel each other out if both quarks are seaquarks of opposite color types
The EMField script can be disabled from the editor without error if needed, including during runtime
A centripetal force is applied to all TypeQuark with a Rigidbody (accepts Physics calculations) towards the center of the proton at all times
The strength of this force can be modified by the Centripetal Force slider in the menu
The proton now requires a certain amount of energy before creating a new seaquark
Creating a new pair reduces the available energy by 1
Deleting a seaquark by reducing its HP to 0 will increase the available energy by 1
Seaquarks will also automatically be deleted if they reach 100 units away from the proton
A work in progress feature still being prototyped
This script will take 2 passes through each TypeQuark and assign either a spin up or spin down value based off of its angular momentum and the angular momentum of other TypeQuarks
Currently only works along the z-axis and spins cannot be in any direction other than up or down
Also currently attempts to sum spins to 0 instead of 1/2
Unlike EM, this has not yet been properly scaled
If enabled, the console will output some information on the calculated spin in 5 chunks separated by |'s:
- Total spin calculated via Σ(spin * angular momentum) = Σ(s * m(v x R)) (mass not yet multiplied)
- Number of quarks with spin up (# ^), and spin down (# v)
- Highest contributing quark to total
- Average total spin during runtime
- Greatest total spin during runtime
Can be disabled without error, including during runtime
Forcelines have been added to each TypeQuark to visualize the direction and strength of EM forces on the object
These forcelines can be disabled from the menu by pressing Toggle Lines
Quark visuals and color have been moved to TypeQuark
An FPS counter has also been added to the menu
A music player and track has been added in the Scene Hierarchy at the top
The track will be turned off by default and can be enabled by checking Auto Play before runtime