three实现可视化拖拽生成3d物体并编辑效果代码
代码语言:html
所属分类:三维
代码描述:three实现可视化拖拽生成3d物体并编辑效果代码
代码标签: 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> <style> * { box-sizing: border-box; } html, body { height: 100%; margin: 0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; } .app { display: grid; grid-template-columns: 320px 1fr; height: 100%; } aside { background: #0f172a; color: #e2e8f0; padding: 16px; overflow: auto; border-right: 1px solid #1f2937; } aside h1 { font-size: 18px; margin: 0 0 8px; } aside h2 { font-size: 14px; margin: 16px 0 8px; color:#93c5fd; } aside .card { background:#111827; border:1px solid #374151; border-radius:14px; padding:12px; margin-bottom:12px; } aside label { display:block; font-size: 12px; opacity:.9; margin:6px 0 4px; } aside input[type="color"], aside input[type="number"], aside select, aside button, aside input[type="checkbox"] { width: 100%; padding: 8px; border-radius: 10px; border: 1px solid #374151; background: #0b0f1a; color: #e5e7eb; outline: none; } aside button { cursor: pointer; transition: transform .06s ease, background .2s ease; } aside button:hover { transform: translateY(-1px); background:#111826; } aside .row { display:flex; gap:8px; } aside .row > * { flex:1; } #viewport { position: relative; background: #0b1020; } canvas { display:block; } /* 展开视图覆盖层 */ #unfoldOverlay { position:absolute; inset:0; display:none; align-items:center; justify-content:center; background:rgba(2,6,23,.9); } #unfoldPanel { background:#0a0f1f; border:1px solid #1f2a44; border-radius:16px; padding:16px; color:#e5e7eb; width:min(90vw,900px); } #unfoldPanel h3{ margin:0 0 8px; font-size:16px; } #unfoldCanvas { width:100%; height:520px; background:#0b1228; border-radius:12px; border:1px solid #24314f; display:block; } #closeUnfold { margin-top:10px; } .pill { display:inline-block; padding:4px 8px; border:1px solid #334155; border-radius:999px; font-size:12px; opacity:.85; } </style> </head> <body> <div class="app"> <aside> <h1>🧊 3D 立体绘制工具</h1> <div class="card"> <div class="row"> <div> <label>形状</label> <select id="shape"> <option value="box">立方体 / 长方体</option> <option value="cylinder">圆柱</option> <option value="ellipsoid">椭球</option> </select> </div> <div> <label>模式</label> <select id="mode"> <option value="draw">拖拽绘制</option> <option value="select">选择/编辑</option> </select> </div> </div> <label>辅助网格</label> <input type="checkbox" id="gridToggle" checked /> <label>吸附步长(单位)</label> <input type="number" id="snap" min="0" step="0.1" value="0.5" /> </div> <div class="card"> <h2>尺寸(选中形状可编辑)</h2> <div id="dimsBox"> <div class="row"> <div><label>宽 W</label><input type="number" id="dimW" step="0.1" /></div> <div><label>高 H</label><input type="number" id="dimH" step="0.1" /></div> <div><label>深 D</label><input type="number" id="dimD" step="0.1" /></div> </div> </div> <div id="dimsCyl" style="dis.........完整代码请登录后点击上方下载按钮下载查看
网友评论0