I’m running into some unexpected performance and rendering problems with a set of 3D food assets that I created in Blender for my Texas Roadhouse menu website, and I’m hoping someone here might point me in the right direction. I built a few detailed models mainly steaks, sides, drinks, and a couple of environment props to use as interactive elements on the website. These models look great in Blender, but once exported and integrated into the site, the loading times and performance metrics are significantly worse than expected, even on devices with decent hardware. I’ve tried simplifying materials and textures, but the slowdown persists.
The first major issue seems to be texture optimization. I baked several texture maps (albedo, roughness, normal, displacement) at 4K because I wanted crisp detail for close-ups, but even after scaling them down to 2K, the GLTF/GLB files are still fairly large. When using Blender’s texture packer or manually reducing resolution, the quality drops sharply, especially on glossy items like steaks and buttered rolls. I’m not sure if my material node setups are too complex or if I’m exporting something incorrectly during the GLTF process.
Another problem occurs with lighting and shading once the models leave Blender. In Eevee and Cycles, everything looks fine, but when viewed in the browser (using Three.js), the shading becomes inconsistent some food surfaces appear too flat while others become overly shiny or washed out. This makes the Texas Roadhouse menu items look unrealistic compared to the intended design. I’ve tried switching between different normal map formats, enabling/disabling tangent space normals, and recalculating mesh normals, but the issue keeps returning across multiple exports.
I’m also noticing that the polygon counts might be higher than necessary, even though I used modifiers like Subdivision and Bevel only where needed. The steaks in particular use sculpted displacement, which I baked into a normal map, but the high-res topology still seems to sneak into the export. Even the decimated versions don’t perform as well as expected. I’m wondering if Blender’s export settings are retaining hidden geometry, or if I need to approach retopology in a more optimized way to reduce overhead for real-time rendering on the website.
There’s also a weird issue with animation playback. I added subtle looping animations—like a glistening highlight moving across the steak surface to make the menu feel more dynamic. These animations function perfectly inside Blender, but after exporting, some of them jitter or desync in the browser. I’ve checked keyframes, interpolation modes, and even tried baking animations before export, but nothing provides a consistent fix. I’m not sure if this is a Blender export issue or something related to Three.js handling.
Finally, I’d appreciate any advice on best practices for optimizing Blender models specifically for use on commercial websites. Since my project revolves around Texas Roadhouse menu items, I want the highest realism possible without sacrificing performance. If anyone has workflows for texture compression, node simplification, retopology strategies, or GLTF settings that preserve quality while reducing size, I would be grateful. I’m also open to switching render engines or baking strategies if it helps produce assets that behave more consistently on the web. Sorry for the long post!