I've been struggling to get some simple stuff going in Dreams, and the more I look at it, the more I think there are limitations in the engine that require workarounds and one cannot simply build what one would imagine as the obvious solution. However, I don't know what's a bug that needs reporting and what's just a limitation of the engine.
It would appear that physics only works correctly in the global space, and trying to get physics working in a transformed local space will fail. That is, it all works great until you put some mechanisms inside an Imp Tracker, say, and then physics goes to pot.
For my specific case, I had mind to create a puppet (not a Dreams puppet). Using a real world analogue, imagine a cylinder of wood with a polystyrene ball for a hand and a thing, springy wire between them. As you move the wood body, the hand would wave around. I tried to create this in Dreams with a springy joint on a body and arm inside an Imp Tracker but it didn't work properly, so I started experimenting and found the simplest case just doesn't work:
I would have expected the piston to align to the Imp Tracker and the Move controller that it's following, but that's not the case, and it appears there's no way to make that the case. It occurred to me perhaps there was a setting for the piston to use local or global space as there are on other widgets, but that's not the case either.
So does physics not play nice with motion tracked controllers? And as such, something as simple as a ball stuck on a wire stuck in a puppet as a wobbly arm needs some complex rigging and keyframing? Is this a bug and not the intended behaviour of Dreams, or is it a limitation of the engine? Or am I missing something fundamental and it actually IS possible to embed physical connections inside motion-tracked objects and have them work?
Cheers!
It would appear that physics only works correctly in the global space, and trying to get physics working in a transformed local space will fail. That is, it all works great until you put some mechanisms inside an Imp Tracker, say, and then physics goes to pot.
For my specific case, I had mind to create a puppet (not a Dreams puppet). Using a real world analogue, imagine a cylinder of wood with a polystyrene ball for a hand and a thing, springy wire between them. As you move the wood body, the hand would wave around. I tried to create this in Dreams with a springy joint on a body and arm inside an Imp Tracker but it didn't work properly, so I started experimenting and found the simplest case just doesn't work:
- Create a cylinder.
- Create a second cylinder floating above and connect them with a piston - the top cylinder moves up/down when playing.
- Group those objects into an Imp Tracker and the bottom object follows the imp but the piston flaps around.
- Make the piston rigid and it moves up/down regardless of the orientation of the Imp Tracker. The bottom cylinder is aligned with the motion controller but the top one stoically stays upright as the piston remains vertical.
I would have expected the piston to align to the Imp Tracker and the Move controller that it's following, but that's not the case, and it appears there's no way to make that the case. It occurred to me perhaps there was a setting for the piston to use local or global space as there are on other widgets, but that's not the case either.
So does physics not play nice with motion tracked controllers? And as such, something as simple as a ball stuck on a wire stuck in a puppet as a wobbly arm needs some complex rigging and keyframing? Is this a bug and not the intended behaviour of Dreams, or is it a limitation of the engine? Or am I missing something fundamental and it actually IS possible to embed physical connections inside motion-tracked objects and have them work?
Cheers!
Comment