Komponent Obiektu Kolizji (Collision Object) może używać kilku kształtów podstawowych (ang. primitive shapes) lub pojedynczego kształtu złożonego.
Podstawowe kształty to box - prostokąt, sphere - sfera i capsule - kapsuła. Aby dodać kształt podstawowy, kliknij prawym przyciskiem myszy obiekt kolizji, a następnie wybierz Add Shape:
Kształt prostokątny (box) posiada pozycję, rotację i wymiary (szerokość, wysokość i głębokość):
Sfera (sphere) posiada pozycję, rotację i średnicę:
Kapsuła posiada pozycję, rotację, średnicę i wysokość:
Kształty kapsuły są obsługiwane tylko w przypadku korzystania z fizyki 3D (skonfigurowanej w sekcji Physics w pliku game.project).
Kształty złożone (ang. complex shapes) można utworzyć z komponentu mapy kafelków lub z kształtu wypukłego (convex hull shape).
Defold zawiera funkcję, która umożliwia łatwe generowanie kształtów fizyki dla Źródła Kafelków (Tile Source) używanego przez mapę kafelków. W instrukcji Źródła Kafelków wyjaśniono, jak dodać grupy kolizji do źródła kafelków i przypisać kafelki do grup kolizji (przykład).
Aby dodać kolizję do mapy kafelków:
Należy zauważyć, że właściwość Group nie jest tutaj używana, ponieważ grupy kolizji są definiowane w źródle kafelków (tile source) mapy kafelków.
Defold zawiera funkcję, która umożliwia tworzenie kształtu wypukłego (convex hull shape) z trzech lub więcej punktów. Możesz użyć zewnętrznego narzędzia, takiego jak Defold Polygon Editor lub Physics Body Editor, aby utworzyć kształt wypukły.
.convexshape
) za pomocą zewnętrznego edytora.Kształt taki nie będzie rysowany w Edytorze. Możesz włączyć debugowanie fizyki podczas działania programu, aby zobaczyć kształt.
Obiekt kolizji i jego kształty dziedziczą skalę obiektu gry. Aby wyłączyć to zachowanie, odznacz pole wyboru “Allow Dynamic Transforms”, czyli Zezwalaj na dynamiczne transformacje w sekcji Physics pliku game.project. Należy pamiętać, że obsługiwane jest tylko skalowanie jednolite (uniform), a jeśli skala nie jest jednolita, zostanie użyta najmniejsza wartość skali.
Kształty kolizji w fizyce 3D można obracać wokół wszystkich osi.
Kształty kolizji w fizyce 2D można obracać tylko wokół osi Z. Obrót wokół osi X lub Y spowoduje nieprawidłowe wyniki i powinno się go unikać, nawet przy obracaniu o 180 stopni, aby efektywnie odwrócić kształt wzdłuż osi x lub y. Aby odwrócić kształt fizyczny, zaleca się korzystanie z physics.set_hlip(url, flip)
i physics.set_vlip(url, flip)
.
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB