@Override public void apply(@Nonnull Vertex vertex) { apply(vertex.xyz); }
Vector3d trans; VertexRotation vrot = new VertexRotation(Math.PI / 2, new Vector3d(0, 1, 0), new Vector3d(0.5, 0.5, 0.5)); VertexTranslation vtrans = new VertexTranslation(0, 0, 0); VertexTransformComposite xform = new VertexTransformComposite(vrot, vtrans); vrot.setAngle(Math.PI + Math.PI / 2); trans = offsetScaled(dir, 0.5); trans.sub(offsetScaled(dir, offset)); vrot.setAngle(Math.PI); trans = offsetScaled(dir, 0.5); trans.sub(offsetScaled(dir, offset)); vrot.setAngle(0); trans = offsetScaled(dir, 0.5); trans.sub(offsetScaled(dir, offset)); vrot.setAxis(new Vector3d(0, 0, 1)); vrot.setAngle(-Math.PI / 2); trans = offsetScaled(dir, 0.5); trans.sub(offsetScaled(dir, offset)); vrot.setAngle(Math.PI / 2); trans = offsetScaled(dir, 0.5); trans.sub(offsetScaled(dir, offset));
VertexTransform rotx = new VertexRotation(0.03054326, new Vector3d(1, 0, 0), CENTER); VertexTransform roty = new VertexRotation(0.17453290, new Vector3d(0, 1, 0), CENTER); VertexTransform rotz = new VertexRotation(0.23928460, new Vector3d(0, 0, 1), CENTER); VertexTransform mov = new VertexTranslation(0.25 * px, -1 * px, 0); TextureAtlasSprite tex1 = head1.get(TextureAtlasSprite.class); VertexTransform rota = new VertexRotation(angle, new Vector3d(0, 1, 0), CENTER); buffer.bake(quads, sca, rota, rotx, roty, rotz, mov, rot);