3d OpenGL ES 2.0-如何真实地变形球体?

3d OpenGL ES 2.0-如何真实地变形球体?,3d,opengl-es-2.0,game-engine,game-physics,physics-engine,3d,Opengl Es 2.0,Game Engine,Game Physics,Physics Engine,我想为Android应用程序设计一个3D物理引擎。我正在使用OpenGLES2.0 这就是我想做的: 假设我的设备屏幕中央有一个球体。假设球体充满水(像一个水气球)。由于重力的作用,我们预计球体在底部会变形。此外,使用手机的加速计,我可以改变重力,从而改变球体的变形 我做了很多研究,但我仍然不知道如何去做。我不认为这是一件很难做到的事情,但目前我能想到的唯一方法是手动一帧一帧地绘制不同的形状 有没有办法生成变形,而不是“手工”绘制?也许通过使用着色器 我现在完全迷路了 非常感谢您的帮助。如果您想

我想为Android应用程序设计一个3D物理引擎。我正在使用OpenGLES2.0

这就是我想做的:

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

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

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

我现在完全迷路了


非常感谢您的帮助。

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


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

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

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


我不想重新发明轮子。安卓系统中是否有任何具有柔体动力学的物理引擎?事实上,我所有的建模都使用Blender,使用柔体动力学。但是,有没有办法在我的Android应用程序中导出Blender中的动态特性?PowerVR可以做到这一点吗?PowerVR SDK具有PVRTools库,它可以从POD文件中读取和解析几何体的纹理和简单动画,POD文件可以直接从Blender或通过Collada导出。然而,我认为物理或骨骼是不受支持的。