From 27a582787aecfa4dc5b2a2e615553bb1f4bf42e3 Mon Sep 17 00:00:00 2001 From: paweljarosz Date: Tue, 28 Oct 2025 12:16:40 +0100 Subject: [PATCH] Fixed physics debug example and added description regarding collection proxy and slowing time for debugging. --- debug/physics/collectionproxy.png | Bin 0 -> 23950 bytes debug/physics/example.md | 16 +++++++- debug/physics/example/loader.script | 11 +++++ debug/physics/example/main.collection | 57 ++++++++++++++++++++++++++ debug/physics/example/physics.script | 4 +- debug/physics/game.project | 2 +- debug/physics/thumbnail.png | Bin 0 -> 27206 bytes 7 files changed, 85 insertions(+), 5 deletions(-) create mode 100644 debug/physics/collectionproxy.png create mode 100644 debug/physics/example/loader.script create mode 100644 debug/physics/example/main.collection create mode 100644 debug/physics/thumbnail.png diff --git a/debug/physics/collectionproxy.png b/debug/physics/collectionproxy.png new file mode 100644 index 0000000000000000000000000000000000000000..440f7166fd48cafbb79cbc3ea66f42934fe80b69 GIT binary patch literal 23950 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 literal 0 HcmV?d00001 diff --git a/debug/physics/example.md b/debug/physics/example.md index 75d53e15..8a5a5e14 100644 --- a/debug/physics/example.md +++ b/debug/physics/example.md @@ -3,9 +3,21 @@ tags: debug title: Physics debug brief: This example allows you to toggle physics debug visualization as well as changing the time step so the simulation runs at one tenth of the speed. author: Defold Foundation -scripts: physics.script +scripts: physics.script, loader.script +thumbnail: thumbnail.png --- With the physics visualization on, all collision object shapes are visible. In addition, at intersections the normals at the collision points are shown. -![physics debug](physics.png) \ No newline at end of file +The example collection consists of: +- 4 blocks with dynamic collision objects with Restituion 1.0, so they bounce forever, +- 4 walls with static collision objects forming boundaries for the blocks, +- game object `go` with: + - label with example description, + - a script `physics.script` included below. + +![physics debug](physics.png) + +This collection is additionally loaded via a `Collection Proxy` component in `main.collection`. Therefore, sending message `set_time_step` to its url `"main:/loader#physicsproxy"` is causing the proxy to have a different update time, causing e.g. the slow-motion effect, which might be helpful when debugging physics. + +![collection proxy](collectionproxy.png) \ No newline at end of file diff --git a/debug/physics/example/loader.script b/debug/physics/example/loader.script new file mode 100644 index 00000000..328ad5cc --- /dev/null +++ b/debug/physics/example/loader.script @@ -0,0 +1,11 @@ +function init(self) + msg.post(".", "acquire_input_focus") + msg.post("#physicsproxy", "load") +end + +function on_message(self, message_id, message, sender) + if message_id == hash("proxy_loaded") then + msg.post(sender, "init") + msg.post(sender, "enable") + end +end \ No newline at end of file diff --git a/debug/physics/example/main.collection b/debug/physics/example/main.collection new file mode 100644 index 00000000..0f77cf73 --- /dev/null +++ b/debug/physics/example/main.collection @@ -0,0 +1,57 @@ +name: "main" +scale_along_z: 0 +embedded_instances { + id: "loader" + data: "components {\n" + " id: \"loader\"\n" + " component: \"/example/loader.script\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + " property_decls {\n" + " }\n" + "}\n" + "embedded_components {\n" + " id: \"physicsproxy\"\n" + " type: \"collectionproxy\"\n" + " data: \"collection: \\\"/example/physics.collection\\\"\\n" + "exclude: false\\n" + "\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + "}\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale3 { + x: 1.0 + y: 1.0 + z: 1.0 + } +} diff --git a/debug/physics/example/physics.script b/debug/physics/example/physics.script index b97793b9..6993c64b 100644 --- a/debug/physics/example/physics.script +++ b/debug/physics/example/physics.script @@ -7,9 +7,9 @@ function on_input(self, action_id, action) if action_id == hash("touch") and action.pressed then msg.post("@system:", "toggle_physics_debug") -- <3> if self.show_debug then -- <4> - msg.post("main:/loader", "set_time_step", { factor = 1, mode = 0 }) + msg.post("main:/loader#physicsproxy", "set_time_step", { factor = 1, mode = 0 }) else - msg.post("main:/loader", "set_time_step", { factor = 0.1, mode = 1 }) + msg.post("main:/loader#physicsproxy", "set_time_step", { factor = 0.1, mode = 1 }) end self.show_debug = not self.show_debug -- <5> end diff --git a/debug/physics/game.project b/debug/physics/game.project index f80d2b3a..05ce9459 100644 --- a/debug/physics/game.project +++ b/debug/physics/game.project @@ -3,7 +3,7 @@ title = Defold-examples version = 0.1 [bootstrap] -main_collection = /example/physics.collectionc +main_collection = /example/main.collectionc [input] game_binding = /builtins/input/all.input_bindingc diff --git a/debug/physics/thumbnail.png b/debug/physics/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..46fd7a4e430400d26bf770a9aafc5e17b087f0da GIT binary patch literal 27206 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 Bf}Q{X literal 0 HcmV?d00001