Dzięki za odpowiedź, ale chyba nie do końca zrozumiałam, bo nadal mi nie wychodzi. Po dodaniu colliderów nic się nie zmienia, nadal postać unosi się zamiast iść po trawie. CharacterContoller mam, postacią poruszam za pomocą Move.
Skoro używasz Move, to czy zaimplementowałaś grawitację, tak jak na stronie dokumentacji? https://docs.unity3d.com/ScriptReference/CharacterController.Move.html
moveDirection.y -= gravity * Time.deltaTime;
Od tego zależy opadanie na ziemię.
Co do drugiego punktu to postać obróciła mi się automatycznie po uruchomieniu mimo że nie doszła do trawy.
Prawdopodobnie Twój trigger zaregował na inny obiekt niż gracz. Musisz ustawić w ustawieniach fizyki, żeby layer trawy reagował tylko na layer gracza, albo w kodzie triggera na początku sprawdzać layer, obiektu, który wywołał trigger i wykonywać resztę kodu, tylko jeśli to layer gracza.
Collider musiałam dodać wyższy (bo jak pisałam nadal mi nie działa to opadanie na trawę więc inaczej by nie wykryło kolizji) więc to może dlatego, że od początku już przebywała w tym colliderze?
To w końcu chcesz, żeby można było wchodzić na trawę, czy nie?
Bo z jednej strony chcesz, żeby przy trawie postać zawracała, a z drugiej strony chcesz, żeby na trawę opadała.
I jeszcze jedno pytanie, czemu musi być OnTriggerEnter, a nie może być OnCollisionEnter?
Trigger jest wydajniejszy i nie wchodzi w interakcje z obiektami fizycznymi (np. nie odbije spadającej kulki, przeniknie ona przez niego).
Ale jeśli chcesz, żeby coś chodziło po trawie, to collider trawy nie może być triggerem.
Możesz zrobić 2 collidery. Jeden trigger, drugi do interakcji. W zależności od potrzeb...