The orientation and rotation do not match when displaying the gltf model on cesium


I am using glft (2.0) to display a model in cesium.

The center point of the model is correct, but the end points of the model do not match.

The rotation angle of the model varies depending on the coordinates where the model is placed.

I think the orientation or rotation of the model is not correct.

I am using collada2gltf for data conversion.

I would be glad if you could give me any advice.


I used rectangular plane(No.6).

centerpoint : x=5150m y=5150m z=0

endpoint: x=150m y=10150m z=0

I have transformed the coordinates using proj4.

function createModel() {


var position = Cesium.Cartesian3.fromRadians(2.374645370187137, 0.6291284398934394, 0);// centerpoint

var heading = 0;

var pitch = 0;

var roll = 0;

var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);

var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);

var entity = viewer.entities.add({

name : “Model.gltf”,

position : position,

orientation : orientation,

model : {

uri : “(Please input URI)”,

minimumPixelSize : 128,

maximumScale : 20000



position = Cesium.Cartesian3.fromDegrees(136.001663835694, 36.0013519741824, 0);// endpoint

var orientation2 = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);

var entity2 = viewer.entities.add({

name : “Endpoint sample”,

position : position,

orientation : orientation2,

model : {

uri : “(Please input URL)”,

minimumPixelSize : 128,

maximumScale : 20000,





I want to display a model of the terrain along the map.


I’m using version is 1.55.0(Cesium) Windows10.(OS) Chrome.(Browser) COLLADA2GLTF(2.1.4)

Model.glb (1.2 KB)