原子动画 - 哪种技术

时间:2011-03-29 17:11:04

标签: c# animation xna

我想制作一个分子扩散动画。我有一些带有数据的CSV或二进制文件来创建带有原子的3D场景。

  • 它必须是快速动画 不同的相机视图
  • 透明度因原子而异 能量

由于我定期在C#中编码,我将选择XNA(后来的Mono.XNA,在linux上运行是一个不错的选择)。它不一定是C#。

它最合适吗?我想减少制作按钮,滚动条等的时间。

有什么好处可以减少代码的数量吗?有没有人有将XNA动画移植到Mono.XNA的问题?

2 个答案:

答案 0 :(得分:3)

我建议您使用XNA进行3D视图,但在WinForms中进行控制。 App Hub(Microsoft)有一个非常好的using XNA with WinFormspart 2)示例。通过这种方式,您可以获得用于3D图形的出色API,以及用于创建界面的出色API(无需弯曲一个API来执行这两项操作)。

我对Mono.XNA的印象是它绝对不完整。它也没有多少更新(patch list)。以下是(在撰写本文时)用于执行3D图形的相当关键的类的当前版本:GraphicsDevice.cs - 请注意3D绘图所需的所有NotImplementedException函数抛出的Draw*

有一些跨平台的XNA API(我甚至写过其中一个),但它们都不能用于3D。也许有一天。

如果您真的必须拥有Linux支持,那么将OpenTK用于您的图形可能是值得的。 OpenTK的缺点是它远不如XNA支持或易于使用。

我建议您尽最大努力避免在3D图形平台(XNA或OpenTK)上使用(或更糟糕的是,创建)GUI库。有一个原因是大多数现有的图书馆都得不到支持或被遗弃。我的印象是Mono's implementation of WinForms这些天非常好,如果您愿意,还有Gtk#

答案 1 :(得分:1)

我从未尝试将XNA应用程序移植到Mono,但我使用了几个不同的GUI库,我可以诚实地说Tom Shane的Neoforce库是最好的。不幸的是,他已经停止更新它,但他确实发布了一个适用于4.0的版本。