Troman - tworzenie gier
Logo serwisu Troman.pl
Panel Logowania

Fizyka obiektu

napisał : maniek
31
lipca
2012
Kolejny artykuł wyjaśniający tajniki BGE. Tym razem objaśniam typy fizyki, jakie można nadać obiektom w swojej grze czy interaktywnej prezentacji.
tagi :

Jak wiadomo BGE korzysta z dobrodziejstw biblioteki fizyki oraz detekcji kolizji o nazwie Bullet. Dzięki programistom blendera, konfiguracja fizyki obiektu, jest prosta i wygodna na pomocą panelu Physics. Panel Physics w zależności od wybranego silnika renderowania, różni się przyciskami konfiguracji, dlatego musimy wybrać Blender Game(z listy silników renderujących), aby nadawać obiektom dynamikę. Obiekty mogą mieć różne typy fizyki, które mogą mieć różne opcje konfiguracji.

 

1. No collision

Typ fizyki gdzie obiekt nie zawiera żadnej kolizji, czyli obiekty dynamiczne mogą przez niego przenikać. Jest tu dostępna tylko jedna dodatkowa opcja:

  • Invisible - wciśnięcie tego przycisku powoduje, że obiekt jest niewidoczny w grze.

 

2. Static

Typ fizyki gdzie obiekt oddziałuje na kolizje, czyli obiekty dynamiczne nie mogą przez niego przenikać. Obiekt tego typu jest obiektem statycznym. Jest to domyślny typ fizyki dla każdego obiektu, wykorzystywany do budowy otoczenia.

  • Actor - obiekty może być wykrywany przez sensory Near i Radar
  • Ghost - obiekt nie wytwarza kolizji i może przenikać przez inne obiekty
  • Invisible - wciśnięcie tego przycisku powoduje, że obiekt jest niewidoczny w grze.
  • Radius - promień granicy kolizji
  • Collision Bounds - typ granicy kolizji. Jeśli ta opcja jest wyłączona domyślnie jest ustawione Tringle Mesh. Tą sekcję opiszę przy dynamicznych typach fizyki

 

 

 

 

 

 

3. Dynamic i Rigid Body

Typ fizyki gdzie obiekt jest dynamiczny i może zachodzić w interakcje oraz kolizje z innymi obiektami. Obiekty tych typów są obiektami dynamicznymi. [Dynamic] i [Rigid Body] róznią się zachowaniem podczas kolizji, lecz opcje konfiguracji mają te same: 

  • Actor - obiekt może być wykrywany przez sensory Near    i Radar
  • Ghost - obiekt nie wytwarza kolizji, jak duch
  • Invisible - wciśnięcie tego przycisku powoduje, że obiekt jest niewidoczny w grze.
  • Use Material Force Field - nakazuje obiektowi korzystać z ustawień dynamicznych Materiału czyli Force Field (pole siłowe)
  • Rotate From Normal - brak dokumentacji w manualu (uzupełnie jak tylko się pojawi chyba że ktoś wie)
  • No sleeping - BGE standardowo nie kontroluje obiektów, które poruszają się lub obracają bardzo wolno, więc przerywa przeliczanie pozycji czy obrotu. Tan przycisk nie pozwala mu na to - obiekt musi zakończyć swój ruch lub obrót do końca.
  • Mass - ustawienie masy obiektu
  • Radius - promień granicy kolizji
  • Form Factor - dla wymagających - stopień bezwładności obiektu w ruchu obrotowym (poniżej plik wyjaśniający)
  • Anisotropic Friction - ustawienie tarcia obiektu w odpowiednich kierunkach osi X,Y i Z
  • Velocity - ograniczenie prędkości poruszających się obiektów
  • Damping - opór powietrza odpowiednio dla zmiany położenia i obrotu
  • Lock Translation - blokada ruchu w kierunkach osi X,Y i Z
  • Lock Rotation - blokada obrotu w kierunkach osi X,Y i Z
  • Collision Bounds- typ granicy kolizji.  Jeśli wyłączone to granica kolizji jest w kształcie sfery
    • Box - granica kolizji o kształcie prostopadłościanu
    • Sphere - granica kolizji o kształcie sfery
    • Cylinder - granica kolizji o kształcie cylindra
    • Cone - granica kolizji o kształcie stożka
    • Capsule - granica kolizji o kształcie kapsuły
    • Convex Hull - uproszczona granica kolizji z zewnętrznych granic obiektu(nie uwzględnia otworów w obiektach - czyli bryła bez wklęsłości)
    • Triangle Mesh - granica kolizji utworzona na podstawie siatki obiektu (z trójkątów, dla skomplikowanych obiektów może bardzo obciążać grę)
  • Margindodatkowy obszar poza obiektem w którym wyszukiwane są kolizje, używać tylko gdy są problemy z kolizjami np. dla szybko poruszających się obiektów
  • Compond - dodawanie do granicy kolizji sparentowanych obiektów

