Skip to content
tsonglewPublic

About

楚河漢界 · 3D 中国象棋

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Repository files navigation

楚河漢界 · 3D 中国象棋

Three.js 打造的 3D 中国象棋,棋子为拟人化战阵设计:重甲拄剑的帅/將、抱拳文士仕/士、象头持杖的相/象、马头持枪的馬、轮甲执戟的車、肩扛火炮的炮/砲、斗笠枪盾的兵/卒。

image

演示视频

帅 / 将全屏击杀特写

general-cinematic.mp4

包含推镜、正面英雄特写、命中震屏与闪光,以及结束后的镜头复位。

完整攻击演示

ScreenFlow.mp4

棋子模型

帅、仕、象、马、车、炮、兵七类角色由 Tripo v3.1 重绘,并针对 WebGL 完成网格简化与纹理压缩;红黑双方共享角色资产,通过阵营底座与色调区分。模型加载失败时会自动回退到程序化基础几何版本。

运行

python3 -m http.server 8000   # 或任意静态服务器
# 打开 http://localhost:8000

Three.js 与 OrbitControls 已固定版本并随项目本地托管,断网也可正常启动;Google Fonts 加载失败时会自动使用本机宋体/楷体回退。

操作

  • 点击己方棋子查看可走位置(绿点可落子,红圈可吃子)
  • 拖拽旋转视角,滚轮缩放
  • 顶部按钮:悔棋 / 换边视角 / 重开
  • 按 F 进入或退出全屏(也可用 Esc 退出)

规则

完整实现中国象棋规则:蹩马腿、塞象眼、炮翻山、兵过河、九宫/飞将(白脸将)、将军检测、绝杀与困毙判负、悔棋。

战斗演出

古战场沙盘:风化夯土、干涸河谷、插地断矛、破损盾牌、营前战鼓、楚/漢战旗、火盆与余烬。吃子时按兵种播放攻击动画:

  • 帅/将 — 举剑蓄势后纵劈,将令震环把目标斩飞
  • 仕/士 — 双燕交叉快斩,落下旋转的八角护印
  • 相/象 — 朝杖撼地,释放玉色地裂、双重震环与飞石
  • 馬 — 高跃挺槊,以长枪芒贯穿目标并踏尘落位
  • 車 — 拖出轮辙与速度光带直线冲城,以扇形撞击波撞飞目标
  • 炮 — 瞄准蓄势、后座点火、发射带烟迹炮弹;爆炸彻底消灭目标后,炮才推进落位
  • 兵/卒 — 举盾短冲,以红/蓝阵营色三叉枪芒完成破阵直刺

演示入口:?demo=general|advisor|elephant|horse|chariot|cannon|soldier;追加 &test=1 可由 window.advanceTime() 确定性逐帧推进。

测试

npm run check

结构

  • js/rules.js — 纯规则引擎(不依赖 DOM/Three.js)
  • js/model-assets.js — Tripo 棋子资产预加载、尺寸归一化与阵营色处理
  • js/pieces.js — Tripo 拟人棋子与程序化汉字底座(含基础几何回退)
  • js/board3d.js — 棋盘、标记、战场环境
  • js/fx.js — 七类兵种专属战斗特效与临时资源回收
  • js/main.js — 场景、交互、攻击动画编排、HUD、音效
  • vendor/three/ — 本地固定版本的 Three.js 与 OrbitControls
  • assets/models/ — 七类经 Web 优化的 Tripo GLB 棋子模型

About

楚河漢界 · 3D 中国象棋

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages