three实现3d三维镜头人物布局工具代码

代码语言:html

所属分类:三维

代码描述:three实现3d三维镜头人物布局工具代码,可操控镜头中的人物姿势和数量及布局,并生成镜头和人物标注,方便给ai视频和图片当做镜头人物布局参考。

代码标签: three 3d 三维 镜头 人物 布局 工具 代码

下面为部分代码预览,完整代码请点击下载或在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>3D 镜头与人物站位规划工具</title>
    <!-- Tailwind CSS CDN -->
    <script src="https://cdn.tailwindcss.com"></script>
    <!-- Three.js CDN -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
    <!-- OrbitControls & TransformControls CDN -->
    <script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/controls/OrbitControls.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/controls/TransformControls.js"></script>
    <style>
        body {
            overflow: hidden;
            background-color: #0f172a;
        }
        /* 隐藏 canvas 默认外边框 */
        canvas {
            display: block;
            outline: none;
        }
        /* 自定义滚动条 */
        ::-webkit-scrollbar {
            width: 6px;
        }
        ::-webkit-scrollbar-track {
            background: #1e293b;
        }
        ::-webkit-scrollbar-thumb {
            background: #475569;
            border-radius: 3px;
        }
    </style>
</head>
<body class="text-slate-100 flex flex-col h-screen select-none">

    <!-- 顶部状态栏 -->
    <header class="bg-slate-900 border-b border-slate-800 px-6 py-3 flex justify-between items-center z-10">
        <div class="flex items-center space-x-3">
            <div class="w-3 h-3 bg-blue-500 rounded-full animate-pulse"></div>
            <h1 class="text-lg font-semibold tracking-wider">3D 镜头与人物站位规划工具</h1>
        </div>
        <div class="text-xs text-slate-400">
            操作说明:左键旋转主视角,右键平移,滚轮缩放。点击人物进行拖拽与姿态调整。
        </div>
    </header>

    <!-- 主工作区 -->
    <main class="flex-1 flex overflow-hidden">
        
        <!-- 左侧控制面板 -->
        <section class="w-80 bg-slate-900 border-r border-slate-800 flex flex-col overflow-y-auto p-4 space-y-6 z-10 shrink-0">
            
            <!-- 场景与模型管理 -->
            <div>
                <h2 class="text-sm font-semibold text-slate-400 uppercase tracking-wider mb-3">场景操作</h2>
                <div class="grid grid-cols-2 gap-2">
                    <button id="btnAddCharacter" class="bg-blue-600 hover:bg-blue-500 text-white py-2 px-3 rounded text-sm transition font-medium">
                        + 添加人物
                    </button>
                    <button id="btnBatchCopy" class="bg-slate-800 hover:bg-slate-700 text-slate-200 py-2 px-3 rounded text-sm transition border border-slate-700">
                        批量复制
                    </button>
                </div>
            </div>

            <!-- 当前选中人物配置 -->
            <div id="characterPanel" class="bg-slate-950 p-4 rounded-lg border border-slate-800 space-y-4">
                <div class="flex justify-between items-center border-b border-slate-800 pb-2">
                    <h3 class="font-semibold text-blue-400 text-sm">人物属性编辑</h3>
                    <span id="selectedCharName" class="text-xs text-slate-400">未选中</span>
                </div>
                
                <!-- 名字 -->
                <div>
                    <label class="block text-xs text-slate-400 mb-1">人物名称/标注</label>
                    <input id="inputCharName" type="text" class="w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-sm focus:outline-none focus:border-blue-500" placeholder="例如:角色 A">
                </div>

                <!-- 预设动作 -->
                <div>
                    <label class="block text-xs text-slate-400 mb-1">姿势/动作</label>
                    <select id="selectPose" class="w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-sm focus:outline-none focus:border-blue-500">
                        <option value="standing">站立</option>
                        <option value="sitting">坐着</option>
                        <option value="kneeling">跪着</option>
          .........完整代码请登录后点击上方下载按钮下载查看

网友评论0