Zpět na domů

Gravitace pro sféru v Godot 4.5: mechanika skoků

Článek popisuje matematický model gravitace pro chůzi po vnitřním povrchu sféry v Godot 4.5. Lineární závislost g(h), číselné řešení metodou Eulera a analýza dynamiky skoků. Vhodné pro nestandardní světy jako dutá Země.

Chůze uvnitř sféry: fyzika v Godot Engine
Advertisement 728x90

Mechanika gravitace pro chůzi po vnitřním povrchu koule v Godot 4.5

V Godot Engine 4.5 vyžaduje implementace first-person kontroleru pro chůzi po vnitřním povrchu duté koule nestandardní model gravitace. Směr gravitační síly je vždy orientován podle normály k povrchu, tedy ke středu koule. To definuje vektor gravitace jako funkci pozice \vec{g}(\vec{r}).

Zjednodušený model předpokládá konstantní zrychlení g_0 na povrchu (h=0), ale pro realistické skoky do výšky až 0.3R je potřebná závislost na výšce h = R - |\vec{r}|. Koule je symetrická, proto g závisí pouze na h: \vec{g} = g(h) \frac{\vec{r}}{|\vec{r}|}.

Principy modelu:

Google AdInline article slot
  • Absence gravitace ve středu: g(R) = 0.
  • Kontinuita a plynulost změn g(h).
  • Absence extrémů na [0, R].

Lineární funkce g(h) = g_0 \frac{R - h}{R} se zjednoduší na \vec{g} = g_0 \frac{\vec{r}}{R}. To zajišťuje intuitivní fyziku: pomalé vznášení u středu a standardní pád u povrchu.

Dynamika skoku a numerická integrace

Vertikální pohyb je popsán rovnicí \ddot{h} = -g_0 (1 - \frac{h}{R}). Pro výpočet trajektorie s počátečními podmínkami h(0)=0, \dot{h}(0)=v_0 se používá Eulerova metoda.

Výhody Eulerovy metody pro herní fyziku:

Google AdInline article slot
  • Kompaktní kód s jednoduchou iterací.
  • Nízká výpočetní náročnost na snímek.
  • Přípustná chyba při 60 FPS a float32.

Analytické řešení je složitější, ale užitečné pro analýzu. Grafy ukazují, že pro v_0 < 80 % rychlosti do středu je dynamika blízká parabole na Zemi.

Analýza limitů skoků

Skok do středu s zastavením vyžaduje rychlost závislou na R a g_0. Pro lidské možnosti (v_0 ≤ 5 m/s, g_0=9.8 m/s²) je poloměr koule omezen na ~5 m. Větší koule vyžadují snížení g_0 nebo znemožňují dosažení středu.

Vliv parametrů na h(t):

Google AdInline article slot
  • Zvětšení R přibližuje dynamiku ploché gravitaci.
  • Vysoké v_0 u středu způsobují neobvyklé vznášení.
  • Pro R ≥ 20 m působí skoky standardně při typických rychlostech.

Hranice "speciální" dynamiky: v_0 < 0.8 v_střed nebo R > 2R_ref.

Co je důležité

  • Lineární model g(h): jednoduchá implementace \vec{g} = g_0 \frac{\vec{r}}{R}, plynulá změna od g_0 do 0.
  • Eulerova metoda: vhodná pro reálný čas, minimální zátěž.
  • Realistické limity: skok do středu možný pouze pro R < 10 m při g_0=9.8 a v_0=5 m/s.
  • Pocit ve hře: neobvyklá fyzika se projeví pouze při přiblížení ke středu.
  • Godot 4.5: podobné kontroleru pro Möbiovu pásku, důraz na lokální vertikálu.

Implementace v kontroleru

V kontroleru gravitace určuje orientaci "hlava-nohy". Pro let ve skoku se bere v úvahu pouze gravitace, aerodynamika je volitelná. Speciální ošetření středu koule zabraňuje dělení nulou.

Pro velká R (světové měřítko) model zachovává symetrii, ale vyžaduje optimalizaci integrace při nízkém FPS. Testování na float32 potvrzuje stabilitu.

— Editorial Team

Advertisement 728x90

Číst dál