Skip to content

Commit ee7ec30

Browse files
authored
Remove epsilon for scale as Three.js handles zero scale (#5404)
Co-authored-by: Noeri Huisman <[email protected]>
1 parent 8f7a65f commit ee7ec30

File tree

2 files changed

+1
-13
lines changed

2 files changed

+1
-13
lines changed

src/components/animation.js

-6
Original file line numberDiff line numberDiff line change
@@ -376,12 +376,6 @@ module.exports.Component = registerComponent('animation', {
376376
return function (anim) {
377377
var value = anim.animatables[0].target;
378378

379-
if (data.property === PROP_SCALE) {
380-
value.x = Math.max(0.0001, value.x);
381-
value.y = Math.max(0.0001, value.y);
382-
value.z = Math.max(0.0001, value.z);
383-
}
384-
385379
// For animation timeline.
386380
if (value.x === lastValue.x &&
387381
value.y === lastValue.y &&

src/components/scale.js

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
var registerComponent = require('../core/component').registerComponent;
22

3-
// Avoids triggering a zero-determinant which makes object3D matrix non-invertible.
4-
var zeroScale = 0.00001;
5-
63
module.exports.Component = registerComponent('scale', {
74
schema: {
85
type: 'vec3',
@@ -12,10 +9,7 @@ module.exports.Component = registerComponent('scale', {
129
update: function () {
1310
var data = this.data;
1411
var object3D = this.el.object3D;
15-
var x = data.x === 0 ? zeroScale : data.x;
16-
var y = data.y === 0 ? zeroScale : data.y;
17-
var z = data.z === 0 ? zeroScale : data.z;
18-
object3D.scale.set(x, y, z);
12+
object3D.scale.set(data.x, data.y, data.z);
1913
},
2014

2115
remove: function () {

0 commit comments

Comments
 (0)