fix: parameters
This commit is contained in:
parent
cde2134b4b
commit
342cf97a50
|
|
@ -139,17 +139,9 @@ export default function MdTokenViewer(props: TokenViewerProps) {
|
||||||
isDragging = false;
|
isDragging = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleWheel = (e: WheelEvent) => {
|
|
||||||
if (!camera) return;
|
|
||||||
|
|
||||||
const zoomSpeed = 0.5;
|
|
||||||
camera.position.multiplyScalar(e.deltaY > 0 ? 1 + zoomSpeed : 1 - zoomSpeed);
|
|
||||||
};
|
|
||||||
|
|
||||||
viewerEl.addEventListener("mousedown", handleMouseDown);
|
viewerEl.addEventListener("mousedown", handleMouseDown);
|
||||||
document.addEventListener("mousemove", handleMouseMove);
|
document.addEventListener("mousemove", handleMouseMove);
|
||||||
document.addEventListener("mouseup", handleMouseUp);
|
document.addEventListener("mouseup", handleMouseUp);
|
||||||
viewerEl.addEventListener("wheel", handleWheel);
|
|
||||||
|
|
||||||
// 动画循环
|
// 动画循环
|
||||||
const animate = () => {
|
const animate = () => {
|
||||||
|
|
@ -169,7 +161,6 @@ export default function MdTokenViewer(props: TokenViewerProps) {
|
||||||
viewerEl.removeEventListener("mousedown", handleMouseDown);
|
viewerEl.removeEventListener("mousedown", handleMouseDown);
|
||||||
document.removeEventListener("mousemove", handleMouseMove);
|
document.removeEventListener("mousemove", handleMouseMove);
|
||||||
document.removeEventListener("mouseup", handleMouseUp);
|
document.removeEventListener("mouseup", handleMouseUp);
|
||||||
viewerEl.removeEventListener("wheel", handleWheel);
|
|
||||||
|
|
||||||
if (renderer) {
|
if (renderer) {
|
||||||
renderer.dispose();
|
renderer.dispose();
|
||||||
|
|
@ -192,7 +183,7 @@ export default function MdTokenViewer(props: TokenViewerProps) {
|
||||||
style={{ "min-height": "200px" }}
|
style={{ "min-height": "200px" }}
|
||||||
>
|
>
|
||||||
<div class="absolute top-2 left-2 z-10 bg-black/50 text-white text-xs px-2 py-1 rounded">
|
<div class="absolute top-2 left-2 z-10 bg-black/50 text-white text-xs px-2 py-1 rounded">
|
||||||
拖动旋转 | 滚动缩放
|
拖动旋转
|
||||||
</div>
|
</div>
|
||||||
<Show when={error()}>
|
<Show when={error()}>
|
||||||
<div class="absolute inset-0 flex items-center justify-center bg-black/50 text-white">
|
<div class="absolute inset-0 flex items-center justify-center bg-black/50 text-white">
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ customElement("md-token", { size: 50, defaultThickness: 2 }, (props, { element }
|
||||||
name: layer.name || `图层 ${index + 1}`,
|
name: layer.name || `图层 ${index + 1}`,
|
||||||
enabled: true,
|
enabled: true,
|
||||||
thickness: props.defaultThickness || 2,
|
thickness: props.defaultThickness || 2,
|
||||||
color: layer.color || `hsl(${(index * 60) % 360}, 70%, 50%)`,
|
color: `#${layer.color.getHexString()}` || `hsl(${(index * 60) % 360}, 70%, 50%)`,
|
||||||
}));
|
}));
|
||||||
setLayers(layerSettings);
|
setLayers(layerSettings);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ export async function traceImage(
|
||||||
|
|
||||||
// 默认配置 - 使用 detailed preset 作为基础
|
// 默认配置 - 使用 detailed preset 作为基础
|
||||||
const defaultOptions: Partial<Options> = {
|
const defaultOptions: Partial<Options> = {
|
||||||
...Options.Presets.curvy,
|
...Options.Presets.default,
|
||||||
numberOfColors: 8, // 限制颜色数量以控制图层数
|
numberOfColors: 8, // 限制颜色数量以控制图层数
|
||||||
minColorQuota: 0.01, // 降低最小颜色占比阈值
|
minColorQuota: 0.01, // 降低最小颜色占比阈值
|
||||||
strokeWidth: 0, // 不需要描边
|
strokeWidth: 0, // 不需要描边
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ export async function generateSTL(
|
||||||
// 创建挤压几何体 - Three.js 支持直接传入 shape 数组
|
// 创建挤压几何体 - Three.js 支持直接传入 shape 数组
|
||||||
const extrudeSettings: THREE.ExtrudeGeometryOptions = {
|
const extrudeSettings: THREE.ExtrudeGeometryOptions = {
|
||||||
depth: layerSetting.thickness,
|
depth: layerSetting.thickness,
|
||||||
curveSegments: 36,
|
curveSegments: 12,
|
||||||
bevelEnabled: false,
|
bevelEnabled: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue