All MicroEvals
任务:用Three.js制作单文件HTML交互式3D太阳系模拟器 硬性强制要求: 1. 引入库必须使用中国大陆网络可正常...
Create MicroEval
Header image for 任务:用Three.js制作单文件HTML交互式3D太阳系模拟器 硬性强制要求: 1. 引入库必须使用中国大陆网络可正常...

任务:用Three.js制作单文件HTML交互式3D太阳系模拟器 硬性强制要求: 1. 引入库必须使用中国大陆网络可正常...

Prompt

任务:用Three.js制作单文件HTML交互式3D太阳系模拟器 硬性强制要求: 1. 引入库必须使用中国大陆网络可正常访问的jsdelivr CDN,禁止使用cloudflare相关CDN。 固定CDN地址: https://cdn.jsdelivr.net/npm/three@0.170.0/build/three.min.js https://cdn.jsdelivr.net/npm/three@0.170.0/examples/js/controls/OrbitControls.js 2. 不加载任何外部图片纹理,全部材质程序生成,直接双击打开html不会跨域报错。 核心功能: 1. OrbitControls相机控制:鼠标滚轮缩放,左键拖拽旋转视角,右键拖拽平移视角,增加相机阻尼,移动顺滑自然。 2. 左上角UI面板:时间倍率滑块0~100倍,实时显示倍率;播放/暂停按钮。所有天体自转、公转、彗星小行星运动统一由全局时间变量驱动。 3. UI上一组按钮:点击按钮,相机平滑飞行动画并聚焦到目标天体:太阳、水星、金星、地球、火星、木星、土星、天王星、海王星、哈雷彗星。 4. 天体运动:每个行星自带自转+公转,绘制细透明轨道线,土星带有行星环。 5. 空间天体: - 背景:数万随机恒星,大小随机,部分恒星缓慢闪烁;使用InstancedMesh优化渲染性能 - 火星木星之间小行星带:数千微小小行星分布在薄圆盘区域缓慢公转,使用InstancedMesh - 哈雷彗星:高偏心率椭圆轨道;靠近太阳才出现发光动态彗尾,远离太阳彗尾消失 6. 射线拾取:点击任意天体,右下角弹出信息面板,展示天体名称、直径、公转周期和简介。 7. 视觉规则:行星尺寸、轨道距离使用视觉友好的相对比例,采用真实天文比例;颜色贴近真实天体观感;场景背景纯黑色。 代码规范: 1. 全部代码放在单个index.html文件内。 2. 代码内部添加详细中文注释。 3. 代码分层:场景初始化、天体创建、动画循环、UI事件、相机平滑跳转函数、射线拾取逻辑。 4. 所有天体数据统一放在一个配置对象里,后续方便新增天体。 5. 恒星和小行星使用InstancedMesh减少绘制调用,优化网页性能。 输出规则:只返回完整HTML源码,不要额外的解释、介绍、markdown文本。

A system prompt was added to support web rendering

Drag to resize
Drag to resize