threejs尝试开发一个RPG游戏

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

Live: knight-adventure.vercel.app/

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

场景构建

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

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

导出了的素材包括了

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

角色处理

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

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

路径规划

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

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

问题与挑战

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

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

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

相关推荐
XiaoYu200212 小时前
第8章 Three.js入门
前端·javascript·three.js
ThreePointsHeat18 小时前
Unity WebGL打包后启动方法,部署本地服务器
unity·游戏引擎·webgl
林枫依依2 天前
电脑配置流程(WebGL项目)
webgl
冥界摄政王4 天前
CesiumJS学习第四章 替换指定3D建筑模型
3d·vue·html·webgl·js·cesium
温宇飞6 天前
高效的线性采样高斯模糊
javascript·webgl
冥界摄政王7 天前
Cesium学习第一章 安装下载 基于vue3引入Cesium项目开发
vue·vue3·html5·webgl·cesium
光影少年9 天前
三维前端需要会哪些东西
前端·webgl
nnsix10 天前
Unity WebGL jslib 通信时,传入字符串,变成数值 问题
webgl
二狗哈10 天前
Cesium快速入门34:3dTile高级样式设置
前端·javascript·算法·3d·webgl·cesium·地图可视化
AlanHou10 天前
Three.js:Web 最重要的 3D 渲染引擎的技术综述
前端·webgl·three.js