|
@@ -82132,8 +82132,13 @@
|
|
|
var keys = this[keyType + 'Keys'].get(model);
|
|
|
if (!keys) return console.warn('removeKey没找到key');
|
|
|
var index = keys.indexOf(key);
|
|
|
- index > -1 && keys.splice(index, 1);
|
|
|
- this.updateTimeRange();
|
|
|
+ if (index > -1) {
|
|
|
+ if (keyType == 'clip') {
|
|
|
+ key.action.stop();
|
|
|
+ }
|
|
|
+ keys.splice(index, 1);
|
|
|
+ this.updateTimeRange();
|
|
|
+ }
|
|
|
}
|
|
|
reOrderKey(model, keyType, key) {
|
|
|
this.removeKey(model, keyType, key);
|
|
@@ -82249,7 +82254,7 @@
|
|
|
|
|
|
if (delta == void 0) {
|
|
|
//无缓动
|
|
|
- return time > key.time && time < key.time + key.dur ? 1 : 0;
|
|
|
+ return time >= key.time && time <= key.time + key.dur ? 1 : 0;
|
|
|
}
|
|
|
var fadeTimeStart = Math.min(maxClipFadeTime, key.dur, ((_keys4 = _keys3[i - 1]) === null || _keys4 === void 0 ? void 0 : _keys4.dur) || maxClipFadeTime) / 2; //过渡时间不超过当前和前一个的 half of dur
|
|
|
var fadeTimeEnd = Math.min(maxClipFadeTime, key.dur, ((_keys5 = _keys3[i + 1]) === null || _keys5 === void 0 ? void 0 : _keys5.dur) || maxClipFadeTime) / 2; //过渡时间不超过当前和后一个的 half of dur
|
|
@@ -82342,10 +82347,13 @@
|
|
|
this.cursorTime = time;
|
|
|
this.onUpdate = e => {
|
|
|
this.cursorTime += e.delta;
|
|
|
- if (!Potree.settings.isOfficial && time >= maxTime) this.cursorTime = maxTime;
|
|
|
+ if (!Potree.settings.isOfficial && time > maxTime) this.cursorTime = maxTime;
|
|
|
this.at(this.cursorTime, e.delta);
|
|
|
- if (!Potree.settings.isOfficial && time >= maxTime) {
|
|
|
+ if (!Potree.settings.isOfficial && time > maxTime) {
|
|
|
this.dispatchEvent('stop');
|
|
|
+ for (var [model, keys] of this.clipKeys) {
|
|
|
+ model.actions.forEach(a => a.stop());
|
|
|
+ }
|
|
|
this.pause();
|
|
|
}
|
|
|
};
|
|
@@ -82354,9 +82362,9 @@
|
|
|
pause() {
|
|
|
this.playing = false;
|
|
|
viewer.removeEventListener("update", this.onUpdate);
|
|
|
- for (var [model, keys] of this.clipKeys) {
|
|
|
- model.actions.forEach(a => a.stop());
|
|
|
- }
|
|
|
+ /* for(let [model, keys] of this.clipKeys){
|
|
|
+ model.actions.forEach(a=>a.stop())
|
|
|
+ } */
|
|
|
viewer.dispatchEvent('content_changed');
|
|
|
}
|
|
|
setCameraFollow(camFollowObject) {
|
|
@@ -82618,7 +82626,7 @@
|
|
|
|
|
|
} */
|
|
|
|
|
|
- /* autoActionSpeed(action){ //要获取这段时间走过的路程很难,还是延期吧
|
|
|
+ /* autoActionSpeed(action){ //要获取这段时间走过的路程很难,还是延期吧. 而且一段动作要对应多个速度不同的位移,是不可能的。
|
|
|
return dis / dur
|
|
|
} */
|
|
|
/*
|