Ich habe ein Board in Unity3D und ich habe einen Würfel an Bord. Das Board hat Textur- und Textur-Offset, die sich um die Y-Koordinate ändern, so dass es sich nach rückwärts zu bewegen scheint. Cube sollte sich auch mit der gleichen Geschwindigkeit bewegen wie der Offset des Boards, aber ich konnte nicht die gleiche Geschwindigkeit zwischen ihnen einstellen.Einheit - Textur Scroll-Geschwindigkeit mit Spielobjekt
My Board Scroll-Code:
public class moveBoard : MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
this.GetComponent<MeshRenderer>().material.SetTextureOffset("_MainTex", new Vector2(0, -1 * Time.time));
}
}
Und mein Würfel verschieben Code:
public class moveTus : MonoBehaviour
{
public GameObject board;
float offsetY = 0f;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
this.transform.Translate(Vector3.back * -10 * Time.deltaTime) ;
}
}
Also muss ich den Würfel mit der gleichen Geschwindigkeit des Boards versetzt Geschwindigkeit bewegen.
Sie sind wahr, aber der Benutzer kann Geschwindigkeitsvariablen in Spieloptionen ändern. Also sollte es eine perfekte Rate zwischen ihnen geben, sonst kann ich es nicht mit meinen Augen finden. –
Sie benötigen irgendwo eine statische Variable, um die vom Benutzer gewählte Geschwindigkeit zu halten. Sie kalt multiplizieren beide Geschwindigkeiten damit. Wie auch immer, du musst diese Synchronisation vorher finden. – glaubergft
Auch wenn Sie zuvor eine Synchronisationsgeschwindigkeit gefunden haben, muss die Synchronisationsvariable geändert werden, wenn Sie die wählbare Geschwindigkeit ändern. Andernfalls werden wir den Unterschied wieder sehen. –