Potrzebuję stworzyć podstawowy ruch rękami taki jak np. tutaj http://www.gunswap.co/#
Wydaje mi się, że najprościej prowizoryczne ramię dołączyć jako child do jakiegoś punktu i ten punkt obracać wokół osi y/z.
void FixedUpdate()
{
yROT = rb.transform.eulerAngles.y;
if(throwMode)
{
zRotation();
yRotation();
rb.transform.Rotate(0f, rotYSpeed * Time.fixedDeltaTime, rotZSpeed * Time.fixedDeltaTime);
}
}
private void yRotation()
{
if (yTime < 0f)
{
rotYSpeed *= -1;
yTime = rotYtime;
}
yTime -= Time.fixedDeltaTime;
}
private void zRotation()
{
if (zTime < 0f)
{
rotZSpeed *= -1;
zTime = rotZtime;
}
zTime -= Time.fixedDeltaTime;
}
Coś takiego mam i działa na początku ok, ale zmienia się dość znacząco w miarę kolejnych iteracji całej "równoległobokowej ścieżki", mimo że cały czas dodaję tą samą rotacje w tych samych okresach czasu i teoretycznie koniec ramienia powinien zataczać taki równoległobok i się "znosić".