0

我想为 Android 应用程序设计一个 3D 物理引擎。我正在使用 OpenGL ES 2.0。

这就是我想要做的:

假设我在设备屏幕的中心有一个球体。假设球体充满了水(如水气球)。由于重力,我们预计球体在底部会变形。此外,使用手机的加速度计,我可以改变重力,从而改变球体的变形。

我已经做了很多研究,但我仍然不知道如何去做。我不认为这很难做到,但目前我能想到的唯一方法是逐帧手动绘制不同的形状。

有没有办法产生变形,而不是“手工”绘制?也许通过使用着色器?

我现在完全迷路了!

非常感谢您的帮助。

4

2 回答 2

1

如果您想以逼真的方式在 3D 中完成它 - 那么它与 OpenGL ES 无关,并且需要高级物理引擎。着色器仅用于渲染结果。

除非您需要对 3D 球体的 2D 图片进行简单变形,否则坦率地说,从您提出问题的方式来看 - 这对您来说太难了。

于 2013-07-17T13:13:14.730 回答
0

PowerVR SDK for OpenGL ES 中有很好的示例程序可以处理变形球体和其他形状:

http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp

在工作站上创建动画变形球体模型的最佳免费工具是 Blender

http://www.blender.org/

于 2013-07-17T17:28:52.107 回答