3

我必须创建一个基于 Web 的应用程序,其中包括以下任务

  • 从数据库加载 3D 模型。
  • 显示 3D 模型。
  • 进行逆运动学计算以生成模型从初始位置移动到最终位置的一系列步骤。
  • 实时显示动画。

该应用程序最初旨在成为基于 Qt/OpenGL 的基于 PC 的应用程序,但我们正在调查将其实现为基于 Web 的应用程序是否可行。

我对基于 Web 的开发的知识仍然有限。

为了提出解决方案,推荐的方法/技术是什么?

谢谢!!

更新:首选平台独立解决方案。该应用程序需要在 Mac 和 Windows 机器上运行。

4

10 回答 10

4

如果它是一个 web 应用程序,您应该研究 Papervision3D ( http://papervision3d.org/ ) 以获得基于 Flash 的方法(如果您希望它相对独立于平台,那就是这种方法)。

于 2008-11-19T12:01:15.683 回答
4

Java 小程序也可能会做你想做的事。

看看java 3d

于 2008-11-19T12:28:42.930 回答
3

还有谷歌优秀但新的 O3D:http ://code.google.com/apis/o3d/

于 2009-06-04T06:08:32.997 回答
2

webgl 也是一个有趣的选择。没有插件,只需在浏览器中打开gl(包括着色器)。

于 2010-07-09T17:33:30.347 回答
1

好吧,您当然不能在 HTML 中完成所有这些操作,因此选择插件技术是个问题。

在我看来,最好的选择是 Flash,因为这是一个成熟的平台,有许多 3rd 方扩展(例如http://www.flashsandy.org/)可让您进行 3D 建模。

另一种选择是 Silverlight,它将为您提供 .NET/C#(而不是脚本)的强大功能。

两者都是跨平台和跨浏览器的。

于 2008-11-19T12:04:25.663 回答
1

Canvas 和 JavaScript 可能能够渲染它,这取决于您的 3D 模型的复杂性。请参阅此Canvas 3D 示例

还有用于编写 3D 应用程序的Firefox Canvas 3D 插件Canvas 3d JS 库。

于 2008-11-22T16:34:05.197 回答
0

有很多方法可以解决这个问题。我想到的一些:

  • 考虑将其作为 ActiveX 组件提供(最快,但仅限 Win32)。
  • 考虑使用 .NET (Silverlight)(在可预见的未来通过 Moonlight 使用 Win32、OSX、*nix;仅限 DirectX/Direct3D)
  • 考虑使用Java,它也可以访问OpenGL。
  • 考虑使用您遇到的任何中间位置..应该有几十个。

一个问题可能是便携性。这里有两个警告:您的代码需要在任何地方运行,并且需要 3D 加速。这是一个问题,因为您无法确定它是否具有 3D(当然,您可以查询您的上下文)。

因此,您可能还需要考虑在 CPU 上进行光栅化和渲染(即使用 MESA3D)。如果您不需要允许自由变换并且想要制作 30 帧的动画并使用 Mesa,您可能会在典型硬件上的典型模型上渲染 5fps,那么您需要 6 秒来计算整个场景。那就足够了。

于 2008-11-19T12:31:45.123 回答
0

另一个 Java 选项,与 JVM 集成较少,但基于 OpenGl - lwjgl(我最喜欢的)和 jogl

检查 Jake2 webstart:http ://bytonic.de/html/jake2_webstart.html

于 2009-12-24T06:52:10.027 回答
0

Adobe Shockwave 具有强大的 3D 建模功能。不幸的是,目前它的支持不足,但 Flash 没有 3d 功能(papervision3d 项目试图纠正这一点,YMMV)。

于 2010-07-09T17:29:42.023 回答
0

我同意其他人的观点,Flash 可能是您最好的选择。如果将来对在苹果移动设备上运行有顾虑,并且成本不是问题,那么可以考虑使用 Unity 开发一些东西。它是一个插件(如 Flash),但并没有激起史蒂夫乔布斯的愤怒。

http://unity3d.com/gallery/developer-profiles/web-games/

于 2010-07-09T20:09:54.617 回答