C# 我应该如何开始玩3D?

C# 我应该如何开始玩3D?,c#,.net,3d,modeling,C#,.net,3d,Modeling,我现在是一名开发者只有6个月了,因为我喜欢编程,所以我开始了一些小程序,比如Encripter、计算器、工具、可玩的东西(呵呵),可以玩位图的东西,绘制图形,甚至可以根据你在iTunes上听的音乐的插图更新MSN显示图像的程序 我的另一个爱好是3d建模(),我想把这些爱好混合在一起!所以我读了一些关于它的书,认为我必须对几何学、数学、点空间位置有很好的概念(从我的3d建模经验来看,我是这样做的),但我不知道如何使用API来实现它,所以我用我制作的一个简单程序“模拟”了简单的3d(a) 这里有一些

我现在是一名开发者只有6个月了,因为我喜欢编程,所以我开始了一些小程序,比如Encripter、计算器、工具、可玩的东西(呵呵),可以玩位图的东西,绘制图形,甚至可以根据你在iTunes上听的音乐的插图更新MSN显示图像的程序

我的另一个爱好是3d建模(),我想把这些爱好混合在一起!所以我读了一些关于它的书,认为我必须对几何学、数学、点空间位置有很好的概念(从我的3d建模经验来看,我是这样做的),但我不知道如何使用API来实现它,所以我用我制作的一个简单程序“模拟”了简单的3d(a)

这里有一些问题:
1)对于像我这样的.NET程序员来说,什么样的3d开发工具比较好?
2)有没有办法使用3DS Max中制作的3d模型?(我打算塑造角色)
3)我应该具备哪些知识才能渲染并移动它?
4)我应该使用哪种API

注意:不是一个傻瓜,我是在询问可能使用3ds MAX的.NET开发的具体方向,到目前为止还没有任何问题


编辑:

我有三个答案看起来很好,让我具体说明一下,也许你可以告诉我什么是更合适的工具。
我想尽快建立的是:

  • 可移植(单击“n”运行,无需安装,并且(希望)无需发送DLL)
  • winforms应用程序中的“3D嵌入”,就像可以在其中渲染的picturebox
  • 真正的winforms应用程序,如(具有所有系统api,如IO、绘图等)
开发环境会很好,如果:

  • 有可能导入现有的3D模型(不是必须的,但有优势)
  • 能够以编程方式创建三维模型(必须具备)
  • 可能有一个材质和纹理工具(这将是一个巨大的优势)
  • 众所周知(教程、S.O.中的问题、论坛等的高可用性)
如果我能一直使用C,那就太好了:)

因为您使用的是C.Net,XNA库将非常适合您。它从Microsoft网站上免费提供,并集成到VS IDE中。有很多可用的教程可以帮助您入门


还有,如果我没记错的话。要在XNA中使用三维模型,只需将完成的模型导出为(.X)。然后可以将其加载到您的工作中。

就我个人而言,我觉得XNA对我的口味来说有点太“以游戏为中心”。我对设计/架构类型的使用更感兴趣


您可能会发现更多您喜欢的内容。

我将为XNA再投一票。关于它太“以游戏为中心”的评论是不可能的——它提供了一个渲染循环,并反馈所有东西的运行速度,因此您可以调整渲染以尝试保持特定的帧速率(如果需要)。这并不是特别以游戏为中心,因为这是大多数3D应用程序应该担心的事情。唯一一件非常以游戏为中心的事情是,它提供了对游戏控制器的轻松访问。如果你不想使用它,请随意忽略这一点

使用XNA的唯一缺点是您需要单击“n”运行,XNA有一个您必须担心的问题。请注意,Win7在默认情况下安装了此功能,但Vista和更早版本没有安装

编辑: XNA适用于严格的3D应用程序。因此,它本身不支持在XNA项目中使用典型的窗口控件。但是,有办法解决这个问题。。。 一些有用的链接。在winform中嵌入XNA: WPF直接在XNA项目中进行控制:

我投赞成票。它是一个具有类似c的语法语言的3d渲染器。它不能满足您的.net需求,但如果不是很酷的话,3d渲染就更少了。如果你有任何交互性,XNA可能是你最好的。但我对你的发现很感兴趣

Re:“能够以编程方式创建三维模型(必须)”

几点建议:

  • (博士?)乔纳森·理查德·舍丘克图书馆
  • 杭思博士图书馆

据我所知,没有任何.NET库允许您使用上述库/技术。您必须使用PInvoke或C++/CLI才能从托管世界调用这些库。

尽管本文中已经有很多建议(如SlimDX和XNA),我还是想提一下

OpenTK比Direct3D更接近OpenGL,但它可能是跨平台3D.NET应用程序的最佳解决方案。

我建议您尝试Blender

它是免费的,开源的,在论坛和IRC上都有一个很棒的社区。该应用程序的进展每年都会受到大型社区项目的推动,其中一些项目是电影和游戏,并获得了一些奖项。作为一种快速建模的方式,它正在获得业界的认可

缺点:它不像Maya或ZBrush那样被认为是“专业的”,而且它在界面方面有着完全不同的大脑。学习曲线可能很有趣,这取决于你们的学习方式和你们得到的帮助

好处:它是免费的,很棒的社区,定期更新,有很多教程和社区项目要做

社区:

  • IRC上的混合器通道
以前的社区项目:


XNA还支持FBX格式,并且有许多社区构建的内容导入器用于其他格式。在360上运行游戏的能力也是一个巨大的优势。好吧,根据人们告诉我的,它几乎完全是专为游戏设计的。所以,如果我想制作一个简单的winforms应用程序和简单的用户交互,比如说,一个旋转(超过一个轴)的立方体