public void lookAt(Vector3f direction, Vector3f upVector) { Vector3f dir = compVecA; Vector3f up = compVecB; Vector3f left = compVecC;  dir.set(direction).subtractLocal(worldTranslation).normalizeLocal(); up.set(upVector); left.set(up).crossLocal(dir).normalizeLocal(); up.set(dir).crossLocal(left).normalizeLocal();  localRotation.fromAxes(left, up, dir);
public void lookAt(Vector3f position, Vector3f upVector) { compVecA.set( position ).subtractLocal( getWorldTranslation() ); getLocalRotation().lookAt( compVecA, upVector );
    public void lookAt(Vector3f direction, Vector3f upVector) {        Vector3f dir = compVecA;        Vector3f up = compVecB;        Vector3f left = compVecC;        dir.set(direction).subtractLocal(worldTranslation).normalizeLocal();        up.set(upVector);        left.set(up).crossLocal(dir).normalizeLocal();        up.set(dir).crossLocal(left).normalizeLocal();                localRotation.fromAxes(left, up, dir);    }