This commit is contained in:
2018-11-10 23:54:58 +01:00
parent cbe7b00b3a
commit 057b2475b2
4 changed files with 341817 additions and 609 deletions
+1 -1
View File
@@ -131,7 +131,7 @@ public class Foot : Component
RotateY();
RotateZ();*/
// Z and X is working. Y has problems when combined with others.
// the order of these rotation transformations is important!!!
Vector3 v = new Vector3((float)X, (float)Y, (float)Z);
v = Quaternion.Euler((float)0, (float)rotationY, (float)0) * v;
v = Quaternion.Euler((float)rotationX, (float)0, (float)0) * v;
+2 -2
View File
@@ -16,7 +16,7 @@ public class Leg : MonoBehaviour {
public bool invert = false;
public double translateX = 5;
public double translateX = 0;
public double translateY = 0;
public double translateZ = 0;
@@ -31,7 +31,7 @@ public class Leg : MonoBehaviour {
}
// Update is called once per frame
void Update()
public void FixedUpdate()
{
foot.X = point.x;
foot.Y = point.y;
+341754 -576
View File
File diff suppressed because it is too large Load Diff
+60 -30
View File
@@ -8,14 +8,16 @@ public class RotationControl : MonoBehaviour
public List<GameObject> rotation2 = new List<GameObject>();
public GameObject body;
public double min = -15;
public double max = 15;
public float min = -15;
public float max = 15;
public float speed = 0.3f;
public float speed2 = 0.3f;
public float speed3 = 0.3f;
bool dir = false;
bool dir2 = false;
bool dir3 = false;
public bool dir = false;
public bool dir2 = false;
public bool dir3 = false;
public bool p = false, r = false, y = false;
// Use this for initialization
void Start ()
@@ -23,40 +25,68 @@ public class RotationControl : MonoBehaviour
}
// Update is called once per frame
void Update()
void FixedUpdate()
{
if (!dir2 && rotation.x < max)
rotation.x += speed2;
else if (!dir2)
dir2 = !dir2;
else if (dir2 && rotation.x > min)
rotation.x -= speed2;
else if (dir2)
dir2 = !dir2;
if (p)
{
if (!dir2 && rotation.x < max)
rotation.x += speed2;
else if (!dir2)
{
dir2 = !dir2;
rotation.x = (float)max;
}
else if (dir2 && rotation.x > min)
rotation.x -= speed2;
else if (dir2)
{
dir2 = !dir2;
rotation.x = (float)min;
}
}
if (!dir3 && rotation.y < max)
rotation.y += speed3;
else if (!dir3)
dir3 = !dir3;
else if (dir3 && rotation.y > min)
rotation.y -= speed3;
else if (dir3)
dir3 = !dir3;
if (r)
{
if (!dir3 && rotation.y < max)
rotation.y += speed3;
else if (!dir3)
{
dir3 = !dir3;
rotation.y = (float)max;
}
else if (dir3 && rotation.y > min)
rotation.y -= speed3;
else if (dir3)
{
dir3 = !dir3;
rotation.y = (float)min;
}
}
if (!dir && rotation.z < max)
rotation.z += speed;
else if (!dir)
dir = !dir;
else if (dir && rotation.z > min)
rotation.z -= speed;
else if (dir)
dir = !dir;
if (y)
{
if (!dir && rotation.z < max)
rotation.z += speed;
else if (!dir)
{
dir = !dir;
rotation.z = (float)max;
}
else if (dir && rotation.z > min)
rotation.z -= speed;
else if (dir)
{
dir = !dir;
rotation.z = (float)min;
}
}
body.transform.eulerAngles = new Vector3(rotation.x*-1, rotation.y*-1, rotation.z*-1);
for (int index = 0; index < rotation2.Count; ++index)
{
rotation2[index].GetComponent<Leg>().rotation = rotation;
rotation2[index].GetComponent<Leg>().FixedUpdate();
}
}
}