腾讯游戏开发
个人游戏开发学习笔记
锦鲤金叔叔
这个作者很懒,什么都没留下…
展开
-
3D游戏碰撞之体素的内存优化
1.体素的概念:3D空间中最小的表示单位。(下图摘自知乎)2.体素的合并原理:空心物体上下表面体素可以合并,可以降低内存资源消耗。3.体素的合并算法:首先选择一个种子点,然后从这个点出发向前后左右扩散,无法扩散到的空间即为不连通,此时需要合并上下表面体素。通常使用广度优先遍历的方法,但往往一次下来整张地图需要耗时很久,因此我么提出一种方法。加载反体素,即加载玩家可以到达的区域。4.体素的地面处理:地面在整个场景中体素最多,但玩家不可以到地面之下,因此地面体素下表面高度忽略统一为0。5.水的处理:原创 2020-11-11 17:20:27 · 578 阅读 · 0 评论 -
基于有号距离场(SDF)的摇杆移动
1.SDF表示空间中的一点到形状的最短距离,一般用正值表示外部用负值表示内部。2.MOBA类游戏通常使用的摇杆移动,因此面对障碍物需要检测碰撞并解决碰撞。常见的解决碰撞的方式有(1)使用碰撞器进行碰撞检测,并绕障碍物进行移动。(2)NavMesh方式,并绕障碍物进行移动。(3)栅格方式,检测圆与阻挡栅格的距离,碰撞后移动方向不确定。(4)基于SDF的摇杆移动。3.利用栅格数据预计算SDF:SDF记录点到障碍物的距离,我们无法存储地图所有的点,因此我们需要根据障碍物精度对整张地图进行栅格化,主流的5V5m原创 2020-11-09 21:43:39 · 649 阅读 · 1 评论