我们的游戏中的所有环境都完全渲染并建模在3D。但是,因为我们想让物理效果要尽可能地顺滑,简单,预测性和快,所以所有物理都是使用2D碰撞器和刚体,而不是3D。

Unity的场景视图对这部分游戏表现得有些混乱 haha。跳球机上方的控制板本身是沿Y轴对齐的,因此整个世界都倾斜了79度,以便控制板对齐在Y轴上。因此在场景视图中,整个arcade看起来与众不同,整个arcade都倾斜了79度,但这有助于简化物理并使物理效果变得平滑。

为了在控制板的其他边渲染物体( Enemy 的一侧),每个对象(球,bumper,flipper)都在穿过中间时立即使用 shader 切换。这个单独的 shader 是一个顶点 shader,仅仅重新定向对象,使其平放在 Enemy 的控制板一侧,而不在起始控制.board 的平面上浮动。

我们的解决方案有一点异乎寻常,但它真的很有效 haha。