Blog Metlivi

Jak projektować podglądy rozmieszczenia mebli, które zapobiegają kolizjom i błędnemu ustawieniu

W grze o dekorowaniu podgląd mebla powinien przed potwierdzeniem odpowiedzieć na trzy pytania: gdzie mebel zostanie umieszczony, czy to miejsce jest dozwolone i co się stanie po obróceniu lub anulowaniu? Użyj ruchomego „ducha” mebla, sprawdzaj jego obrys w aktualnym położeniu i przy aktualnym obrocie, a gdy umieszczenie jest zablokowane, jasno podaj przyczynę. Wyświetlaj podgląd aż do potwierdzenia, a anulowanie powinno przenosić gracza z powrotem do pokoju bez umieszczania czegokolwiek. Ten poradnik skupia się na projektowaniu takiej interakcji z myślą o twórcach gier.

30 września 20266 min czytaniaAutor: Metlivi Editorial Team
Sekcja 1

Co powinien pokazywać podgląd?

Traktuj podgląd jako tymczasową wersję mebla, który zostanie umieszczony, a nie tylko znacznik kursora. Powinien pokazywać rozmiar i orientację mebla, punkt styku z podłogą lub powierzchnią podparcia oraz stan umieszczenia. Wytyczne projektowe Google ARCore zalecają wizualizowanie miejsca docelowego za pomocą obiektu lub jego cienia oraz przekazywanie na czas informacji o wykryciu powierzchni. Umieszczanie obiektów w AR podlega innym ograniczeniom niż w grze o dekorowaniu, ale obowiązuje ta sama zasada: gracze muszą widzieć, gdzie trafi mebel, zanim zatwierdzą jego umieszczenie. Wytyczne Google ARCore dotyczące umieszczania treści

Przydatny podgląd ma trzy czytelne stany: prawidłowy, nieprawidłowy i nierozstrzygnięty. Prawidłowy oznacza, że proponowane umieszczenie spełnia zasady gry. Nieprawidłowy oznacza naruszenie znanej zasady, na przykład nakładanie się na inny mebel lub brak odpowiedniej powierzchni podparcia. Nierozstrzygnięty oznacza, że gra nie może jeszcze wskazać prawidłowego miejsca docelowego, na przykład gdy kursor znajduje się nad ścianą podczas umieszczania mebla przeznaczonego na podłogę. Nie oznaczaj nierozstrzygniętego stanu jako prawidłowego tylko dlatego, że nie wykryto kolizji: „nie wykryto kolizji” i „można tu umieścić mebel” to różne wyniki.

Sekcja 2

Czym różni się prawidłowe umieszczenie od wykrywania kolizji?

Kolizja to tylko jeden z elementów decydujących o prawidłowości umieszczenia. Sofa może nie przecinać się z innym obiektem, a mimo to znajdować się poza pokojem, unosić nad podłogą, być skierowana w niedozwoloną stronę lub blokować przejście, zgodnie z zasadami gry. Zdefiniuj prawidłowość jako zestaw ograniczeń dla każdej kategorii mebli: dozwolona powierzchnia podparcia, granice pokoju, kolizje, ograniczenia orientacji oraz wymagane przez grę odstępy zapewniające dostęp lub możliwość interakcji.

Oddziel twarde zasady od preferencji. Kolizja lub brak odpowiedniej powierzchni podparcia mogą uniemożliwiać potwierdzenie. Wąskie przejście może wywoływać jedynie ostrzeżenie, jeśli gra na to pozwala. Dzięki temu sugestia dotycząca wystroju nie wygląda jak błąd blokujący, a gracze wiedzą, które warunki mogą zaakceptować. W badaniach nad systemami układania mebli również uwzględnia się wiele zasad aranżacji, a nie samą geometrię; opublikowany system Stanford uwzględniał wytyczne projektowania wnętrz, a proponowane układy oceniali uczestnicy. To przemawia za uwzględnianiem więcej niż tylko kolizji, ale nie określa konkretnego interfejsu gry. Badanie Stanford Interactive Furniture Layout

