Skip to content
This repository was archived by the owner on Oct 28, 2023. It is now read-only.
This repository was archived by the owner on Oct 28, 2023. It is now read-only.

Gracz nie może przesuwać rigidbody #141

@rubikon02

Description

@rubikon02

Powód

Character controller nie ma rigidbody.

Proponowane rozwiązanie

Na internecie mówią, aby takie rzeczy implementować ręcznie w skrypcie do movementu. Aktualnie maksymalna prędkość gracza to 4 idąc i 6 biegnąc, więc bieg jest 1,5x szybszy. W kodzie można dodać maksymalną wagę przedmiotu, który da się przesuwać - np 4. Prędkość chodzenia będzie się zmniejszać liniowo od 4 przy braku obciążenia, do 0 przy wadze 4 (w tym przypadku +1 wagi to -1 szybkości). Bieg jest 1,5x szybszy, więc maksymalna waga którą można przesunąć to 1,5x zwykła waga czyli 6. Dzięki temu podczas sprintu obciążenie tak samo bardzo spowalnia gracza (+1 wagi to -1 do szybkości), ale maksymalnie można przesunąć więcej.

Przesuwanemu obiektowi nadajemy prędkość, przez co następne rigidbody które są przesuwane pośrednio nie wpływają na gracza. Nie jest to problem, bo same w sobie mając konkretną masę i prędkość mają stałą siłę, przez co przy przesuwaniu większej ilości rzeczy wszystko spowalnia.

Dodatkowo można zrobić ostrzejsze obcięcie prędkości przy ciężkich przedmiotach. Podanie maksymalnej wagi jaką możemy przesunąć jako 4 znaczy, że obiekt ważący prawie 4 ledwo się przesuwa, czyli w praktyce nie da się tak ciężkich rzeczy przesuwać. Zamiast tego minimalną prędkością przesuwania mogłoby być np. 1, a przy czymś odrobinę cięższym przesuwanie byłoby już niemożliwe (prędkość 0).

Interakcje do sprawdzenia:

  • Interakcja z rollem - wg. mnie powinien mieć siłę przesuwania jak przy chodzeniu lub bieganiu, na pewno nie jak przy rollu prędkość 40
  • Wpływ ustawiania np. beczkom bezpośrednio prędkości w momencie, gdy coś innego chciałoby tę beczkę przesunąć lub jakaś inna siła zadziałać. Czy jedna z tych rzeczy nie ignoruje drugiej?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions