From 4d83a2d00119b0a00d55ec2fcae4d229a61dcbe4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 20 May 2026 18:20:54 +0800 Subject: [PATCH] fix: align 3d world mesh display --- components/canvas/model3d/Model3DViewer.tsx | 11 ++++++++++- components/canvas/nodes/World3DNode.tsx | 6 ++++-- components/canvas/world3d/World3DViewer.tsx | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/components/canvas/model3d/Model3DViewer.tsx b/components/canvas/model3d/Model3DViewer.tsx index 0c98e2a26..43c6652b8 100644 --- a/components/canvas/model3d/Model3DViewer.tsx +++ b/components/canvas/model3d/Model3DViewer.tsx @@ -56,6 +56,7 @@ type Model3DViewerProps = { previewImageUrl?: string | null; emptyStateTitle?: string; settings: Model3DViewerSettings; + modelRotation?: [number, number, number]; layerVisibility?: Record; onLayersChange?: (layers: Model3DLayer[]) => void; onStatsChange?: (stats: Model3DStats) => void; @@ -194,12 +195,14 @@ function collectSceneMeta(scene: Object3D): { function ModelScene({ url, settings, + modelRotation, layerVisibility, onLayersChange, onStatsChange, }: { url: string; settings: Model3DViewerSettings; + modelRotation?: [number, number, number]; layerVisibility?: Record; onLayersChange?: (layers: Model3DLayer[]) => void; onStatsChange?: (stats: Model3DStats) => void; @@ -266,7 +269,11 @@ function ModelScene({ } }, [meta.meshRefs, settings.wireframe]); - return ; + return ( + + + + ); } function ViewerCaptureBridge({ @@ -351,6 +358,7 @@ export function Model3DViewer({ previewImageUrl, emptyStateTitle = "准备生成 3D 资产", settings, + modelRotation, layerVisibility, onLayersChange, onStatsChange, @@ -458,6 +466,7 @@ export function Model3DViewer({ setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} diff --git a/components/canvas/world3d/World3DViewer.tsx b/components/canvas/world3d/World3DViewer.tsx index 7dd2d2e8b..d4bea1cf4 100644 --- a/components/canvas/world3d/World3DViewer.tsx +++ b/components/canvas/world3d/World3DViewer.tsx @@ -1540,6 +1540,7 @@ export function World3DViewer({