3DPrompt.
GitHub
返回作品库
GPT-6 Astra参考创作说明

疯狂坦克——3D 岛屿炮战

瞄准、判断风向,在完整的 3D 岛屿炮战中从零开始蓄力。选择六种炮弹,轰出深坑,在不断升级的混乱中生存下来。

创作者 jared
疯狂坦克——3D 岛屿炮战

关于此示例

根据创作者公开项目整理的起始说明,并非逐字原始提示词。实际结果可能不同。

基于 jared 原始 Crazy Tanks 源码、提交 bf23b8878a1c24dbfb105a227a06b4faa29d42e9 以及经过验证的 v92 版本游戏玩法进行重建。模型使用 Tripo P2 生成,音乐和音效使用 ElevenLabs 制作。未提供已发布的社交媒体帖子。

3D 坦克游戏炮战可破坏地形Three.jsTripo

提示词

1. 项目目标 构建《疯狂坦克——狂野潮汐》:一款可玩的、真正立体的热带岛屿回合制炮战游戏。玩家操控一辆小型坦克,瞄准、判断风向,从零开始控制蓄力,并用炮弹重塑战场。支持单人对战 AI 和本地轮流游玩,默认提供三辆坦克混战,并可选两辆坦克决斗。最后存活的坦克获胜。以当前参考玩法和截图作为视觉目标。 2. 视觉风格 使用透视相机和可自由环绕的 3D 几何体,不要使用扁平精灵或固定侧视角。打造阳光明媚的微缩景观:圆润的玉绿色、珊瑚橙和蓝紫色坦克,奶油色沙地,浅绿色草地,具有反射效果的青绿色水面,柔和阴影,以及淡淡的远景大气雾。保留三辆坦克各自鲜明的轮廓和匹配的炮管。在战场上方放置紧凑的奶油色圆形/装甲状态面板,下方放置深青绿色圆角控制面板。金色表示参考威力和开火操作;薄荷绿表示实际蓄力值和友方状态。将 Tripo / Three.js 外观切换开关醒目地置于顶部,默认使用 Tripo 资产。切换外观时必须保留对局和物理状态。使用细窄、间距均匀的青绿色屏幕空间短划线,以及克制的落点圆圈;瞄准图形不得映射到水面上。 3. 世界与场景 使用一座约 260 × 184 米、可破坏高度场岛屿,四周环绕固定海平面的海洋。将初始坦克分散放置在相距较远的稳定地面上,并布置岩石、棕榈树、仙人掌和可收集的补给箱。较小的装饰岛屿用于增强背景纵深,不得替代可破坏的主地形。爆炸会使地表变形,并可挖掘至海平面以下。将岸线颜色和泡沫放在同一水面上,避免平面重叠和闪烁。每个渲染帧都根据世界坐标投射坦克编号。提供完整弹道、坦克、环绕和战术俯视视角。弹道视角必须将开火坦克、弹道弧线和预计落点完整放入 HUD 与控制面板之间的空间。每次射击前,显示开火坦克约 0.8 秒,在炮口处短暂停留,然后跟随炮弹。手动操作相机会取消电影式跟随。 4. 资产清单 使用稳定的模型槽位,并确保替换模型可单独寻址: - jade-body:圆润的绿色盾牌形履带式车体;玩家默认车体。jade-cannon:匹配的玉绿色炮管,带深色炮膛和金色装饰,可独立进行骨骼/部件旋转。 - ember-body:珊瑚橙色尖头装甲车体,机械结构低矮。ember-cannon:与之匹配的较长橙色炮管和深色炮口。 - bolt-body:蓝紫色工业风履带式车体,带棱角分明的装甲板。bolt-cannon:匹配的粗壮蓝色炮管。 - shell:黄铜色炮弹,带深色锥形弹头和青色装饰。根据武器类型复用,并调整颜色和尺寸。 - crate:黄色装甲补给箱,带青色标记和加固边角;收集后恢复 20 点装甲,最高不超过 100。 - rock:暖色圆润砂岩簇;以不同尺寸重复使用,并使用独立的碰撞代理。 - palm:弯曲树干和层叠的绿色棕榈叶;作为岛屿植被重复使用。 - cactus:带小型花朵细节的紧凑型绿色仙人掌;在干燥地形上重复使用。 - islet:圆润的背景草地小岛,边缘为浅色岩石/沙地;在竞技场之外重复布置。 优先制作三组匹配的车体/炮管,其次是炮弹/补给箱和环境道具。地形变形、海洋、泡沫、火焰、烟雾、冲击波、碎片、瞄准图形、光照、UI 和碰撞代理均使用程序化方案。匹配的车体和炮管部件共享同一设计参考和比例。将炮管枢轴放在机械连接处,使其前向轴对齐 +X,并将可见炮口作为实际发射点。坦克车体使用四元数贴合坡面;炮塔瞄准保持为世界空间方向。保留源 PBR 纹理和 UV 接缝。将全分辨率可下载模型与优化后的游戏运行时副本分开;参考资料和文件来源信息必须标明实际生成来源。 5. 玩法与反馈 每辆存活的坦克在回合开始时获得 18 米移动距离。WASD 和移动方向键盘相对于屏幕方向移动;方向键和瞄准方向键盘调整方位角与俯仰角。滑块用于设置方位角、10–80 度的俯仰角以及 0–100 的参考威力。选择对手只会让炮塔朝向对方,不得替玩家计算射击方案。 青绿色弧线在无风条件下估算所选参考威力。蓄力期间保持该参考值及其金色标记固定不变。按住 Fire、空格键或聚焦后的 Fire 按钮上的 Enter 键,每次都从 0 开始进行实际蓄力;每秒增加 18 个百分点,达到 100 后保持不变,并在松开时严格按照当刻的实际威力开火一次。快速轻触会发射低威力炮弹。参考值上下 3 个百分点以内的金色区域仅用于视觉反馈,不得吸附或进行隐藏修正。指针取消、窗口失焦或页面不可见时取消蓄力。蓄力期间锁定移动、目标和瞄准变更。范围输入控件的键盘操作不得同时转动炮塔。零威力代表最低发射速度,而不是静止的炮弹。 箭头和可见的漂移风线表示风推动炮弹的方向。标注风力和米/秒数值;点击风力卡片可查看说明。向左吹的风意味着玩家应略微向右瞄准。风力越强、滞空时间越长,漂移越明显。一次射击过程中风向和风力保持不变,每回合更换。绝不得自动修正玩家预览。大致预测炮弹落在地形上的位置;预览中不要承诺坦克/岩石碰撞、子弹簇分裂或反弹结果。 提供六种弹药:无限高爆弹;分裂为五枚下坠子弹的集束弹;地震弹,可造成最大直径 28 米、深度 13 米的弹坑;可反弹两次的反弹弹;每辆坦克每局一枚的灾变弹,可造成最大直径 46 米、深度 22 米的弹坑;以及留下半径 12 米火焰区域的燃烧弹。火焰区域在六个行动结束时各造成 8 点伤害;离开区域即可避免伤害,重叠区域不会叠加。海水会熄灭火焰。整辆坦克(包括抬起的炮管)完全没入水下时立即被淘汰。显示实际伤害、装甲损失、地形塌陷、水花和淘汰结果。 使用分层火球、扩张的冲击环、发光火花、弹道碎片、尘土和烟雾,并搭配克制的镜头震动。使用提供的 ElevenLabs 原创音乐,以及炮声、撞击声、反弹声、重爆炸声、火焰声和水花声。包含声音开关、暂停/继续、说明、重玩和返回菜单功能。在炮弹飞行或 AI 回合期间,提供“回到我的回合”:快速运行相同的定步长模拟,并保留所有伤害、地形和危险区域结果。绝不得跳过本地好友的输入回合。 6. 技术实现 使用 Three.js、ES modules 和 Vite,使用本地打包字体、Web Audio 处理音效,并使用 HTML audio 元素循环播放音乐。资源保持同源,并支持静态构建。使用带抗锯齿的透视渲染器,合理控制阴影和后处理开销,并正确释放临时几何体/材质。区分模型装饰与游戏碰撞体。 保持物理模拟独立于渲染,并使用米/秒单位、9.81 m/s² 重力和 1/120 秒固定步长。针对高速炮弹与地面、水面、坦克和岩石的碰撞,使用连续扫掠碰撞;对被冲击波推动的坦克施加爆炸冲量和重力。根据实际坦克专属炮管变换计算发射位置。正常播放和快进必须调用相同的模拟更新。伤害和风力响应属于风格化游戏规则,而非工程级爆炸模拟器。 支持中文、英文、日文和韩文 UI。首次启动时根据设备语言选择;香港、澳门、台湾及使用繁体中文的设备默认使用英文。记住用户的明确选择,并提供可见的语言选择器。适配桌面端、竖屏手机和短横屏布局;短屏菜单可滚动,触控目标尺寸舒适,面板可折叠,控件不得重叠。触控设备不得要求键盘输入。开发专用的状态修改和瞄准辅助代码不得进入生产环境。 7. 完成标准 交付可编辑的独立源项目、lockfile、npm 开发/构建说明和可运行的静态预览。匹配当前截图和游戏视频,包括奶油色状态面板、固定的金色参考标记、从零开始的实时蓄力,以及完整的 3D 坦克/岛屿呈现。验证首次启动、模型加载、完整回合循环、每种弹药的行为、暂停、重玩和真实的胜负结果。确认切换外观会保留状态,键盘/触控取消操作不会误触发开火。在明确的无风测试射击中,以参考威力松开后,炮弹应落在参考圆圈附近;相反方向的侧风必须明显改变实际炮弹的位置,同时保持该圆圈不变。检查 30/60/144 Hz 下的表现、高速碰撞、深弹坑、火焰消退、完全浸没淘汰,以及正常/快进回合结果是否一致。检查四种语言下的桌面端和窄屏布局;将浏览器模拟与实体设备测试分别记录。验证托管页面和关联媒体,而不仅是本地构建。

如何使用这段提示词

01

从合适的工具开始

打开你常用的编程助手或 3D 工具。可先尝试示例所用的模型,并查看关联项目中的配置说明。

02

先选一个地方修改

替换主体、美术风格或场景,清楚描述镜头和交互。先完成简化版本,再逐项打磨细节。

03

为场景加入专属模型

需要自己的角色或道具时,用简短的物体描述或参考图制作 3D 模型,再导入项目。

预览作品归各自创作者所有。复用代码或素材前,请查看原始来源及项目许可。