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({