three三维三层别墅场景代码

代码语言:html

所属分类:其他

代码由minimx-m3.1-flash ai生成,可能有错误,仅供参考:点击查看提示词

代码描述:三维农村小别墅场景

代码标签: three 三维 三层 别墅 场景 代码

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

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover" />
<title>云顶华府 · 三维豪华别墅自由漫游</title>
<style>
  :root{
    --gold:#e8c47a;
    --gold-dim:#a98b4e;
    --panel:rgba(14,18,26,.58);
    --stroke:rgba(232,196,122,.22);
    --txt:#eef3fb;
    --muted:rgba(238,243,251,.62);
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  html,body{margin:0;height:100%;overflow:hidden;background:#05070c;color:var(--txt);
    font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;}
  canvas{display:block;position:fixed;inset:0}
  #ui{position:fixed;inset:0;pointer-events:none;z-index:10}
  .pnl{background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border:1px solid var(--stroke);border-radius:14px;box-shadow:0 10px 34px rgba(0,0,0,.42)}

  /* ---------- HUD 左上 ---------- */
  #hud{position:absolute;left:16px;top:16px;padding:13px 15px;min-width:212px;font-size:12.5px;line-height:1.75}
  #hud .ttl{font-size:13px;font-weight:700;letter-spacing:2.5px;color:var(--gold);
    padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--stroke);display:flex;align-items:center;gap:7px}
  #hud .ttl i{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);font-style:normal}
  #hud .row{display:flex;justify-content:space-between;gap:16px}
  #hud .k{color:var(--muted)}
  #hud .v{color:var(--txt);font-variant-numeric:tabular-nums}
  #hud .big{font-size:19px;font-weight:600;color:var(--gold);letter-spacing:1px}

  /* ---------- 提示 ---------- */
  #cross{position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%);
    pointer-events:none;opacity:.9;transition:transform .18s,opacity .18s}
  #cross:before,#cross:after{content:"";position:absolute;background:rgba(255,255,255,.9);box-shadow:0 0 4px rgba(0,0,0,.6)}
  #cross:before{left:9px;top:2px;width:2px;height:16px}
  #cross:after{left:2px;top:9px;width:16px;height:2px}
  #cross.hit{transform:translate(-50%,-50%) scale(1.45) rotate(45deg);opacity:1}
  #cross.hit:before,#cross.hit:after{background:var(--gold)}
  #prompt{position:absolute;left:50%;top:calc(50% + 46px);transform:translateX(-50%);
    padding:8px 15px;border-radius:999px;font-size:13px;letter-spacing:.5px;white-space:nowrap;
    opacity:0;transition:opacity .18s;background:rgba(10,14,22,.72);border:1px solid var(--stroke)}
  #prompt.on{opacity:1}
  #prompt b{color:var(--gold);font-weight:600}

  /* ---------- 右下按键 ---------- */
  #help{position:absolute;right:16px;bottom:16px;padding:12px 14px;font-size:12px;line-height:1.85;
    color:var(--muted);max-width:250px}
  #help b{color:var(--txt);font-weight:600}
  #help .kb{display:inline-block;min-width:19px;text-align:center;padding:0 5px;margin-right:3px;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-bottom-width:2px;
    border-radius:5px;color:var(--gold);font-size:11px;font-weight:600}
  #help .hd{color:var(--gold);font-weight:700;letter-spacing:1.6px;margin-bottom:7px;
    padding-bottom:6px;border-bottom:1px solid var(--stroke);font-size:12px}
  #help.min .bd{display:none}

  /* ---------- 右上车况 ---------- */
  #wx{position:absolute;right:16px;top:16px;padding:12px 14px;font-size:12.5px;min-width:158px;text-align:right}
  #wx .t{font-size:24px;font-weight:300;letter-spacing:1px;color:var(--gold);font-variant-numeric:tabular-nums}
  #wx .s{margin-top:5px;font-size:12.5px}
  #wx .m{margin-top:6px;color:var(--muted);font-size:11.5px;letter-spacing:.4px}
  #flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}

  /* ---------- 视角快捷 ---------- */
  #views{position:absolute;left:16px;bottom:16px;display:flex;gap:7px;pointer-events:auto;flex-wrap:wrap;max-width:min(560px,60vw)}
  #views .vb{padding:7px 12px;border-radius:10px;font-size:12px;color:var(--muted);cursor:pointer;
    background:var(--panel);border:1px solid var(--stroke);backdrop-filter:blur(12px);transition:.18s;user-select:none}
  #views .vb:hover{color:var(--txt);border-color:var(--gold);background:rgba(232,196,122,.14)}
  #views .vb.on{color:#1a1408;background:var(--gold);border-color:var(--gold);font-weight:600}

  /* ---------- toast ---------- */
  #toast{position:absolute;left:50%;top:76px;transform:translate(-50%,-8px);padding:9px 18px;border-radius:999px;
    font-size:13px;opacity:0;transition:.3s;background:rgba(10,14,22,.8);border:1px solid var(--stroke);letter-spacing:.5px}
  #toast.on{opacity:1;transform:translate(-50%,0)}

  /* ---------- 淡入淡出 ---------- */
  #fade{position:absolute;inset:0;background:#05070c;opacity:0;transition:opacity .45s;pointer-events:none}

  /* ---------- 开场 ---------- */
  #start{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;
    background:radial-gradient(ellipse at 50% 42%,#16223a 0%,#080b12 62%,#04060a 100%);transition:opacity .7s}
  #start.gone{opacity:0;pointer-events:none}
  #start .logo{font-size:min(7.6vw,54px);letter-spacing:16px;font-weight:200;color:var(--gold);
    text-shadow:0 0 34px rgba(232,196,122,.42);margin-bottom:6px;text-indent:16px}
  #start .sub{font-size:12.5px;letter-spacing:7px;color:var(--muted);margin-bottom:34px;text-indent:7px}
  #start .card{width:min(560px,88vw);padding:26px 30px;border-radius:18px;background:rgba(12,16,24,.6);
    border:1px solid var(--stroke);backdrop-filter:blur(16px);margin-bottom:28px}
  #start .card h3{font-size:13px;color:var(--gold);letter-spacing:3px;margin:0 0 16px;font-weight:600;text-align:center}
  #start .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 22px;font-size:12.5px;color:var(--muted)}
  #start .grid span{color:var(--txt)}
  #go{padding:14px 52px;border-radius:999px;border:1px solid var(--gold);background:transparent;color:var(--gold);
    font-size:14px;letter-spacing:6px;cursor:pointer;transition:.28s;font-family:inherit;text-indent:6px}
  #go:hover{background:var(--gold);color:#14100a;box-shadow:0 0 40px rgba(232,196,122,.5)}
  #go[disabled]{opacity:.4;cursor:wait;border-color:#666}
  #load{margin-top:18px;font-size:12px;color:var(--muted);letter-spacing:2px;height:16px}
  #bar{width:min(560px,88vw);height:2px;background:rgba(255,255,255,.09);border-radius:2px;overflow:hidden;margin-top:10px}
  #bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-dim),var(--gold));
    transition:width .25s;box-shadow:0 0 12px rgba(232,196,122,.8)}

  /* ---------- 触屏 ---------- */
  #touch{position:absolute;inset:0;display:none}
  #touch.on{display:block}
  #stick{position:absolute;left:26px;bottom:96px;width:112px;height:112px;border-radius:50%;
    background:rgba(255,255,255,.07);border:1px solid var(--stroke);pointer-events:auto}
  #stick i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;
    background:rgba(232,196,122,.34);border:1px solid var(--gold)}
  .tbtn{position:absolute;pointer-events:auto;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;font-size:12px;color:var(--gold);background:rgba(14,18,26,.6);border:1px solid var(--stroke)}
  #tE{right:28px;bottom:110px}
  #tJ{right:104px;bottom:104px;font-size:20px}
  #tH{right:28px;bottom:34px;width:auto;height:34px;padding:0 15px;border-radius:999px;font-size:11.5px}
  #tH.min .bd{display:none}
  @media (max-width:720px){
    #help,#hud{font-size:11px;padding:9px 11px;min-width:0}
    #hud .big{font-size:15px}
    #wx{padding:8px 10px;min-width:0}#wx .t{font-size:17px}
    #views{bottom:auto;top:auto;left:12px;bottom:12px;max-width:52vw;gap:5px}
    #views .vb{padding:5px 9px;font-size:11px}
  }
