diff --git a/app/src/components/three/Bridge3D.tsx b/app/src/components/three/Bridge3D.tsx index 8a37cbf..580fc8d 100644 --- a/app/src/components/three/Bridge3D.tsx +++ b/app/src/components/three/Bridge3D.tsx @@ -113,7 +113,7 @@ function BridgeModel({ /> @@ -166,13 +163,13 @@ function ShelterModel({ {/* Textos Informativos 3D - Virados para quem olha da frente (-Z) */} {!isAirflow && ( <> - + {isElevation ? 'CORTE A-A (Elevação)' : 'Abrigo / Pórtico (NBR 6123)'} - + Arrancamento [+Fz ↑] - + Empuxo no Fundo [+Fx →] diff --git a/app/src/components/three/SignAirflowSystem.tsx b/app/src/components/three/SignAirflowSystem.tsx index 8a383a0..dd2b0ca 100644 --- a/app/src/components/three/SignAirflowSystem.tsx +++ b/app/src/components/three/SignAirflowSystem.tsx @@ -13,7 +13,7 @@ export interface SignAirflowSystemProps { export function SignAirflowSystem({ length, height, groundClearance, alpha, cf }: SignAirflowSystemProps) { const isDark = useCanvasTheme() === 'dark'; - const count = 350; + const count = 175; const meshRef = useRef(null); const baseY = groundClearance; const topY = baseY + height; @@ -34,7 +34,7 @@ export function SignAirflowSystem({ length, height, groundClearance, alpha, cf } Math.random() * (topY * 1.6), (Math.random() - 0.5) * limitZ * 2 ), - baseSpeed: 0.12 + Math.random() * 0.08, + baseSpeed: 0.06 + Math.random() * 0.04, wobbleSpeed: Math.random() * 0.05, wobbleOffset: Math.random() * Math.PI * 2, currentCpe: 0, diff --git a/app/src/components/three/Tower3D.tsx b/app/src/components/three/Tower3D.tsx index 1b9cf33..9dc9ea7 100644 --- a/app/src/components/three/Tower3D.tsx +++ b/app/src/components/three/Tower3D.tsx @@ -210,13 +210,13 @@ function TowerModel({ {isAirflow ? (