Pomoc sterowanie dwoma osobnymi obiektami w Unity 3D

0

Nie będę ukrywać, że z Unity nie mam dużo wspólnego, ale robię projekt do szkoły i potrzebuję pomocy. Muszę zrobić dwa osobne obiekty, którymi będzie się osobno sterować. Albo na ekranie będą się wyświetlać strzałki do jednego i do drugiego obiektu, albo jeden będzie sterowany strzałkami na klawiaturze, a drugi WSAD. Dziękuję z góry za każdą pomoc w tym jak to zrobić

1

Tworzysz dwa skrypty, jeden dla jednego obiektu, drugi dla drugiego.
(wrzucasz je na te gameObjecty, przez addComponent w inspectorze lub przeciągając skrypt na gameObject)
W skrypcie, w update:

if (Input.GetKey(KeyCode.W))
  transform.position += Vector3.up * Time.deltaTime;
if (Input.GetKey(KeyCode.S))
  transform.position += Vector3.down * Time.deltaTime;
if (Input.GetKey(KeyCode.A))
  transform.position += Vector3.right * Time.deltaTime;
if (Input.GetKey(KeyCode.D))
  transform.position += Vector3.left * Time.deltaTime;

w drugim skrypcie to samo, tylko zmieniasz KeyCode.W/S/A/D na KeyCode.UpArrow/RightArrow itd.
jak przemnożysz obok Time.deltaTime jeszcze przez dajmy *10.0f, to będzie szybciej, jak przez 0.1f to będzie wolniej

1

@Boski: Tak jest najprościej.

Ale jeśli sterowanie obiektami jest takie same, to fajniej by było to zrobić jednym skryptem, któremu w edytorze tylko zmieniamy przypisane klawisze dla poszczególnych instancji.

W nowym InputSystem, pole typu InputAction.
https://docs.unity3d.com/Packages/[email protected]/api/UnityEngine.InputSystem.InputAction.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1