Unity 3D - Assets do tworzenia walking simulator'ów

game-design
gamedev

#1

Cześć wszystkim! Od jakiegoś czasu pracuje sobie po godzinach nad narzędziem/assetsem do Unity, który umożliwiałby tworzenie gier typu “walking simulator” lub jakiś prostych horrorów, przez osoby, które nie do końca siedzą w programowaniu. Staram się, aby było to możliwie jak najprostsze w użyciu i zrozumieniu

Aktualnie mam zrobiony movment gracza, inventory oraz system interakcji. Poniżej załączę kilka gifów, jak to wygląda w praktyce.

Tutaj pojawia się pytanie do Was, czy takie narzędzie komuś by się w ogóle przydało? Czy jest dalszy sens rozwijania tego?
Planowałem wypuścić 2 wersje. Jedną darmową z wszystkimi podstawowymi funkcjami(movment, interakcja, EQ), tak aby każdy mógł sobie przetestować i zobaczyć. Oraz drugą płatną (około 10EURO) gdzie byłoby więcej interakcji, podpięty pod wszystko system savów oraz kilka dodatkowych bajerów.

Dajcie znać co o tym myślicie i czy warto nad tym dalej siedzieć?
Pozdrawiam!


#2

czy się przyda to ci nie powiem bo jest takich rzeczy pełno :,D

rozumiem że monobehaviour wykonuje wszystkie obliczenia i przesuwa postać co klatkę, ja bym tą mechanikę przeniósł do scriptableobject który można dziedziczyć. i dodatkowo zrobił bym to na dwóch monobehaviour chyba że już w tym jednym masz możliwość dodania dodatkowych sił działających na postać poprzez kod. (bo z tego co pamiętam metoda do przesuwania charactercontoller powinna być wykonywana tylko raz na klatkę)
fajnie by było gdyby postać stojąc na krawędzi zsuwała się z niej albo spadała (może nawet potem ślizgała na płaskim przez kawałek) > ale to może być za wiele na walkera więc może chociaż kucanie ?
dobrze by było dodać prędkości przemieszczania się prawo lewo tył :*

inventory to teraz robię i niby wszystko działa (robiłem z canvasRayCaster) pomimo tego że przekombinowałem, ale natrafiłem na problem ścianę, nie da się narysować Canvas w edytorze :,D (czemu tego wcześniej nie sprawdziłem nie wiem) trochę lipnie ale customowy edytor da sobie radę no chyba że jest inny sposób,
czy masz ograniczenie ilości okienek inventory ?
jak chowasz inwentory wyłączasz obiekt czy chowasz poza zasięg renderu
będzie wyświetlanie informacji o przedmiocie po najechaniu na niego ?
nie pokazałeś jak to wszystko działa :D, lipnie trochę


#3
  1. Tutaj nie jestem pewien czy dobrze Cię zrozumiałem, ale scriptable object służy do przechowywania danych. W skrypcie player controller są wykonywane wszystkie obliczenia na podstawie scriptable object’u, który dodał do niego użytkownik. Można sobie utworzyć dowolną ilość scriptable object’ów i zapisywać dane według uznania.
  2. Kucanie planowałem dodać w przyszłości. Zsuwanie się postaci z krawędzie rozmyślę, ciekawa opcja ale nie wiem czy taka must have. Prędkość poruszania się w prawo-lewo oraz tył to świetny pomysł!
  3. Ilość okienek nie jest ograniczona.
  4. Wyłączam obiekt, myślałem też nad tym aby zrobić tak, że przed wyłączeniem okienko z inventory przesuwa się np w lewo. Płynniej by to wyglądało.
  5. Starałem się wszystko pokazać, ale musiałem ciąć gify

#4

Co do 1 to właśnie nie, to jest obiekt i w porównaniu do klasy dziedziczącej monobehaviour można go. Rozszerzać o nowe implementację, bardzo ważne przesowasz

Cytat Velocity along the y-axis is ignored. Speed is in units/s. Gravity is automatically applied. Returns if the character is grounded. It is recommended that you make only one call to Move or SimpleMove per frame.

Więc skrypt powinien według mnie przechowywać albo pozwalać edytować wektor przemieszczenia który co klatkę jest przesyłany docharacter controller