Kontrola techniczna powinna uwzględniać obrys podglądu po transformacji. Dokumentacja API kolizji Unreal Engine opisuje sprawdzanie podanego kształtu kolizyjnego w określonym położeniu i przy określonym obrocie, a funkcja Physics.OverlapBox w Unity 6 przyjmuje środek, połowę wymiarów, orientację, maskę warstw i sposób obsługi wyzwalaczy. Te API pokazują, dlaczego zmiana obrotu powinna uruchamiać ponowne sprawdzenie obróconego kształtu. Zachowanie silnika i szczegóły API różnią się w zależności od wersji; korzystaj z dokumentacji wersji silnika i konfiguracji kolizji faktycznie używanych w wydawanej grze. API kolizji Unreal Engine i Unity 6 Physics.OverlapBox

Sekcja 3

Jak powinny wyglądać prawidłowe i nieprawidłowe pozycje?

Połącz wygląd z dodatkowym, równorzędnym sygnałem. Możesz na przykład zmienić zabarwienie i obrys ducha oraz wyświetlić krótki komunikat, taki jak „Gotowe do umieszczenia” lub „Nakłada się na stół”. Sam kolor może być trudny do rozróżnienia, zwłaszcza na różnych podłogach lub przy zmiennym oświetleniu. W obu stanach pozostaw widoczny zarys mebla, aby gracz nadal mógł ocenić jego położenie i obrót. Wskazanie konkretnego obiektu, który blokuje umieszczenie, może ułatwić poprawienie pozycji; nie przeładowuj podglądu szczegółami technicznymi, jeśli wystarczy jeden zrozumiały powód.

Aktualizuj stan podczas przesuwania mebla, a nie dopiero po naciśnięciu przycisku potwierdzenia. Potwierdzenie powinno umieścić mebel tylko wtedy, gdy jego bieżący stan jest prawidłowy, a po udanej akcji należy krótko o tym poinformować. Jeśli pozycja jest nieprawidłowa, pozostaw aktywny podgląd i podaj przyczynę, aby gracz mógł ją poprawić bez rozpoczynania interakcji od nowa. To zalecenie projektowe wynika z celu, jakim jest zapobieganie przypadkowemu umieszczaniu, oraz z wytycznych Google, by jasno komunikować błędy i wskazywać możliwy sposób ich naprawienia. Wytyczne Google dotyczące stanów błędu

Nie polegaj na pojedynczym progu, który zmienia całego ducha z prawidłowego w nieprawidłowy bez wyjaśnienia przyczyny. Jeśli na przykład krzesło znajduje się za blisko ściany, gracz powinien widzieć jego rzeczywisty obrys i otrzymać konkretny komunikat, taki jak „Poza pokojem” lub „Nakłada się na ścianę”. Jeśli dana zasada jest tylko preferencją, oznacz ją jako ostrzeżenie i pozostaw możliwość potwierdzenia, jeśli pasuje to do projektu gry.

Sekcja 4

Jakie informacje powinien przekazywać obrót?

Podczas obracania utrzymuj podgląd w miejscu wskazywanym przez gracza i ponownie sprawdzaj pozycję przy nowym kącie. Obrys może zahaczyć o pobliski obiekt, nawet jeśli środek mebla prawie się nie przesuwa. Sterowanie obrotem powinno też zapewniać przewidywalność kierunku i zakresu zmiany: widoczna podpowiedź obracania, jasno określony krok obrotu lub wskaźnik płynnego obrotu mogą pokazać, jaki będzie efekt działania gracza.

Po obróceniu zaktualizuj zarówno ducha, jak i oznaczenie orientacji. Mała strzałka skierowana na podłogę, znacznik przodu lub widoczna przednia krawędź mogą ułatwić ustalenie, w którą stronę będzie skierowana sofa lub biurko. Jeśli mebel przyciąga się do siatki lub obraca o stałe kroki, pokaż w podglądzie pozycję po przyciągnięciu, a nie tylko położenie kursora przed tą zmianą. Dzięki temu gracz może ocenić pozycję, która faktycznie zostanie zatwierdzona.

