我想为Android应用程序设计一个3D物理引擎。我正在使用OpenGL ES 2.0。
这就是我想要做的事情:
假设我的设备屏幕中心有一个球体。假设球体充满水(如水气球)。由于重力,我们期望球体在底部变形。此外,使用手机的加速度计,我可以改变重力,从而改变球体的变形。
我做了很多研究,但我仍然不知道该怎么做。我认为这不是很难做的事情,但目前我能想到如何做到的唯一方法就是手工绘制,逐帧,不同的形状。
是否有一种产生变形的方法,而不是“手工”绘制?也许通过使用着色器?
我现在完全失去了!
非常感谢你的帮助。
答案 0 :(得分:1)
如果您想以逼真的方式在3D中进行 - 那么它与OpenGL ES无关,并且需要高级物理引擎。着色器仅用于渲染结果。
除非你需要的是3D球体2D图像的简单变形,坦率地说,从你问这个问题的方式来判断 - 这对你来说太难了。
答案 1 :(得分:0)
有很好的示例程序可以在PowerVR SDK for OpenGL ES中执行变形球体和其他形状:
http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp
在工作站上创建动画变形球体模型的最佳免费工具是Blender