游戏开发工程师Ariel Coppes分享了《钢铁战队》中战争迷雾效果的实现方法,本文他将介绍新的一种实现方法。
新的战争迷雾及视野系统目标是实现下列功能:
- 能够随时渲染每个玩家的战争迷雾,用于进行回放和调试。
- 能够结合多个玩家的视野,用于提供友方视野、实现观众模式和观看回放时使用。
- 使用不同地形高度和其它元素来阻挡视野。
- 优化开发,使视野在移动设备上支持同时显示50多个单位,并在60fps的状态下运行。
- 该效果应该类似《星际争霸2》和《英雄联盟》等游戏。
下面是《星际争霸2》的战争迷雾,是我希望实现的效果。
请注意:为了让本文的内容更简洁,在提到“单位”时,所指的是角色、建筑等影响游戏内战争迷雾的结构。
逻辑
首先,我们有一个概念叫UnitVision,即单位视野,用于表示可揭开迷雾的任何对象。UnitVision在代码中是一种数据结构。
- struct UnitVision
- {
- // 表示视野系统中玩家分组的位掩码。
- int players;
- // 使用世界坐标的视野范围。
- float range;
- // 使用世界坐标的位置。
- vector2 position;
- // 用于阻挡视线。
- short terrainHeight;
- }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126213.html