|
@@ -74959,11 +74959,14 @@ void main()
|
|
});
|
|
});
|
|
Potree.settings.sizeFitToLevel = true;//当type为衰减模式时自动根据level调节大小。每长一级,大小就除以2
|
|
Potree.settings.sizeFitToLevel = true;//当type为衰减模式时自动根据level调节大小。每长一级,大小就除以2
|
|
Potree.settings.rotAroundPoint = false;
|
|
Potree.settings.rotAroundPoint = false;
|
|
- if( browser.isMobile()){
|
|
|
|
- changeLog();
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if( browser.isMobile() && browser.urlHasValue('log')){
|
|
|
|
+ changeLog();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
{
|
|
{
|
|
|
|
|
|
var cloudPath = //`${Potree.settings.urls.prefix1}/webcloud/cloud.js`
|
|
var cloudPath = //`${Potree.settings.urls.prefix1}/webcloud/cloud.js`
|
|
@@ -75570,7 +75573,7 @@ void main()
|
|
useV4url:true, //v4的全景图等路径不一样 scene_view_data
|
|
useV4url:true, //v4的全景图等路径不一样 scene_view_data
|
|
|
|
|
|
useRTskybox:true, //直接使用rtEDL绘制到屏幕,当是全景模式时. 在降4倍时能给render节省1毫秒,gpu时间未测
|
|
useRTskybox:true, //直接使用rtEDL绘制到屏幕,当是全景模式时. 在降4倍时能给render节省1毫秒,gpu时间未测
|
|
- useRTPoint:true, //直接使用rtEDL绘制到屏幕,当是点云模式时。可以大大节省gpu时间
|
|
|
|
|
|
+ //useRTPoint:true, //直接使用rtEDL绘制到屏幕,当是点云模式时。可以大大节省gpu时间
|
|
pointEnableRT:false,//点云是否允许绘制到rtEDL。只在有需要时使用
|
|
pointEnableRT:false,//点云是否允许绘制到rtEDL。只在有需要时使用
|
|
cloudSameMat:true, //因为点云个数较多,就使用相同的材质,可见降低绘制速度(要保证所有点云的maxNodelevel一样,且要算出 material.spacing的平均值)
|
|
cloudSameMat:true, //因为点云个数较多,就使用相同的材质,可见降低绘制速度(要保证所有点云的maxNodelevel一样,且要算出 material.spacing的平均值)
|
|
|
|
|
|
@@ -76476,7 +76479,7 @@ void main()
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
- //console.log('changePointSize:' + this.dataset_id + ' , num: ' + (num && num.toPrecision(3)) + ' , size: ' + size.toPrecision(3), 'nodeMaxLevel', nodeMaxLevel.toPrecision(3), 'testMaxNodeCount',viewer.testMaxNodeCount /* this.material.spacing */)
|
|
|
|
|
|
+ console.log('changePointSize:' + this.dataset_id + ' , num: ' + (num && num.toPrecision(3)) + ' , size: ' + size.toPrecision(3), 'nodeMaxLevel', nodeMaxLevel.toPrecision(3), 'testMaxNodeCount',viewer.testMaxNodeCount /* this.material.spacing */);
|
|
if(size){
|
|
if(size){
|
|
if(Potree.settings.sortCloudMat){//被废弃,不给material分组了
|
|
if(Potree.settings.sortCloudMat){//被废弃,不给material分组了
|
|
this.size = size;this.material.size = size;
|
|
this.size = size;this.material.size = size;
|
|
@@ -135282,13 +135285,25 @@ ENDSEC
|
|
|
|
|
|
let r = 1-1/e.scale;
|
|
let r = 1-1/e.scale;
|
|
let closeMin = 0.1, standardMin = 0.001, disBound1 = 2, disBound2 = 5;
|
|
let closeMin = 0.1, standardMin = 0.001, disBound1 = 2, disBound2 = 5;
|
|
|
|
+
|
|
|
|
+ if(math.closeTo(e.scale,1,0.03)){//如果偏差小于0.01,就不限制最小值,因为平移容易正负抖动,近距离有最小值的话抖动明显
|
|
|
|
+ closeMin = 0; //所以若缩放不明显(双指滑动慢),就不设置最低值。(这时候穿越障碍物会比较困难。)
|
|
|
|
+ }
|
|
|
|
+ //console.log('closeMin',closeMin)
|
|
let min = math.linearClamp(dis, disBound1, disBound2, closeMin, standardMin); //触屏和滚轮不一样,触发较为连续,所以最小值设低一点。若要保持双指相对点云位置不变,理想最小值是0,但那样就无法穿越点云(最小值太小的话穿越密集点云如树丛很困难;太大会打滑)所以当离点云近时增大最小值
|
|
let min = math.linearClamp(dis, disBound1, disBound2, closeMin, standardMin); //触屏和滚轮不一样,触发较为连续,所以最小值设低一点。若要保持双指相对点云位置不变,理想最小值是0,但那样就无法穿越点云(最小值太小的话穿越密集点云如树丛很困难;太大会打滑)所以当离点云近时增大最小值
|
|
speed = Math.sign(r) * MathUtils$1.clamp(dis * Math.abs(r), min, speed);
|
|
speed = Math.sign(r) * MathUtils$1.clamp(dis * Math.abs(r), min, speed);
|
|
|
|
|
|
//console.log(speed, dis, e.scale)
|
|
//console.log(speed, dis, e.scale)
|
|
|
|
|
|
}else {
|
|
}else {
|
|
- const constantDis = this.currentViewport.getMoveSpeed() * 200; //constantDis = 10;//常量系数,当放大一倍时前进的距离。可以调整
|
|
|
|
|
|
+
|
|
|
|
+ this.useAttenuation = true;
|
|
|
|
+ let accelerate = 80;
|
|
|
|
+ if(math.closeTo(e.scale,1,0.02)){//缩放小的时候很可能是双指平移时,容易抖动,所以降低移动速度
|
|
|
|
+ accelerate *= Math.min(40*Math.abs(e.scale-1), 0.8);
|
|
|
|
+ }
|
|
|
|
+ // console.log('accelerate',accelerate)
|
|
|
|
+ const constantDis = this.currentViewport.getMoveSpeed() * accelerate; //constantDis = 10;//常量系数,当放大一倍时前进的距离。可以调整
|
|
speed = (e.scale-1)*constantDis;
|
|
speed = (e.scale-1)*constantDis;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -138989,7 +139004,7 @@ ENDSEC
|
|
const vrActive = this.renderer.xr.isPresenting;
|
|
const vrActive = this.renderer.xr.isPresenting;
|
|
|
|
|
|
|
|
|
|
- Potree.settings.useRTPoint = true;//!(SiteModel.editing && SiteModel.selected && SiteModel.selected.buildType == 'room' )//空间模型的房间选中材质是需要depth的,这时候需要绘制两次点云
|
|
|
|
|
|
+ //Potree.settings.useRTPoint = !(SiteModel.editing && SiteModel.selected && SiteModel.selected.buildType == 'room' )//空间模型的房间选中材质是需要depth的,这时候需要绘制两次点云
|
|
|
|
|
|
Potree.settings.pointEnableRT = this.scene.measurements.length > 0 || !Potree.settings.useRTPoint;
|
|
Potree.settings.pointEnableRT = this.scene.measurements.length > 0 || !Potree.settings.useRTPoint;
|
|
|
|
|