Famous / engine

MIT License
1.75k stars 250 forks source link

[BUG, v0.6.2] Camera positioned on an animated Node doesn't move. #415

Open trusktr opened 9 years ago

trusktr commented 9 years ago

In 0.5.2, I was able to put a Camera on a Node, then move the Node around to change the view. In 0.6.2, this broke, and although the Node moves, the view doesn't change. I haven't tested in 0.7 yet. I'll be back to post a test case...

michaelobriena commented 9 years ago

@trusktr do you have an example of this?

steveblue commented 9 years ago

Every time I try to attach a camera to a Node and then setPosition onUpdate of a component on the same Node, the camera doesn't move in 0.7.0.

trusktr commented 9 years ago

@michaelobriena It should be reproducible by doing something like this:


let cameraNode = someNode.addChild()
let camera = new Camera(cameraNode)
camera.setDepth(1000)

// animate the camera.
let camPositionZ = new Transitionable(0)
~function loop() {
    camPositionZ.to(6000, 'easeInOut', 6000).to(0, 'easeInOut', 6000, loop)
}()

let cameraAnimation = cameraNode.addComponent({
    onUpdate: function() {
        cameraNode.setPosition(camPositionZ.get()/3, 0,camPositionZ.get())
        cameraNode.requestUpdateOnNextTick(cameraAnimation)
    }
})
cameraNode.requestUpdateOnNextTick(cameraAnimation)

The camera should move back and forth, but you'll notice it won't.

trusktr commented 9 years ago

PR https://github.com/Famous/engine/pull/488