three实现给三维glb模型选择本地图片贴图材质合并生成新的glb下载代码

代码语言:html

所属分类:三维

代码描述:three实现给三维glb模型选择本地图片贴图材质合并生成新的glb下载代码,给三维模型选择新的图片左侧贴图材质生成新的带贴图三维模型。

代码标签: three 三维 glb 模型 选择 本地 图片 贴图 材质 合并 生成

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

<!doctype html>
<html lang="zh">
<head>
  <meta charset="utf-8" />
  <title>本地模型+贴图 合并导出 GLB(Three.js)</title>
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <style>
    html, body { margin:0; height:100%; background:#0e0f12; color:#eee; font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial; }
    #ui {
      position: absolute; top: 12px; left: 12px; z-index: 10;
      background: rgba(0,0,0,0.55); border: 1px solid rgba(255,255,255,0.08);
      padding: 12px; border-radius: 10px; width: 360px; backdrop-filter: blur(4px);
    }
    #ui h3 { margin: 0 0 8px; font-size: 16px; color: #91caff; }
    #ui .row { margin-bottom: 10px; }
    #ui label { display:block; font-size: 12px; opacity: 0.9; margin-bottom: 4px; }
    #ui input[type="file"] { width: 100%; }
    #ui .cols { display:flex; gap:8px; }
    #ui .cols > div { flex:1; }
    #ui input[type="number"], #ui input[type="range"] { width: 100%; }
    #ui button {
      background: #2563eb; color: #fff; border: 0; padding: 8px 10px; border-radius: 8px;
      cursor: pointer; font-weight: 600;
    }
    #ui button:disabled { opacity: 0.5; cursor: not-allowed; }
    #ui .muted { font-size: 12px; opacity: 0.8; }
    #log { margin-top: 6px; font-size: 12px; color: #bfefff; max-height: 80px; overflow: auto; }
    canvas { display:block; }
  </style>
</head>
<body>
  <div id="ui">
    <h3>本地模型 + 贴图 合并导出 GLB</h3>

    <div class="row">
      <label>模型文件(支持:.glb / .gltf / .obj / .fbx)如为 .gltf 带外链,请多选所有相关文件:</label>
      <input id="modelFiles" type="file" multiple accept=".glb,.gltf,.bin,.obj,.fbx,.png,.jpg,.jpeg,.webp,.ktx2" />
    </div>

    <div class="row">
      <label>贴图文件(BaseColor / Diffuse 图):</label>
      <input id="texFile" type="file" accept="image/*" />
    </div>

    <div class="row cols">
      <div>
        <label>金属度 metalness: <span id="mVal">0.1</span></label>
        <input id="metalness" type="range" min="0" max="1" step="0.01" value="0.1" />
      </div>
      <div>
        <label>粗糙度 roughness: <span id="rVal">0.9</span></label>
        <input id="roughness" type="range" min="0" max="1" step="0.01" value="0.9" />
      </div>
    </div>

    <div class="row cols">
      <div>
        <label>U 重复 repeatU</label>
        <input id="repU" type="number" value="1" min="0.01" step="0.1" />
      </div>
      <div>
        <label>V 重复 repeatV</label>
        <input id="repV" type="number" value="1" min.........完整代码请登录后点击上方下载按钮下载查看

网友评论0