jeden game object posiadający kilka colliderów

0

Mam game object, który jest kawałkiem drogi (ulica i chodnik). Po chodniku chodzą przechodnie, więc tam gdzie jest ulica ustawiłam collider, żeby nie mogli na nią wejść. Po ulicy ma jechać samochód (character controller) sterowany przez gracza. Samochód może jechać tylko po ulicy, nie może wjechać na chodnik. Już ustawiłam warstwy, że samochód i collider drogi nie widzą się, jednak nie wiem co dalej. Wydaje mi się, że powinnam na chodnikach ustawić kolejne collidery, jednak warstwa przecież nadal będzie ta sama, a co za tym idzie collidery nie zadziałają. Nie wiem jak rozwiązać ten problem.

1

A co chcesz konkretnie osiągnąć? Sugerując się tematem, to weź pod uwagę to, że możesz zrobić childy w gameObject'ach, dać im dowolne warstwy i collidery, i też kontrolować (enable/disable ze skryptu).

0

A czy dodanie kilkudziesięciu lub kilkuset game objectów z colliderami nie wpłynie w znaczący sposób na wydajność?

1

Podzielenie kolizji na warstwach to dobra optymalizacja. W przeciwnym wypadku, jeśli wszystko jest na warstwie default, to mamy sporo wykrywania kolizji 'każdy z każdym'. Przy takiej ilości raczej nie ma się co martwić, a jeśli zaczną się problemy to można wtedy pokombinować. Ogólnie kolizje na prymitywach (box collider, sphere collider itd) powinny być szybsze niż mesh collider.
Jest jeszcze kwestia tworzenia tych gameObjectów - jeśli przechodnie i pojazdy tworzą się dynamicznie, to warto zastosować Object Pooling -> wtedy zamiast robić instantiate na człowieczku, sprawdzasz czy któryś z istniejących jest daleko, i czy nie można go 'przenieść' i potraktować jako nowy.Taki recykling.

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