Skip to content

Commit 91f8343

Browse files
committed
actualization butch two
1 parent 8dc511e commit 91f8343

File tree

10 files changed

+2340
-1072
lines changed

10 files changed

+2340
-1072
lines changed

docs/pl/manuals/camera.md

Lines changed: 207 additions & 62 deletions
Large diffs are not rendered by default.

docs/pl/manuals/editor-scripts.md

Lines changed: 718 additions & 139 deletions
Large diffs are not rendered by default.

docs/pl/manuals/editor.md

Lines changed: 257 additions & 84 deletions
Large diffs are not rendered by default.

docs/pl/manuals/font.md

Lines changed: 167 additions & 63 deletions
Large diffs are not rendered by default.

docs/pl/manuals/gui-layouts.md

Lines changed: 72 additions & 33 deletions
Large diffs are not rendered by default.

docs/pl/manuals/live-update.md

Lines changed: 78 additions & 296 deletions
Large diffs are not rendered by default.

docs/pl/manuals/physics-shapes.md

Lines changed: 119 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,159 @@
11
---
2-
title: Kształty Kolizji
3-
brief: Ta instrukcja opisuje szczegóły działania kształtów kolizji silnika fizyki.
2+
title: Kształty kolizji
3+
brief: Komponent obiektu kolizji może używać kilku kształtów podstawowych albo jednego kształtu złożonego.
44
---
55

6-
# Kształty Kolizji
6+
# Kształty kolizji
77

8-
Komponent Obiektu Kolizji (Collision Object) może używać kilku kształtów podstawowych (ang. primitive shapes) lub pojedynczego kształtu złożonego.
8+
Komponent obiektu kolizji może używać kilku kształtów podstawowych albo jednego kształtu złożonego.
99

1010
### Kształty podstawowe
1111

12-
Podstawowe kształty to *box* - prostokąt, *sphere* - sfera i *capsule* - kapsuła. Aby dodać kształt podstawowy, <kbd>kliknij prawym przyciskiem myszy</kbd> obiekt kolizji, a następnie wybierz <kbd>Add Shape</kbd>:
12+
Kształty podstawowe to *box*, *sphere* i *capsule*. Aby dodać kształt podstawowy, <kbd>kliknij prawym przyciskiem myszy</kbd> obiekt kolizji i wybierz <kbd>Add Shape</kbd>:
1313

1414
![Add a primitive shape](images/physics/add_shape.png)
1515

16-
## Kształt prostokątny
17-
Kształt prostokątny (box) posiada pozycję, rotację i wymiary (szerokość, wysokość i głębokość):
16+
## Kształt prostokątny (box)
1817

19-
![Kształt prostokątny](images/physics/box.png)
18+
Kształt prostokątny (box) ma pozycję, obrót i wymiary: szerokość, wysokość oraz głębokość:
2019

21-
## Kształt sfery
22-
Sfera (sphere) posiada pozycję, rotację i średnicę:
20+
![Box shape](images/physics/box.png)
2321

24-
![Kształt sfery](images/physics/sphere.png)
22+
## Kształt sfery (sphere)
2523

26-
## Kształt kapsuły
27-
Kapsuła posiada pozycję, rotację, średnicę i wysokość:
24+
Kształt sfery (sphere) ma pozycję, obrót i średnicę:
2825

29-
![Kształt kapsuły](images/physics/capsule.png)
26+
![Sphere shape](images/physics/sphere.png)
27+
28+
## Kształt kapsuły (capsule)
29+
30+
Kształt kapsuły (capsule) ma pozycję, obrót, średnicę i wysokość:
31+
32+
![Sphere shape](images/physics/capsule.png)
3033

3134
::: important
32-
Kształty kapsuły są obsługiwane tylko w przypadku korzystania z fizyki 3D (skonfigurowanej w sekcji *Physics* w pliku *game.project*).
35+
Kształty capsule są obsługiwane tylko przy korzystaniu z fizyki 3D, skonfigurowanej w sekcji *Physics* pliku *game.project*.
3336
:::
3437

3538
### Kształty złożone
36-
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).
3739

