我已经浏览了JPCT中的3D对象documentation,但我无法找到一种方法来仅沿y轴缩放3D对象[圆柱体]。我的世界有多个对象,我的目标是扩展一个特定的对象。感谢任何线索。谢谢!!
像这个openGL函数glScalef(1,10,1)。
答案 0 :(得分:0)
用户AGP在此处列出了实现此目的的方法: JPCT Forums
它基本上使用了以下顶点控制器类,并且我也成功地使用了它:
class VertexController extends GenericVertexController
{
public VertexController(Object3D toCheck) {
super.init(toCheck.getMesh(), true);
}
protected void scale(SimpleVector scale)
{
SimpleVector[] vertices = getSourceMesh();
SimpleVector[] destination = getDestinationMesh();
for (int i = 0; i < vertices.length; i++)
{
vertices[i].x *= scale.x;
vertices[i].y *= scale.y;
vertices[i].z *= scale.z;
destination[i].x = vertices[i].x;
destination[i].y = vertices[i].y;
destination[i].z = vertices[i].z;
}
this.updateMesh();
}
public void apply() {}
}
你可以这样称呼它:
vertexController = new VertexController(object);
然后在你的onDrawFrame中,或者需要的时候:
vertexController.scale(new SimpleVector(1,1.5f,1));