Najpopularniejszym typem granicy kolizji jest [Box], lecz jest mało dokładny. Triangle mesh najdokładniej przelicza granicę fizyki, najlepiej odwzorowuje siatkę obiektu, lecz przy większej ilości takich obiektów wydajność gry drastycznie spada.

Prezentacje wykorzystyją plugin Burster. Naciśnij Esc, aby uruchomić od nowa.

Prezentacja różnicy typu fizyki [Dynamic] i [Rigid Body] :

 Plik do ściągnięcia : dynamic-rigidbody.blend

W poniższym przykładzie pokaże do czego używać opcji Form Factor. W poniższym przykładzie obydwa obiekty mają tą samą masę oraz moment obrotowy. W realnym świecie obiekt pomarańczowy ciężej byłoby nadać mu ruch obrotowy niż pomarańczowy. BGE przy takiej samej masie i sile momenty obtotowego, potraktuje te oiekty tak samo. Form Factor reguluje tą niescisłość.

Plik do ściągnięcia : form-factor.blend

 

4. Soft Body

Fizyka ciała odkształcalnego. Dzięki temu typowi fizyki możemy za symulować obiekty miękkie, sprężyste, odzież. Lecz jest to typ, który wymaga wydajnego sprzętu przy większej ilości takich obiektów  : 

  • Actor - obiekty może być wykrywany przez sensory Near      i Radar
  • Ghost - obiekt nie wytwarza kolizji, jak duch
  • Invisible - wciśnięcie tego przycisku powoduje, że obiekt jest niewidoczny w grze.
  • Mass - ustawienie masy obiektu
  • Position Iterations - określa stopień dokładności obliczeń
  • Linear Stifness - sztywność "sprężynek" z którego składa się siatka obiektu
  • Friction - tarcie pomiędzy tym obiektem a innymi obiektami z którymi ulega kolizji
  • Margin - dodatkowa odległość poza obiektem w której poszukiwane są kolizje z innymi obiektami, zbyt małe wartości mogą powodować niestabilność obiektu
  • Shape Match- włączone nakazuje obiektowi utrzymywać kształt. Włączamy dla obiektów z np. z gumy a wyłączamy np. dla materiałów.
  • Treshold - określa jak mocno obiekt próbuje utrzymać kształt (np. piłka musi mieć włączony shape match i większy treshold)
  • Cluster Collision - dodatkowe opcje kolizji miedzy rigid i soft albo soft i soft. (jak sie włączy rigid to soft body to obiekt rigid może się odbić od soft body, jak wyłączone to rigid może zgnieść soft body)
  • Bending Constraints - dodatkowe "sprężynki" w siatce obiektu które zwiększają jego sztywność na skręcanie

5. Occlude

Obiekty optymalizujące wydajność silnika gry. Obiekty takiego typu zasłaniając inne obiekty powodują, że obiekty za nimi nie są przetwarzane przez kartę graficzną, dzięki czemu zwiększają wydajność gry :

  • Invisible - wciśnięcie tego przycisku powoduje, że obiekt jest niewidoczny w grze.

Przykład :

Plik do ściągnięcia : occlude.blend

 

5. Sensor

Brak dokumentacji w manualu (uzupełnie jak tylko się pojawi chyba że ktoś wie)

 

 

 

 

 

 

 

6. Navigation Mesh

Tutaj przy da się osobny tutorial na temat Navigation Mesh

Szczególne podziękowania dla użytkownika myinventions.

2 komentarze
pawianek napisał :
godz. 18:22, 8 stycznia 2013
Bardzo super przewodnik take coś szukałem krótko i na temat :-) Soft Body jest super do zabawy, szkoda tylko że jeśli chcemy poruszać się Soft Body to tylko przez rotacje, ale poza tym genialne to Soft Body :],
maniek napisał :
godz. 20:10, 8 stycznia 2013
Czemu tylko przez rotację?? Zależy co dasz w kostkach logiki ;)
Dodaj komentarz
Aby dodać komentarz do newsa, musisz być zalogowany w Serwisie.. Zaloguj