// Update is called once per frame void FixedUpdate() { //desired_angle = Vector3 vecToSun = CalculatedSolarDir(); Vector3 desiredSolarPanelDir = Vector3.ProjectOnPlane(vecToSun, transform.right); Vector3 desiredRotateDir = Vector3.ProjectOnPlane(vecToSun, transform.up); Debug.DrawRay(transform.position, desiredSolarPanelDir * 3, Color.magenta); Debug.DrawRay(transform.position, desiredRotateDir * 3, Color.green); //if (showParticles) //{ // AnimateThrusters(thrusterClockwise, true); // AnimateThrusters(thrusterCounterClockwise, true); //} //else //{ // AnimateThrusters(thrusterClockwise, false); // AnimateThrusters(thrusterCounterClockwise, false); //} //Debug.DrawRay(transform.position, (sun.position - transform.position).normalized * 5f, Color.white); //if (rotateClockwise) //{ // rgbd.AddRelativeTorque(transform.up, ForceMode.Acceleration); //} //else //{ // rgbd.AddRelativeTorque(-transform.up, ForceMode.Acceleration); //} if (!disableRotate) { HandleRotate(desiredRotateDir); } if (!disableSolarPanel) { HandleSolarPanels(desiredSolarPanelDir); } socket.FillSendBuffer <float>("actual_angle", Vector3.SignedAngle(transform.forward, Vector3.right, Vector3.up)); socket.FillSendBuffer <float>("desired_angle", Vector3.SignedAngle(desiredRotateDir, Vector3.right, Vector3.up)); socket.SendBuffer(); }