Sekcja 5

Jak powinno działać anulowanie i poprawianie pozycji?

Gdy gracz trzyma mebel, zapewnij dostępny i widoczny przycisk anulowania o spójnym działaniu. Anulowanie powinno usunąć ducha i przywrócić poprzedni stan pokoju bez cichego umieszczania, usuwania ani przesuwania mebli. Jeśli gracz rozpoczął od przesunięcia już ustawionego mebla, anulowanie powinno przywrócić go do pierwotnej pozycji; to zalecana zasada interakcji, a nie zachowanie gwarantowane przez API silnika.

Przyciski potwierdzenia i anulowania powinny mieć różne etykiety lub ikony, a podgląd powinien pozostać widoczny, dopóki gracz nie wybierze jednej z tych opcji. Gdy umieszczenie jest zablokowane, pokaż prosty następny krok — przesuń, obróć lub anuluj — zamiast pozostawiać gracza z koniecznością zgadywania. Wytyczne Google dotyczące umieszczania również zalecają czytelne komunikaty o błędach i wskazanie sposobu ich rozwiązania, a także zwracają uwagę, że użytkownicy mogą potrzebować instrukcji, zanim użyją gestu przeciągania. W grach pokaż odpowiednie sterowanie podczas podnoszenia mebla, a nie tylko na osobnym ekranie pomocy. Wytyczne Google dotyczące ręcznego umieszczania

Sekcja 6

Przykład: umieszczanie regału na książki

Wyobraź sobie, że gracz ustawia regał na książki przy ścianie. Podgląd najpierw znajduje miejsce na podłodze i dosuwa regał do ściany. Obrys nachodzi na stolik boczny, więc duch wskazuje nieprawidłowy stan i wyświetla komunikat „Nakłada się na stolik boczny”. Gracz obraca mebel; obrys jest obliczany ponownie pod nowym kątem, a podgląd pokazuje już pozycję bez kolizji. Znacznik skierowany do przodu potwierdza, która strona będzie zwrócona do pokoju. Gracz widzi komunikat „Gotowe do umieszczenia”, potwierdza i mebel pojawia się w miejscu wskazanym przez ducha.

Jeśli regał zamiast tego częściowo znajdzie się poza granicą pokoju, gra powinna wskazać to ograniczenie, nawet jeśli nie dochodzi do kolizji z innym obiektem. Jeśli nie można określić powierzchni docelowej, pokaż neutralny komunikat o nierozstrzygniętym stanie, taki jak „Umieść na podłodze”, i nie zezwalaj na potwierdzenie. Te komunikaty to przykłady, a nie twierdzenia o funkcjach Metlivi ani o wynikach badań użyteczności.

Sekcja 7

Praktyczna lista kontrolna

Przed wdrożeniem spisz zasady umieszczania dla poszczególnych typów mebli i zdecyduj, które z nich blokują działanie, a które wywołują ostrzeżenie. Następnie sprawdź, czy podgląd korzysta z tego samego obrysu, obrotu, przyciągania i punktu podparcia co ustawiony obiekt. Sprawdź działanie przy krawędziach ścian, w rogach, w wąskich szczelinach i po obrocie; upewnij się, że duch nie zatwierdza pozycji odrzucanej podczas finalnego umieszczania. Na koniec przetestuj cały przebieg: podnieś, przesuń, obróć, popraw nieprawidłową pozycję, umieść i anuluj — również podczas zmiany położenia już ustawionego mebla.

Zasada jest prosta: pokaż dokładny proponowany rezultat, odróżnij stany prawidłowy, nieprawidłowy i nierozstrzygnięty, wyjaśnij najważniejszą przyczynę blokady oraz zapewnij przewidywalny sposób obrócenia, poprawienia pozycji, potwierdzenia lub anulowania. Dzięki temu podgląd staje się praktyczną pomocą w podejmowaniu decyzji, a nie ostrzeżeniem wyświetlanym w ostatniej chwili.

Warto przeczytać

Eksploruj dalej ten temat