</style>
</head>
<body>

<div id="ui">
  <div id="hud" class="pnl">
    <div class="ttl"><i></i>云顶华府 · 实景漫游</div>
    <div class="row"><span class="k">当前时刻</span><span class="v big" id="hTime">08:00</span></div>
    <div class="row"><span class="k">天气</span><span class="v" id="hWx">晴</span></div>
    <div class="row"><span class="k">所在楼层</span><span class="v" id="hFl">1F · 门厅</span></div>
    <div class="row"><span class="k">坐标</span><span class="v" id="hPos">0, 0</span></div>
  </div>

  <div id="wx" class="pnl">
    <div class="t" id="wTime">08:00</div>
    <div class="s" id="wWx">☀️ 晴朗</div>
    <div class="m" id="wX">室外 24°C · 风 1 级</div>
  </div>

  <div id="cross"></div>
  <div id="prompt"></div>
  <div id="toast"></div>
  <div id="fade"></div>
  <div id="flash"></div>

  <div id="views">
    <div class="vb" data-v="0">大门外</div>
    <div class="vb" data-v="1">庭院全景</div>
    <div class="vb" data-v="2">客厅</div>
    <div class="vb" data-v="3">二楼阳台</div>
    <div class="vb" data-v="4">主卧</div>
    <div class="vb" data-v="5">屋顶露台</div>
  </div>

  <div id="help" class="pnl">
    <div class="hd">操作指南</div>
    <div class="bd">
      <div><span class="kb">W</span><span class="kb">A</span><span class="kb">S</span><span class="kb">D</span> 移动 / 方向键</div>
      <div><span class="kb">Shift</span> 奔跑 &nbsp; <span class="kb">空格</span> 跳跃</div>
      <div><span class="kb">E</span> 开关门窗 · 开关灯</div>
      <div><span class="kb">F</span> 手电筒 &nbsp; <span class="kb">L</span> 全屋灯光</div>
      <div><span class="kb">T</span> 加速时间 &nbsp; <span class="kb">M</span> 手动换天气</div>
      <div><span class="kb">C</span> 俯瞰全屋 &nbsp; <span class="kb">1</span>–<span class="kb">6</span> 场景传送</div>
      <div><span class="kb">H</span> 收起面板 &nbsp; <span class="kb">Esc</span> 释放鼠标</div>
    </div>
  </div>

  <div id="touch">
    <div id="stick"><i></i></div>
    <div class="tbtn" id="tE">开 / 关</div>
    <div class="tbtn" id="tJ">↑</div>
    <div class="tbtn" id="tH">帮助</div>
  </div>
</div>

<div id="start">
  <div class="logo">云顶华府</div>
  <div class="sub">THREE-FLOOR VILLA · 自由漫游</div>
  <div class="card">
    <h3>庭 院 与 建 筑 一 览</h3>
    <div class="grid">
      <div><span>三层独栋</span> · 现代精装</div>
      <div><span>庭院</span> · 菜园 / 池塘 / 假山</div.........完整代码请登录后点击上方下载按钮下载查看

网友评论0