three实现三维塔四季切换场景动画代码

代码语言:html

所属分类:三维

代码描述:three实现三维塔四季切换场景动画代码

代码标签: three 三维 四季 切换 场景 动画 代码

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Procedural Chinese/Japanese Castle Scene</title>
    <style>
        body { margin: 0; overflow: hidden; background: #000; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; user-select: none; }
        canvas { display: block; }
        #ui { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 10px; z-index: 100; }
        .btn-row { display: flex; gap: 5px; }
        button { background: rgba(0, 0, 0, 0.6); color: #fff; border: 1px solid #fff; padding: 8px 15px; cursor: pointer; transition: 0.3s; font-weight: bold; text-transform: uppercase; font-size: 12px; backdrop-filter: blur(4px); }
        button:hover, button.active { background: #fff; color: #000; }
        
        /* Cinematic UI */
        #cinematic-ui { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; display: flex; flex-direction: column; justify-content: space-between; z-index: 200; }
        .letterbox { width: 100%; height: 0; background: #000; transition: height 1s cubic-bezier(0.4, 0, 0.2, 1); }
        #cinematic-ui.active .letterbox { height: 12vh; }
        #caption { text-align: center; color: #fff; font-size: 24px; letter-spacing: 4px; opacity: 0; transition: opacity 1s; margin-bottom: 20px; text-shadow: 0 2px 10px rgba(0,0,0,0.8); }
        #cinematic-ui.active #caption.visible { opacity: 1; }
        #progress-container { width: 100%; height: 4px; background: rgba(0,0,0,0.5); position: absolute; bottom: 0; opacity: 0; transition: opacity 0.5s; }
        #cinematic-ui.active #progress-container { opacity: 1; }
        #progress-bar { height: 100%; width: 0%; background: #ffd700; box-shadow: 0 0 10px #ffd700; }
        
        #loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: white; font-size: 20px; z-index: 300; }
    </style>
    <!-- Import Maps for Three.js -->
    <script type="importmap">
        {
            "imports": {
                "three": "https://unpkg.com/three@0.160.0/build/three.module.js",
                "three/addons/": "https://unpkg.com/three@0.160.0/examples/jsm/"
            }
        }
    </script>
</head>
<body>
    <div id="loading">Generating Citadel...</div>
    
    <div id="ui">
        <div class="btn-row">
            <button id="btn-spring" class="active">Spring</button>
            <button id="btn-summer">Summer</button>
            <button id="btn-autumn">Autumn</button>
            <button id="btn-winter">Winter</button>
        </div>
        <button id="btn-cinematic">Start Cinematic Mode</button>
    </div>

    <div id=&qu.........完整代码请登录后点击上方下载按钮下载查看

网友评论0