我花了过去2-3周时间在我的微小立方体引擎中添加了海洋功能。 我的主要目标是支持现有的流体模拟中的大型水体,同时支持新的动态功能,如波浪和潮汐变化。 我还将船舶和滑翔机加入其中,加入了一些基本的物理学以辅助探索。 主要挑战在于在这方面添加新的功能,同时使模拟更具互动性,我还加入了更高分辨率的局部水波/相互作用模拟,这作为一个表面层模拟,添加了波浪和尾迹以供人、实体和力量与水相互作用。 -- 功能技术分解 -- * 海洋生成: 与其他水源类似,海洋生态系统位于陆地之上,所有这些生态系统中的开放空间都被水填充而不是空气。 对实际生成没有做出任何重大改变,只是将世界向下移动。 * 波浪 + 潮汐: 几个振荡遮罩应用了一个“目标高度”到水模拟中。 这也由深度增强,以便岸线可以触发波浪破坏在一个设定高度点以下。 * 海洋连接 + 相互作用: 一个连接标志用于指示水是否直接连接到海洋模拟并应该接收波浪力。 这允许波浪与静态水相互作用,但只有当海洋模拟单元触摸静态单元时。 该连接源来自海洋,所以岩石池在潮汐下降时会断开,使其能够保留水。 * 波浪: 2D遮罩,局部到一个相对较小的区域附近玩家。 运行一个单独的着色器模拟,只使用表面数据。 不是特别精致的,未检查碰撞,所以波浪不会弹回。 坍塌转换为法线图,用于扭曲表面效果。 总体而言,我非常满意这一切是如何结合在一起的,但仍有许多打磨和功能需要添加!
在我的微小立方体游戏中模拟海浪和潮汐
评论 (0)