- 从数据库加载3D模型。
- 显示3D模型。
- 进行反向运动学计算,以生成模型从初始位置到最终位置移动的一系列步骤。
- 实时显示动画。
我对基于Web的开发知识仍然有限。
为了解决这个问题,推荐使用哪种方法/技术?
谢谢!!
更新:首选平台无关的解决方案。该应用程序需要在Mac和Windows机器上运行。
WebGL也是一个有趣的选择。没有插件,只需在浏览器中使用OpenGL(包括着色器)。
嗯,你肯定不能在HTML中完成所有这些,所以选择插件技术是关键。
我认为,你最好的选择是Flash,因为这是一个成熟的平台,有很多第三方扩展(例如http://www.flashsandy.org/)可用于让你进行3D建模。
另一种选择是Silverlight,它将为你提供.NET/C#的强大功能(而不是脚本语言)。
两者都是跨平台和跨浏览器的。
根据您的3D模型的复杂程度,Canvas和JavaScript可能能够呈现它。请参见此Canvas 3D示例。
还有Firefox Canvas 3D插件和Canvas 3d JS库可用于编写使用它的3D应用程序。
另一个Java选项,与JVM集成较少,但基于OpenGl - lwjgl(我最喜欢的)和jogl。
检查Jake2 webstart:http://bytonic.de/html/jake2_webstart.html
有几种方法可以实现这个目标。以下是我想到的一些方法:
一个问题可能是可移植性。这里有两个注意事项:您的代码需要在任何地方运行,并且需要3D加速。这是一个问题,因为您无法确定它是否具有3D(当然,您可以查询上下文)。
因此,您可能还希望考虑在CPU上光栅化和渲染(即使用MESA3D)。如果您不需要允许自由形变并且想要动画,比如说30帧,并且使用Mesa您可能会在典型硬件上以5fps渲染典型模型,那么您需要6秒钟来计算整个场景。那就足够了。
Adobe Shockwave拥有强大的3D建模功能。不幸的是,目前它的支持不足,但Flash没有3D功能(papervision3d项目试图纠正这一点,但效果因人而异)。
我同意其他人的看法,Flash 可能是你最好的选择。如果未来在苹果移动设备上运行存在问题,并且成本不是问题,请考虑使用 Unity 开发一些东西。它是一个插件(就像 Flash),但没有引起 Steve Jobs 的愤怒。