I believe scale() is like translate(), this means that every time you do scale() it will apply that scale to the prev applied scale, in other words:

Code: Select all

```
myNode->scale(10); //now the scale is 10
myNode->scale(10); //now the scale is 100
myNode->scale(10); //now the scale is 1000
myNode->scale(1); //now the scale is 1000
myNode->scale(0.5); //now the scale is 50
```

so probably your mesh is getting too big/small very quickly so it disappears

if that's not your case... still the correct analog version for scale() using setScale() should be:

Code: Select all

`sceneNode->setScale(sceneNode->getScale() * relativeAmount);`

with * not +, so you probably just using wrong values and comparing it with a wrong setScale