自己的引擎 - 01 2D风格的3d世界


3楼猫 发布时间:2025-01-19 15:15:21 作者:玩家78123443 Language

我们要开始创造这个游戏世界啦! 先画个角色,之后给这个角色实体定义基础最初的参数。 如下:

自己的引擎 - 01 2D风格的3d世界-第0张

角色在哪?(空间位置)  pos:{x:y:z} 对于一个2D游戏空间位置Z代表了所在高度,而XY自然就是纵深位置了。 角色体积(碰撞体) size:{x:y:z} 这组数据决定了当前实体的空间占位范围,用来做碰撞啊,重叠啊计算。 角色部件组成(多个精灵体) 精灵体可以理解为实体内部包含的多个其他实体(称之为部件),比如角色背包同角色就是两个实体相对于局部坐标(碰撞体内部)通过部件的pos参数决定所在位置,组成实体。 一组部件合体为一个实体,实体有自己的体积及位置。 就这样我们的2d游戏世界最初的基础设计完成啦。 有的小伙伴就说啦:这个Z参数是不是多余啊? 嗯嗯 我们要做的是一个3维空间的游戏虽然看着是2D的世界。 那么这个Z参数是必须的哦,有了Z 我们就可以实现很多玩法啦。 比如

自己的引擎 - 01 2D风格的3d世界-第1张

地形的高度概念

自己的引擎 - 01 2D风格的3d世界-第2张

基于Z数据的高度空间实现

自己的引擎 - 01 2D风格的3d世界-第3张

磁吸附的实现

自己的引擎 - 01 2D风格的3d世界-第4张

跳跃的实现 (嗯嗯游泳待实现)

自己的引擎 - 01 2D风格的3d世界-第5张

战斗中跳跃

自己的引擎 - 01 2D风格的3d世界-第6张

Z高度的攻击范围

嗯嗯 明天继续更哈~


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com