【发布时间】:2016-08-27 19:06:16
【问题描述】:
我有很多为 3D 游戏编写的 Unity 脚本,这些脚本在 2D 游戏中很有用,我真的不想重新发明轮子将它们添加到该游戏中。所以我的问题是,我可以在 2D 游戏中使用我当前的 3D 游戏脚本(使用 Vector3s 并调用 Physics.Raycast()、Physics.Gravity 等)(其中所有游戏对象都有 2D 组件,如 Collider2D 和 Rigidbody2D 等)其他脚本会调用 Physics2D.Raycast()、Physics2D.Gravity 等)吗?我猜我 可以 做到这一点,但它会是愚蠢的低效,所以我不妨重新实现 2D 类。但我想我会先问。
感谢您的帮助!
【问题讨论】:
-
你可以没问题。享受。这不是“愚蠢的低效”; 99% 的游戏几乎没有接近性能极限。在实践中,您会发现在大多数情况下修改为“2D”类很容易(而且很有趣!)。
-
@Joe Blow。谢谢你的回答!将所有内容修改为 2d 类是我实际上试图避免的。我已经为 3d 游戏编写了大量脚本,我不想花时间复制所有脚本,只是为了将每个 Vector3 更改为 Vector2 等。此外,这些 3d 脚本仍在开发中,因此创建 2d 副本需要每次更改两次。您只是建议我将所有 3d 脚本修改为 2d,还是我实际上必须这样做才能使它们在 2D 游戏中工作?
标签: unity3d game-physics 2d-games unity3d-2dtools