Align 3D models along vector

I want to align 3d Model along some vector, but its not working in cesium. I am using following methods to get modelMatrix for model:

function getModelMatrix(currentPosition,nextPosition) {

   var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(currentPosition);
   
    var Va = new Cesium.Cartesian3(1.0, 0.0, 0.0);
    
    var Vw = Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(nextPosition, currentPosition));
   
    var Vr = Cesium.Cartesian3.cross(Va, Vw);

    var Or = Math.acos(Cesium.Cartesian3.dot(Va, Vw));
    
    var Qr = Cesium.Quaternion.normalize( Cesium.Quaternion.fromAxisAngle(Vr, Or));
    
    var currentModelMatrix = Cesium.Matrix4.multiply(modelMatrix, Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromQuaternion(Qr), Cesium.Cartesian3.ZERO));
  
    return currentModelMatrix;
}

I am using following code placed model in cesium:

var currentModelMatrix = getBMModelMatrix(new Cesium.Cartesian3(303065.877, 5959040.199, 2246066.299), new Cesium.Cartesian3(293234.532, 6024480.298, 2235076.383));

viewer.scene.getPrimitives().add(Cesium.Model.fromGltf({
            url: entity.modelAttributes.model3D,
            modelMatrix: currentModelMatrix,
            show: (entity.modelAttributes.show ? entity.modelAttributes.show : true),
            scale: entity.modelAttributes.scale ? entity.modelAttributes.scale : 1.0
        }));

but Model is not align to joining line of currentPosition and nextPosition.

Thanks