From 242d317a315e9e7b091a122f5c6a609c08214941 Mon Sep 17 00:00:00 2001 From: Areloch Date: Thu, 13 Aug 2015 23:38:59 -0500 Subject: [PATCH] Adds a debug visualization mode for the active physics world. Allows you to see the active collision info for the physics engine. --- Templates/Empty/game/tools/worldEditor/main.cs | 2 ++ .../game/tools/worldEditor/scripts/visibilityLayer.ed.cs | 8 ++++++++ Templates/Full/game/tools/worldEditor/main.cs | 1 + .../game/tools/worldEditor/scripts/visibilityLayer.ed.cs | 8 ++++++++ 4 files changed, 19 insertions(+) diff --git a/Templates/Empty/game/tools/worldEditor/main.cs b/Templates/Empty/game/tools/worldEditor/main.cs index ed4453cdc..a6ecb2872 100644 --- a/Templates/Empty/game/tools/worldEditor/main.cs +++ b/Templates/Empty/game/tools/worldEditor/main.cs @@ -114,11 +114,13 @@ function initializeWorldEditor() EVisibility.addOption( "Debug Render: Decals", "$Decals::debugRender", "" ); EVisibility.addOption( "Debug Render: Light Frustums", "$Light::renderLightFrustums", "" ); EVisibility.addOption( "Debug Render: Bounding Boxes", "$Scene::renderBoundingBoxes", "" ); + EVisibility.addOption( "Debug Render: Physics World", "$PhysicsWorld::render", "togglePhysicsDebugViz" ); EVisibility.addOption( "AL: Disable Shadows", "$Shadows::disable", "" ); EVisibility.addOption( "AL: Light Color Viz", "$AL_LightColorVisualizeVar", "toggleLightColorViz" ); EVisibility.addOption( "AL: Light Specular Viz", "$AL_LightSpecularVisualizeVar", "toggleLightSpecularViz" ); EVisibility.addOption( "AL: Normals Viz", "$AL_NormalsVisualizeVar", "toggleNormalsViz" ); EVisibility.addOption( "AL: Depth Viz", "$AL_DepthVisualizeVar", "toggleDepthViz" ); + EVisibility.addOption( "AL: Glow Buffer", "$AL_GlowVisualizeVar", "toggleGlowViz" ); EVisibility.addOption( "AL: PSSM Cascade Viz", "$AL::PSSMDebugRender", "" ); EVisibility.addOption( "Frustum Lock", "$Scene::lockCull", "" ); EVisibility.addOption( "Disable Zone Culling", "$Scene::disableZoneCulling", "" ); diff --git a/Templates/Empty/game/tools/worldEditor/scripts/visibilityLayer.ed.cs b/Templates/Empty/game/tools/worldEditor/scripts/visibilityLayer.ed.cs index ed6709568..268e4b0b3 100644 --- a/Templates/Empty/game/tools/worldEditor/scripts/visibilityLayer.ed.cs +++ b/Templates/Empty/game/tools/worldEditor/scripts/visibilityLayer.ed.cs @@ -191,3 +191,11 @@ function EVisibility::addClassOptions( %this ) %selList.addGuiControl( %selCheckBox ); } } + +function togglePhysicsDebugViz( %enable ) +{ + if(physicsPluginPresent()) + { + physicsDebugDraw(%enable); + } +} diff --git a/Templates/Full/game/tools/worldEditor/main.cs b/Templates/Full/game/tools/worldEditor/main.cs index 77ce64a9b..a6ecb2872 100644 --- a/Templates/Full/game/tools/worldEditor/main.cs +++ b/Templates/Full/game/tools/worldEditor/main.cs @@ -114,6 +114,7 @@ function initializeWorldEditor() EVisibility.addOption( "Debug Render: Decals", "$Decals::debugRender", "" ); EVisibility.addOption( "Debug Render: Light Frustums", "$Light::renderLightFrustums", "" ); EVisibility.addOption( "Debug Render: Bounding Boxes", "$Scene::renderBoundingBoxes", "" ); + EVisibility.addOption( "Debug Render: Physics World", "$PhysicsWorld::render", "togglePhysicsDebugViz" ); EVisibility.addOption( "AL: Disable Shadows", "$Shadows::disable", "" ); EVisibility.addOption( "AL: Light Color Viz", "$AL_LightColorVisualizeVar", "toggleLightColorViz" ); EVisibility.addOption( "AL: Light Specular Viz", "$AL_LightSpecularVisualizeVar", "toggleLightSpecularViz" ); diff --git a/Templates/Full/game/tools/worldEditor/scripts/visibilityLayer.ed.cs b/Templates/Full/game/tools/worldEditor/scripts/visibilityLayer.ed.cs index ed6709568..268e4b0b3 100644 --- a/Templates/Full/game/tools/worldEditor/scripts/visibilityLayer.ed.cs +++ b/Templates/Full/game/tools/worldEditor/scripts/visibilityLayer.ed.cs @@ -191,3 +191,11 @@ function EVisibility::addClassOptions( %this ) %selList.addGuiControl( %selCheckBox ); } } + +function togglePhysicsDebugViz( %enable ) +{ + if(physicsPluginPresent()) + { + physicsDebugDraw(%enable); + } +}