Three.js + GLSL模拟三维黑洞动画代码
代码语言:html
所属分类:三维
代码描述:Three.js + GLSL模拟三维黑洞动画代码
代码标签: Three.js GLSL 模拟 三维 黑洞 动画 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<style>
:root{
--ink:#e8e4da;
--dim:#8a8578;
--line:rgba(232,228,218,.14);
--amber:#ffb45e;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;overflow:hidden;background:#000}
body{font-family:"Courier New",ui-monospace,monospace;color:var(--ink)}
canvas{display:block;width:100vw;height:100vh;touch-action:none;cursor:grab}
canvas:active{cursor:grabbing}
#titulo{
position:fixed;top:22px;left:26px;pointer-events:none;
letter-spacing:.42em;font-size:13px;color:var(--ink);
text-transform:uppercase;opacity:.9;z-index:5;
}
#titulo small{
display:block;margin-top:6px;letter-spacing:.18em;
font-size:9px;color:var(--dim);
}
#datos{
position:fixed;right:26px;top:22px;text-align:right;
font-size:9px;letter-spacing:.14em;color:var(--dim);
text-transform:uppercase;line-height:1.9;pointer-events:none;z-index:5;
}
#datos b{color:var(--amber);font-weight:normal}
#panel{
position:fixed;left:26px;bottom:24px;width:238px;
background:rgba(0,0,0,.55);backdrop-filter:blur(6px);
border:1px solid var(--line);padding:14px 16px 12px;
font-size:10px;letter-spacing:.08em;z-index:5;
}
#panel .fila{margin-bottom:10px}
input[type=text]{
width:100%;background:rgba(0,0,0,.4);border:1px solid var(--line);
color:var(--amber);font-family:inherit;font-size:11px;
letter-spacing:.3em;text-transform:uppercase;padding:6px 8px;outline:none;
}
input[type=text]:focus{border-color:var(--amber)}
input[type=text]::placeholder{color:var(--dim);letter-spacing:.2em}
#panel label{
display:flex;justify-content:space-between;
color:var(--dim);text-transform:uppercase;margin-bottom:4px;
}
#panel label b{color:var(--ink);font-weight:normal}
input[type=range]{
-webkit-appearance:none;appearance:none;width:100%;height:2px;
background:var(--line);outline:none;
}
input[type=range]::-webkit-slider-thumb{
-webkit-appearance:none;appearance:none;width:10px;height:10px;
background:var(--amber);border-radius:50%;cursor:pointer;
}
input[type=range]::-moz-range-thumb{
width:10px;height:10px;background:var(--amber);
border:none;border-radius:50%;cursor:pointer;
}
#panel .toggles{display:flex;gap:6px;margin-top:2px}
#panel button{
flex:1;background:none;border:1px solid var(--line);color:var(--dim);
font-family:inherit;font-size:9px;letter-spacing:.1em;padding:5px 0;
cursor:pointer;text-transform:uppercase;transition:all .2s;
}
#panel button.on{color:var(--amber);border-color:var(--amber)}
#panel button:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
#panel .etiqueta{
color:var(--dim);text-transform:uppercase;font-size:9px;
letter-spacing:.14em;margin:8px 0 4px;
}
#ayuda{
position:fixed;right:26px;bottom:24px;text-align:right;
font-size:9px;letter-spacing:.14em;color:var(--dim);
text-transform:uppercase;line-height:1.9;pointer-events:none;z-index:5;
}
#error{
display:none;position:fixed;inset:0;z-index:20;
background:rgba(0,0,0,.92);padding:40px 30px;
font-size:11px;line-height:1.8;color:#ff9d7a;
white-space:pre-wrap;overflow:auto;
}
#error h2{
font-size:12px;letter-spacing:.3em;text-transform:uppercase;
color:var(--ink);margin-bottom:16px;font-weight:normal;
}
@media (max-wid.........完整代码请登录后点击上方下载按钮下载查看















网友评论0