Commit 6b58b71f authored by Wenyuan  Cui's avatar Wenyuan Cui
Browse files

Delete Jme.java

parent 7d7241f0
Loading
Loading
Loading
Loading
+0 −45
Original line number Diff line number Diff line
package bouncingshape;

import com.jme3.bullet.collision.shapes.CollisionShape;
import com.jme3.bullet.collision.shapes.MeshCollisionShape;
import com.jme3.bullet.control.RigidBodyControl;
import com.jme3.math.Vector3f;
import com.jme3.scene.Mesh;
import com.jme3.scene.VertexBuffer;
import com.jme3.util.BufferUtils;

public class Jme{

    public static Mesh createMesh(Vector3D[] vertices, int[] indices) {
        Mesh mesh = new Mesh();

        // 创建用于存储 Vector3f 的数组
        Vector3f[] jmeVertices = new Vector3f[vertices.length];
        for (int i = 0; i < vertices.length; i++) {
            // 将 Vector3D 转换为 Vector3f
            jmeVertices[i] = new Vector3f(vertices[i].x, vertices[i].y, vertices[i].z);
        }

        // 设置顶点位置
        mesh.setBuffer(VertexBuffer.Type.Position, 3, BufferUtils.createFloatBuffer(jmeVertices));

        // 设置三角形索引
        mesh.setBuffer(VertexBuffer.Type.Index, 3, BufferUtils.createIntBuffer(indices));

        // 更新网格边界和网格数量信息
        mesh.updateBound();
        mesh.updateCounts();

        return mesh;
    }

    public static RigidBodyControl setupPhysics(Mesh mesh) {
        // 创建碰撞形状
        CollisionShape collisionShape = new MeshCollisionShape(mesh);

        // 创建刚体控制器,参数为物体的质量(例如1.0表示动态物体)
        RigidBodyControl rigidBodyControl = new RigidBodyControl(collisionShape, 1.0f);

        return rigidBodyControl;
    }
}