Skip to content

11. Showcase Scene: Fuzzy Harbor

← Previous: Writing Custom Rules | Next: FAQ & Troubleshooting →


Overview

FuzzyOptimizer includes a rich, fully populated demonstration environment:

Assets/FuzzyLogicLabs/FuzzyOptimizer/Demo/FuzzyOptimizer_Showcase.unity

Fuzzy Harbor depicts a picturesque Mediterranean coastal town at golden hour. It was deliberately engineered so that every single audit rule category and optimization tool has authentic, real-world problems to solve while preserving visual aesthetics on camera. All textures, 3D meshes, audio files, and scripts are generated procedurally (see Third-Party Notices.txt).


District Bottleneck Breakdown

The showcase scene is divided into distinct zones, each targeting specific optimization subsystems:

District ZoneIntentional Bottlenecks & Optimization Workflows
Market SquareA central bronze fountain knot with 38,000 triangles (Read/Write enabled, 32-bit indices, zero LODs, dense MeshCollider). Market stalls configured with unshared duplicate materials. Hundreds of tiny decorative props casting realtime shadows. A 4K uncompressed cobblestone texture with its normal map imported as default color. Props running empty Update() callbacks and an NPC with a missing script.
Old TownApproximately 60 architectural townhouses. The inner ring lacks static flags (demonstrating Mark Static and Mesh Combining). The outer ring features static occluders with unbaked occlusion culling. Non-power-of-two (NPOT) plaster textures without mipmaps. 24 decorative street lanterns, half configured with expensive realtime point shadows.
Temple HillFluted stone columns with complex MeshColliders (demonstrating primitive capsule fitting). A hollow walkthrough stone archway (demonstrating low-poly non-convex proxy colliders). Lightmapped monuments lacking UV2 channels. A classical statue with fragmented vertices and inverted normals for mesh repair tools. A realtime reflection probe updating 6 faces every frame. A 2.5-second bell audio clip configured to stream.
Windmill HillAn Animator-driven windmill whose rotating blades contain static colliders (triggering physics transform dirtying) set to Always Animate.
Harbor & LighthouseHundreds of individual wooden pier planks and mooring posts. Bobbing boats with skinned fabric pennants marked with Update When Offscreen. 16 dockside cargo crates configured with continuous dynamic physics. A 14-second uncompressed stereo PCM wave ambience attached to a 3D emitter. A revolving lighthouse with two shadow-casting realtime spotlights.
Harbor FestivalBonfires and torches featuring particle systems that cast shadows, calculate high-quality world raycast collisions, always simulate off-screen, and permit 5,000 particles. A celebratory spark beacon spawning projectiles via Instantiate()/Destroy() to demonstrate the runtime pool manager.
Forest & Mountain CastleOver 900 trees and 600 boulders spanning out to 340 meters (demonstrating layer distance culling, size culling, and 8-way impostor baking). Five 34,000-triangle castle towers on the mountain peak. A large terrain configured with expensive basemap and pixel error settings, and an excessive 3,000 m camera far clip plane.

Play Mode Controls & Telemetry HUD

Press Play in the Unity Editor to interactively inspect scene performance:

Key BindingInteractive Action
1 – 5Teleport instantly between the five predefined Benchmark Viewpoints.
CStart or stop the automated cinematic camera flythrough along Cinematic Path.
SpacePause or resume the cinematic flythrough at any point.
Right Mouse + WASDFree fly-camera navigation with mouse look.
HToggle telemetry HUD modes: Full Metrics $\to$ Minimal Stats $\to$ Hidden.

The live on-screen HUD displays real-time FPS, frame time (ms), total batches, SetPass calls, visible triangles, and GC allocations per frame.


Suggested Step-by-Step Walkthrough

Experience the full power of FuzzyOptimizer in 5 simple steps:

  1. Initial Audit: Open FuzzyOptimizer_Showcase.unity and open the Dashboard (Window > Fuzzy Logic Labs > FuzzyOptimizer > Dashboard). Note the initial Health Score (typically ~35/100) and observe the red budget overruns.
  2. Baseline Play Mode Test: Enter Play Mode, press C to activate the cinematic flythrough, and observe the framerate and batch counts in the HUD.
  3. Run 1-Click Optimize & Measure FPS: Exit Play Mode. Click Optimize & Measure FPS on the Overview tab and select the Balanced preset. Watch the automated benchmark evaluate viewpoints, apply fixes, await occlusion baking, and re-benchmark.
  4. Inspect the Results: Examine the Results tab. Observe the significant drop in batches (~60–80% reduction), recovered VRAM, and framerate gains. Toggle the before/after camera image swipe comparison.
  5. Explore Standalone Tools: Open the scene and test targeted tools manually:
    • Use the Burst Decimator on the 38k fountain knot in Market Square.
    • Use the Collider Optimizer on Temple Hill columns.
    • Bake 8-directional impostors for the distant mountain forest.
    • Attach ZeroAllocPoolManager to the festival spark beacon.