mediapipe摄像头手势识别双手掌控太阳系三维粒子互动炫酷动画代码

代码语言:html

所属分类:三维

代码描述:mediapipe摄像头手势识别双手掌控太阳系三维粒子互动炫酷动画代码

代码标签: mediapipe 摄像头 手势 识别 双手 掌控 太阳系 三维 粒子 互动 炫酷 动画 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AI手势操控 3D 太阳系引力系统</title>
    <style>
        :root {
            --cosmic-cyan: #00f3ff;
            --cosmic-purple: #a855f7;
            --hud-font: 'Courier New', Courier, monospace;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            user-select: none;
        }

        body, html {
            width: 100%;
            height: 100%;
            overflow: hidden;
            background-color: #020306;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            color: #f3f4f6;
        }

        .app-container {
            position: relative;
            width: 100vw;
            height: 100vh;
        }

        /* 极致弱化灰度摄像头图层,作为背景 */
        #webcam {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scaleX(-1);
            opacity: 0.04; /* 只隐约显露手势轮廓 */
            filter: contrast(1.5) brightness(0.3) grayscale(100%);
            z-index: 1;
            pointer-events: none;
        }

        /* Three.js 3D 渲染图层 */
        #threeCanvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 2;
        }

        /* 2D 骨架与 HUD 辅助线层:由于 3D 画布本身不适合绘制2D复杂线条,用此 canvas 对齐 */
        #hudCanvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 3;
            pointer-events: none;
        }

        /* 科幻控制面板 */
        .control-panel {
            position: absolute;
            top: 20px;
            left: 20px;
            width: 320px;
            background: rgba(3, 6, 15, 0.75);
            backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 16px;
            padding: 20px;
            z-index: 10;
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.8);
        }

        h2 {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 12px;
            letter-spacing: 2px;
            background: linear-gradient(45deg, var(--cosmic-cyan), var(--cosmic-purple));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            font-family: var(--hud-font);
        }

        .status-container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 16px;
            background: rgba(255, 255, 255, 0.02);
            padding: 8px 12px;
            border-radius: 8px;
            font-size: 10px;
            font-family: var(--hud-font);
            border: 1px solid rgba(255, 255, 255, 0.02);
        }

        .status-dot {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #ef4444;
            display: inline-block;
            margin-right: 6px;
            box-shadow: 0 0 6px #ef4444;
        }

        .status-dot.active {
            background: var(--cosmic-cyan);
            box-shadow: 0 0 8px var(--cosmic-cyan);
        }

        .status-dot.exploding {
            background: #ff007b;
            box-shadow: 0 0 10px #ff007b;
            animation: pulse 0.5s infinite alternate;
        }

        @keyframes pulse {
            to { transform: scale(1.3); }
        }

        /* 引导说明 */
 .........完整代码请登录后点击上方下载按钮下载查看

网友评论0