|
@@ -20454,7 +20454,8 @@
|
|
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
super();
|
|
|
var map = new Texture();
|
|
|
- map.minFilter = LinearMipmapNearestFilter;
|
|
|
+ map.generateMipmaps = true;
|
|
|
+ map.minFilter = LinearMipmapLinearFilter;
|
|
|
map.magFilter = NearestFilter; //放大后可以很清晰
|
|
|
|
|
|
this.sprite = new Sprite$2(Object.assign({
|
|
@@ -24906,9 +24907,7 @@
|
|
|
|
|
|
if (prop.isFirstLoad) {
|
|
|
if (model.hasLonLat || !moveModelWhenLoad) {
|
|
|
- setTimeout(() => {
|
|
|
- MergeEditor.focusOn(model);
|
|
|
- }, 1);
|
|
|
+ //setTimeout(()=>{MergeEditor.focusOn(model)} , 1) //由2d控制
|
|
|
} else {
|
|
|
MergeEditor.moveBoundCenterTo(model, new Vector3(0, 0, 0));
|
|
|
}
|
|
@@ -35341,7 +35340,7 @@
|
|
|
var cos = dir.dot(vec2);
|
|
|
//let result = (- dis1 - Math.pow(dis2 , 1.5)) / (cos + 2) // cos+2是为了调整到1-3,
|
|
|
|
|
|
- var result = (dis1 + dis2 * 0.3) * (-1 + cos * 0.9); //尽量贴近最佳位置的角度, 或贴近相机原来的角度 。尽量靠近最佳观测点,并且优先选择靠近目标点的位置.(注意cos的乘数不能太接近1,否则容易只考虑角度)
|
|
|
+ var result = (dis1 + dis2 * 0.3) * (-1 + cos * 0.4); //尽量贴近最佳位置的角度, 或贴近相机原来的角度 。尽量靠近最佳观测点,并且优先选择靠近目标点的位置.(注意cos的乘数不能太接近1,否则容易只考虑角度)
|
|
|
//Potree.Log(pano.id, dis1, dis2, cos, result,{font:{toFixed:2,fontSize:10}})
|
|
|
|
|
|
return result;
|
|
@@ -82383,6 +82382,8 @@
|
|
|
//actions中可能包含没有动作的 如TPose
|
|
|
|
|
|
//包括无动画的模型在内的各项属性的过渡
|
|
|
+
|
|
|
+ var rot90Qua = new Quaternion().setFromAxisAngle(new Vector3(1, 0, 0), -Math.PI / 2);
|
|
|
class AnimationEditor extends EventDispatcher {
|
|
|
constructor() {
|
|
|
super();
|
|
@@ -82741,6 +82742,8 @@
|
|
|
var _position2 = curve.getPointAt(percent2);
|
|
|
quaternion = math.getQuaFromPosAim(position, _position2);
|
|
|
}
|
|
|
+ quaternion.multiplyQuaternions(quaternion, rot90Qua);
|
|
|
+
|
|
|
//如果要将模型底部中心对准路径,需要先修改好模型scale ,然后boundingBox中心应用scale和qua, 加到position里
|
|
|
//目前两个人物模型刚好模型pivot在脚底,如果是其他物体甚至直接用curve的朝向不太对,没有明确朝向。除非所有模型都保持上路径前的朝向
|
|
|
//或者pos的z还用之前的
|