Моя проблема заключается в том, что в Libgdx, я создал треугольник в 3D, благодаря классу Mesh в этом простом куске кода:3d треугольник в libgdx
mesh = new Mesh(true, 3, 3,
new VertexAttribute(VertexAttributes.Usage.Position, 3, "vPosition"));
mesh.setVertices(new float[] { vert1.x, vert1.y, vert1.z, vert2.x, vert2.y, vert2.z, vert3.x, vert3.y, vert3.z });
mesh.setIndices(new short[] { 0, 1, 2 });
Что важно для меня, чтобы быть в состоянии изменить vert1, vert2, vert3, которые сохраняют координаты вершин треугольника, так как я хочу создать треугольник во время игры.
Когда отображается треугольник, кажется, что он появляется в нужном месте, в соответствии с тем, что я даю ему в вершинах Vector3.
Теперь вот что: я использовал для камеры.rotateAround(), чтобы создать способ посмотреть вокруг сцены, и я также создал небольшую рамку, чтобы увидеть, работает ли мой скрипт с камерой. Это ! Я могу видеть, что моя коробка вращается, если я перемещаю камеру. Но когда я вращаюсь вокруг сцены, созданный мной треугольник не вращается и остается неподвижным на экране, точно так же, как это была 2D-сетка!
Итак, вот мой вопрос: Как сделать 3D-треугольник в Libgdx и как сделать рендеринг треугольника в соответствии с движением камеры?
API документ не ясно для меня, но, может быть, первый параметр Mesh, булевой переменной isStatic, должно быть ложным. –
Настройка на false не помогает, уже пробовал. Но спасибо за попытку, приятель – turbodoom
Класс Mesh - довольно обтекающая оболочка вокруг необработанного OpenGL, поэтому ничего не должно быть «2d». Возможно, еще больше кода. Как вы нарисовываете рабочий ящик? Применяется ли ваша камера к треугольнику так же, как и рендер окна? Вы пересчитываете веры для Mesh? –