Java 保持X、Y、Z位置时的libGDX圆锥旋转

Java 保持X、Y、Z位置时的libGDX圆锥旋转,java,opengl,graphics,libgdx,Java,Opengl,Graphics,Libgdx,我试图通过创建一个圆锥体并围绕X/Y旋转来创建某种“灯塔”效果。如果同时存在偏航和俯仰角度,则结果在Z轴上“运行”,在Y/X轴上也是错误的。 (Z轴从右向左,X向屏幕,Y向上)。 黄色圆锥体就是效果。它从透明圆锥体开始 这是设定圆锥体的x、y、z位置的方法: float c = this.height/2; this.locationX = player.getPosition().x - c*((float)Math.sin(Math.toRadians(tiltOnY)));

我试图通过创建一个圆锥体并围绕X/Y旋转来创建某种“灯塔”效果。如果同时存在偏航和俯仰角度,则结果在Z轴上“运行”,在Y/X轴上也是错误的。
(Z轴从右向左,X向屏幕,Y向上)。 黄色圆锥体就是效果。它从透明圆锥体开始

这是设定圆锥体的x、y、z位置的方法:

float c = this.height/2;
    this.locationX = player.getPosition().x - c*((float)Math.sin(Math.toRadians(tiltOnY)));
    this.locationY = player.getPosition().y + c*((float)Math.sin(Math.toRadians(tiltOnX)));
    this.locationZ = player.getPosition().z-c;
其中,高度是圆锥体的高度,倾斜从0开始,通过360度模块增加或减少(作为输入的结果)。 这是render中的代码:

inst = new ModelInstance(this._game_.viewConeModel);
    inst.transform.setToTranslation(cone.getX(),cone.getY(),cone.getZ())
    .rotate(Vector3.Y,cone.getTiltOnY()).rotate(Vector3.X,cone.getTiltOnX()).rotate(Vector3.X,90);

    this._game_.modelBatch.render(inst,this._game_.environment);

理想的结果是圆锥体的点保持在相同的位置,但圆锥体本身在X轴和Y轴上通过倾斜旋转。

您是否尝试过其他
旋转
设置旋转
版本?