У меня есть доска в единстве3D, и у меня есть куб на борту. У платы есть текстура и смещение текстуры, меняющаяся по координате Y, поэтому кажется, что она движется назад. Куб должен двигаться также с той же скоростью, что и смещение платы, но я не мог установить между ними ту же скорость.Единство - скорость прокрутки текстуры с gameobject
Мой совет код пролистайте:
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));
}
}
И мой куб шаг Код:
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) ;
}
}
Так что мне нужно, чтобы переместить кубик с той же скоростью скорости смещения платы.
Вы прав, но пользователь сможет изменить переменные скорости в настройках игры. Таким образом, между ними должна быть идеальная скорость, иначе я не смогу найти ее глазами. –
Вам понадобится статическая переменная где-то, чтобы удерживать скорость, выбранную пользователем. Вы, холодный, умножаете обе скорости. В любом случае вам придется найти эту синхронизацию раньше. – glaubergft
Даже если вы указали скорость синхронизации раньше, если вы измените опциональную скорость, переменная синхронизации должна быть изменена, иначе мы снова увидим разницу. –