38-
## Kształt kolizji mapy kafelków
39-
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](/manuals/tilesource/#tile-source-collision-shapes) wyjaśniono, jak dodać grupy kolizji do źródła kafelków i przypisać kafelki do grup kolizji ([przykład](/examples/tilemap/collisions/)).
40+
Kształt złożony można utworzyć albo z komponentu Tile map (mapy kafelków), albo z kształtu convex hull.
41+
42+
## Kształt kolizji Tile map
4043

41-
Aby dodać kolizję do mapy kafelków:
44+
Defold zawiera funkcję, która pozwala łatwo generować kształty fizyki dla Tile source używanego przez Tile map. W [instrukcji Tile source](/manuals/tilesource/#tile-source-collision-shapes) wyjaśniono, jak dodawać grupy kolizji do Tile source i przypisywać kafelki do grup kolizji ([przykład](/examples/tilemap/collisions/)).
4245

43-
1. Dodaj mapę kafelków do obiektu gry, <kbd>klikając go prawym przyciskiem myszy</kbd> i wybierając <kbd>Add Component File</kbd>. Wybierz plik mapy kafelków.
44-
2. Dodaj komponent obiektu kolizji do obiektu gry, <kbd>klikając go prawym przyciskiem myszy</kbd> i wybierając <kbd>Add Component ▸ Collision Object</kbd>.
45-
3. Zamiast dodawać kształty do komponentu, ustaw właściwość Kształt kolizji na plik mapa kafelków (*tilemap*).
46-
4. Skonfiguruj *Properties* komponentu obiektu kolizji.
46+
Aby dodać kolizję do Tile map:
4747

48-
![Kształt kolizji mapy kafelków](images/physics/collision_tilemap.png)
48+
1. Dodaj Tile map do obiektu gry, <kbd>klikając prawym przyciskiem myszy</kbd> obiekt gry i wybierając <kbd>Add Component File</kbd>. Następnie wybierz plik Tile map.
49+
2. Dodaj komponent obiektu kolizji do obiektu gry, <kbd>klikając prawym przyciskiem myszy</kbd> obiekt gry i wybierając <kbd>Add Component ▸ Collision Object</kbd>.
50+
3. Zamiast dodawać kształty do komponentu, ustaw właściwość *Collision Shape* na plik *tilemap*.
51+
4. Skonfiguruj *Properties* komponentu obiektu kolizji jak zwykle.
52+
53+
![Tilesource collision](images/physics/collision_tilemap.png)
4954

5055
::: important
51-
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.
56+
Zwróć uwagę, że właściwość *Group* **nie** jest tutaj używana, ponieważ grupy kolizji są definiowane w Tile source mapy kafelków.
5257
:::
5358

54-
## Kształt kolizji wypukłej
55-
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](/assets/defoldpolygoneditor/) lub [Physics Body Editor](https://selimanac.github.io/physics-body-editor/), aby utworzyć kształt wypukły.
59+
## Kształt wypukły (convex hull)
5660

57-
1. Utwórz plik kształtu wypukłego (o rozszerzeniu pliku .`.convexshape`) za pomocą zewnętrznego edytora.
58-
2. Zamiast dodawać kształty do komponentu obiektu kolizji, ustaw właściwość *Collision Shape* na plik *convex shape*.
61+
Defold zawiera funkcję pozwalającą tworzyć kształt wypukły (convex hull) z trzech lub większej liczby punktów.
62+
63+
1. Utwórz plik kształtu convex hull o rozszerzeniu `.convexshape` przy użyciu zewnętrznego edytora.
64+
2. Edytuj plik ręcznie w edytorze tekstu albo przy użyciu zewnętrznego narzędzia, opisanego poniżej.
65+
3. Zamiast dodawać kształty do komponentu obiektu kolizji, ustaw właściwość *Collision Shape* na plik *convex shape*.
66+
67+
### Format pliku
68+
69+
Format pliku convex hull używa tego samego formatu danych co pozostałe pliki Defold, czyli tekstowego formatu protobuf. Kształt convex hull definiuje punkty bryły. W fizyce 2D punkty powinny być podane w kolejności przeciwnej do ruchu wskazówek zegara. W trybie fizyki 3D używana jest abstrakcyjna chmura punktów. Przykład dla 2D:
70+
71+
```
72+
shape_type: TYPE_HULL
73+
data: 200.000
74+
data: 100.000
75+
data: 0.0
76+
data: 400.000
77+
data: 100.000
78+
data: 0.0
79+
data: 400.000
80+
data: 300.000
81+
data: 0.0
82+
data: 200.000
83+
data: 300.000
84+
data: 0.0
85+
```
86+
87+
Powyższy przykład definiuje cztery narożniki prostokąta:
88+
89+
```
90+
200x300 400x300
91+
4---------3
92+
| |
93+
| |
94+
| |
95+
| |
96+
1---------2
97+
200x100 400x100
98+
```
99+
100+
## Narzędzia zewnętrzne
101+
102+
Istnieje kilka narzędzi zewnętrznych, których można użyć do tworzenia kształtów kolizji:
103+
104+
* [Physics Editor](https://www.codeandweb.com/physicseditor/tutorials/how-to-create-physics-shapes-for-defold) od CodeAndWeb pozwala tworzyć obiekty gry ze sprite’ami i pasującymi do nich kształtami kolizji.
105+
* [Defold Polygon Editor](https://rossgrams.itch.io/defold-polygon-editor) można użyć do tworzenia kształtów convex hull.
106+
* [Physics Body Editor](https://selimanac.github.io/physics-body-editor/) również można użyć do tworzenia kształtów convex hull.
59107

60-
::: sidenote
61-
Kształt taki nie będzie rysowany w Edytorze. Możesz włączyć [debugowanie fizyki](/manuals/debugging/#debugging-problems-with-physics) podczas działania programu, aby zobaczyć kształt.
62-
:::
63108

64109
# Skalowanie kształtów kolizji
65110

66-
Obiekt kolizji i jego kształty dziedziczą skalę obiektu gry. Aby wyłączyć to zachowanie, odznacz pole wyboru "[Allow Dynamic Transforms](/manuals/project-settings/#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.
111+
Obiekt kolizji i jego kształty dziedziczą skalę obiektu gry. Aby wyłączyć to zachowanie, odznacz pole [Allow Dynamic Transforms](/manuals/project-settings/#allow-dynamic-transforms) w sekcji *Physics* pliku *game.project*. Zwróć uwagę, że obsługiwane jest tylko skalowanie jednolite, a jeśli skala nie jest jednolita, użyta zostanie najmniejsza wartość skali.
112+
113+
# Zmienianie rozmiaru kształtów kolizji
114+
115+
Rozmiar kształtów obiektu kolizji można zmieniać w czasie działania przy użyciu `physics.set_shape()`. Przykład:
116+
117+
```lua
118+
-- ustaw dane kształtu capsule
119+
local capsule_data = {
120+
type = physics.SHAPE_TYPE_CAPSULE,
121+
diameter = 10,
122+
height = 20,
123+
}
124+
physics.set_shape("#collisionobject", "my_capsule_shape", capsule_data)
125+
126+
-- ustaw dane kształtu sphere
127+
local sphere_data = {
128+
type = physics.SHAPE_TYPE_SPHERE,
129+
diameter = 10,
130+
}
131+
physics.set_shape("#collisionobject", "my_sphere_shape", sphere_data)
132+
133+
-- ustaw dane kształtu box
134+
local box_data = {
135+
type = physics.SHAPE_TYPE_BOX,
136+
dimensions = vmath.vector3(10, 10, 5),
137+
}
138+
physics.set_shape("#collisionobject", "my_box_shape", box_data)
139+
```
140+
141+
::: sidenote
142+
Na obiekcie kolizji musi już istnieć kształt właściwego typu o podanym id.
143+
:::
67144

68145
# Obracanie kształtów kolizji
69146

70147
## Obracanie kształtów kolizji w fizyce 3D
148+
71149
Kształty kolizji w fizyce 3D można obracać wokół wszystkich osi.
72150

151+
73152
## Obracanie kształtów kolizji w fizyce 2D
74-
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)`](/ref/stable/physics/?#physics.set_hflip:url-flip) i [`physics.set_vlip(url, flip)`](/ref/stable/physics/?#physics.set_vflip:url-flip).
153+
154+
Kształty kolizji w fizyce 2D można obracać tylko wokół osi Z. Obracanie wokół osi X albo Y daje nieprawidłowe wyniki i należy go unikać, nawet przy obrocie o 180 stopni, który pozornie miałby tylko odwrócić kształt wzdłuż osi X albo Y. Do odwracania kształtu fizyki zaleca się używać [`physics.set_hlip(url, flip)`](/ref/stable/physics/?#physics.set_hflip:url-flip) oraz [`physics.set_vlip(url, flip)`](/ref/stable/physics/?#physics.set_vflip:url-flip).
155+
156+
157+
# Debugowanie
158+
159+
Możesz [włączyć debugowanie fizyki](/manuals/debugging/#debugging-problems-with-physics), aby zobaczyć kształty kolizji w czasie działania.

0 commit comments

Comments
 (0)