Witam,
chciałem zrobić obiekt którego rotacja będzie taka jak kierunek przesunięcia myszką.
Stworzyłem poniższy skrypt który działa, ale zamiast płynnego, obrót jest strasznie poszarpany, a zależy mi na idealnej płynności.
Czy wie ktoś jak to rozwiązać albo zrobić to inaczej?
Metody wywołałem za pomocą komponenty "Event Trigger". A najważniejszą metodę "Moved" z użyciem typu eventu "Drag".
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sterowanie : MonoBehaviour
{
public Transform kierunkowskaz1;
public Transform kierunkowskaz2;
public Transform player;
public bool zmiana;
public void Began()
{
kierunkowskaz1.position = Input.mousePosition;
}
public void Moved()
{
if(!zmiana)//0
{
if(zmiana)
{
zmiana = false;
}
else
{
zmiana = true;
}
kierunkowskaz2.position = Input.mousePosition;
kierunkowskaz1.transform.right = kierunkowskaz2.position - kierunkowskaz1.position;
player.localEulerAngles = kierunkowskaz1.localEulerAngles;
}
else//1
{
if(zmiana)
{
zmiana = false;
}
else
{
zmiana = true;
}
kierunkowskaz1.position = Input.mousePosition;
kierunkowskaz2.transform.right = kierunkowskaz1.position - kierunkowskaz2.position;
player.localEulerAngles = kierunkowskaz2.localEulerAngles;
}
}
public void Ended()
{
zmiana = false;
}
}