// Use this for initialization void Start() { if (!Observer) { Observer = Camera.main.gameObject; } Renderer r = GetComponent <Renderer>(); if (r != null) { mat = r.material; } if (mat != null) { if (mat.shader == Shader.Find("Relativity/Relativity_Shader")) { shaderMat = true; } } observer_script = Observer.GetComponent <Relativity_Observer>(); MR = GetComponent <SkinnedMeshRenderer>(); if (MR) { MR.updateWhenOffscreen = true; } v = RelVelAdd(new Vector3(0.213f, 0.874f, 0) * 0.655f, new Vector3(-0.353f, 0.497f, 0) * 0.61f); b = v.magnitude; v = v.normalized; }
// Use this for initialization void Start() { if (!Observer) { Observer = Camera.main.gameObject; } Renderer r = GetComponent <Renderer>(); if (r != null) { mat = r.material; } if (mat != null) { if (mat.shader == Shader.Find("Relativity/Relativity_Shader")) { shaderMat = true; } } observer_script = Observer.GetComponent <Relativity_Observer>(); MR = GetComponent <SkinnedMeshRenderer>(); if (MR) { MR.updateWhenOffscreen = true; } }
void Start() { observerScript = Observer.GetComponent <Relativity_Observer>(); //plane = GameObject.CreatePrimitive(PrimitiveType.Plane); //plane.name = name + " Simultaneity Plane"; sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.name = name + " Observer Representation"; }
// Use this for initialization void Start() { obs = Observer.GetComponent <Relativity_Observer>(); //coordinateTimeStart = obs.CoordinateTime; lr = GetComponent <LineRenderer>(); rb = GetComponent <Relativity_Rigidbody>(); rb.Observer = Observer; }
// Use this for initialization void Start() { obs = Observer.GetComponent <Relativity_Observer>(); GameObject[] objects = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[]; charges = new List <Relativity_ChargedObject>(); foreach (GameObject obj in objects) { if (obj.GetComponent <Relativity_ChargedObject>() != null && obj.transform != transform) { charges.Add(obj.GetComponent <Relativity_ChargedObject>()); } } thisCharge = GetComponent <Relativity_ChargedObject>(); }
void Start() { if (velocity.magnitude >= 1) { velocity = velocity.normalized * (0.9999999f); } obs = Observer.GetComponent <Relativity_Observer>(); CoordinateTime = obs.CoordinateTime; Vector3 u = velocity; Vector3 v = obs.velocity; if (v.magnitude >= 1) { v = v.normalized * (0.9999999f); } if (u != v) { relativeVelocity = Mathf.Sqrt(1 - ((1 - Mathf.Pow(u.magnitude, 2)) * (1 - Mathf.Pow(v.magnitude, 2))) / Mathf.Pow(1 - Vector3.Dot(u, v), 2)) * (u - v).normalized; } else { relativeVelocity = Vector3.zero; } if (relativeVelocity.magnitude >= 1) { relativeVelocity = relativeVelocity.normalized * (0.9999999f); } γ = 1f / Mathf.Sqrt(1 - relativeVelocity.sqrMagnitude); startingPosition = new Vector4((float)CoordinateTime, (transform.position - Observer.transform.position).x, (transform.position - Observer.transform.position).y, (transform.position - Observer.transform.position).z); scaler = new GameObject(); scaler.name = name; scaler.transform.position = Observer.transform.position; scaler.transform.LookAt(Observer.transform.position + relativeVelocity); transform.parent = scaler.transform; scaler.transform.localScale = new Vector3(1, 1, 1f / γ); boost = LorentzBoost(relativeVelocity.x, relativeVelocity.y, relativeVelocity.z); //if (u != v) // startingPosition = (Vector4)boost.MultiplyVector(startingPosition); }
void Start() { if (Velocity.magnitude >= 0.9999999f) { Velocity = Velocity.normalized * (0.9999999f); } observer_script = Observer.GetComponent <Relativity_Observer>(); coordinate_time = observer_script.CoordinateTime; scaler = new GameObject(); scaler.name = name + " - Scaler"; rotater = new GameObject(); rotater.name = name + " - Rotater"; proper_starting_event = CombineTemporalAndSpacial(-(float)Proper_Time_Offset, transform.position); //mat = GetComponent<Renderer>().material; //if (mat.shader == Shader.Find("Relativity/Relativity_Shader")) // shaderMat = true; }