我已经浏览了 JPCT 中的 3D 对象文档,但我找不到仅沿 y 轴缩放 3D 对象[a Cylinder] 的方法。我的世界有多个对象,我的目标是缩放一个特定对象。欣赏任何线索。谢谢!!
像这样的 openGL 函数 glScalef(1,10,1)。
用户 AGP 在此处列出了实现此目的的方法: JPCT 论坛
它基本上使用了以下顶点控制器类,我也成功使用了它:
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));