threejs尝试开发一个RPG游戏

最近尝试用 Threejs 开发一个 RPG 游戏Demo。没有特别宏大的目标,就希望实现角色在地图上的路线规划 和 简单的战斗打怪。基于此仍然遇到了不小的技术挑战和性能瓶颈

Live: knight-adventure.vercel.app/

Code: github.com/luosijie/kn...

场景构建

这次场景和角色使用了开源的设计素材

最终在 Blender 创建了一个小场景

导出了的素材包括了

  • 场景的 glb 文件
  • 渐变贴图
  • 用于路线规划的navmesh

角色处理

从网上下载的角色一般不会直接拿来使用

  • 需要自己添加或修改一下模型,比如添加希望出现的道具
  • 还要删除多余的动画预设,最大限度减少资源的体积

路径规划

刚开始用的是比较常用的库 three-pathfinding,发现在处理动态路障方面比较麻烦。

后来发现了 recast-navigation-js 可以比较顺利的处理当前的场景

问题与挑战

用 Threejs 开发类似的项目,遇到的主要挑战还是 性能问题 。

即便是在这样简单的场景下,在去除阴影效果的前提下,也无法同时容纳很多 动画绑定的角色。

如何在有限的资源和性能约束下,做出流畅又丰富的游戏体验。将是 游戏设计者 和 开发者 面对的问题

相关推荐
叶智辽7 小时前
Three.js多视口渲染:如何在一个屏幕上同时展示三个视角
webgl·three.js·数据可视化
叶智辽5 天前
【Three.js与WebGPU】下一代3D技术到底强在哪?
webgl·three.js
叶智辽5 天前
【Three.js后期处理】如何让你的场景拥有电影级调色
前端·three.js
波哥学开发6 天前
# Three.js 进阶:如何绘制"像素大小固定"的箭头?三种方案全解析
webgl·gpu
叶智辽6 天前
【Three.js多相机渲染】如何在同一场景里实现“画中画”效果
three.js·canvas
答案answer6 天前
一个非常实用的Three.js3D模型爆破💥和切割开源插件
前端·github·three.js
Panzer_Jack7 天前
如何用 WebGL 去实现一个选取色彩背景图片透明化小工具 - Pick Alpha
前端·webgl
叶智辽7 天前
【Three.js内存管理】那些你以为释放了,其实还在占着的资源
性能优化·three.js
烛阴8 天前
Three.js 零基础入门:手把手打造交互式 3D 几何体展示系统
javascript·webgl·three.js
叶智辽9 天前
【ThreeJS调试技巧】那些让 Bug 无所遁形的“脏套路”
webgl·three.js