首页 / 浏览问题 / WebGIS / 问题详情
entity的polygon对象,如何确定贴图的方向?
2EXP 2021年02月25日

需求:动态改变添加的多边形的贴图

实现方式:使用WebGL绘制添加的多边形对象,多边形的material设置为图片的URL,

问题:在三维场景中有的位置能够正常显示,有的位置显示的图片有旋转,这个有什么规律可以控制?

 添加代码:var polygon = viewer.entities.add({
                    id: ptag,
                    polygon: {
                        height: height + hplus,
                        fill: pmts.fill != undefined ? pmts.fill : true,
                        material: '/BIMGenmodel/JD/MJ/BiaoPai/6.png',
                        outline: pmts.outline != undefined ? pmts.outline : true,
                        outlineColor: pmts.lcolor != undefined ? pmts.lcolor : new _Cesium.Color(1, 0, 0.8),
                        outlineWidth: 25,
                        hierarchy: new _Cesium.PolygonHierarchy(pos, null),
                        perPositionHeight:true,
                    },
                });

效果:

1个回答

您好,这个方向是可以控制的。例如:

var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll); // 控制方向 设置不同的值方向不同

            var orientation = Cesium.Transforms.headingPitchRollQuaternion(

                position, // 实体所在位置

                hpr

            );

            var polygon = viewer.entities.add({

                    id: ptag,

                    orientation: orientation, // 在实体中加入

                    polygon: {

                        height: height + hplus,

                        fill: pmts.fill != undefined ? pmts.fill : true,

                        material: '/BIMGenmodel/JD/MJ/BiaoPai/6.png',

                        outline: pmts.outline != undefined ? pmts.outline : true,

                        outlineColor: pmts.lcolor != undefined ? pmts.lcolor : new _Cesium.Color(1, 0, 0.8),

                        outlineWidth: 25,

                        hierarchy: new _Cesium.PolygonHierarchy(pos, null),

                        perPositionHeight:true,

                    },

                });
1,509EXP 2021年02月25日
旋转可以控制没有问题,我的问题是如何判断该不该旋转的问题,在某一场景位置,方向不同默认贴图显示不一样

缺少的是旋转贴图的判断条件

您好,您放的位置不同,您贴图的方向不同是很正常的,它的默认值都是一样的。但是您放的位置不同时,空间位置的角度是不一致的。关于角度的问题您可以看一下这个博客: https://blog.csdn.net/u011575168/article/details/83097894。也就是说这个判断条件需要您自己去写逻辑代码。

...