I’d like to make an adjustment to the Camera(Transform Softimage) node because although very useful, it does have some limitations including 1) after rotating 360 degrees, it stops and will not continue rotating 2) the motion of the camera move is directly linked to the mouse, and thus feels jerky.
I think i might know how to fix the jerkiness, by adding a damper node to the Frame difference value.
My real concern is how to overcome the problem of the limit on the rotation. This seems to be a built in limitation on the Rotate(Transform) node. It appears that changing the input params on the Rotate node directly sets the rotation transform, rather than rotating it by a given amount. I’m wondering if there is a rotation node that will not ‘hit the limit’ but will ‘wrap around’. My guess is this must be the rotate(quaternion) but i haven’t yet figured out how to use it.
Am I on the right track? Will this work?
Has anyone already made something like this?
the rotation limit you perceive is not a problem of the Rotate(Transform) node, but of the Camera(Transform Softimage) patch. if you open the camera patch by right-clicking it, you can see an Ord2Enum(Enumerations) node on top of a Mouse(System Global) node in the upper-right hand of the patch window. connecting the Enum-pin of the Ord2Enum to the Cycle Mode-pin of the Mouse will allow your mouse cursor to wrap around the screen edge, which was limiting the rotation. i don’t know why the pin is disconnected par default …
you might also enjoy a look at @sven Roll(Transform) module for another nice idea on the topic.
thanks so much. It worked!
I attached my new ‘improved’ camera with momentum (damping).
The only ‘problem’ is that the rotation still stops at the poles, even with the Mouse:Cycle pin connected to Ord2Enum. I suspect this might be because of ‘gimbal lock’ which is a limitation of euler rotation. If this is the cause, presumably quaternion rotation will fix it, but that is beyond me at the moment.
modules.zip (0 Bytes)
your zipfile seems to be empty.
if you have a look at my latest shader CubeTexture (Template.fx):
i included a betaversion of another CameraModule.
perhaps it inspires you for optimization.
see kalle.Shader or User Shaders
apologies for the null attachment.
Lemme try that again.
Camera_momentum.zip (10.8 kB)
perhaps i found it.
look inside the module:
there is a MapRange (Value) which was set to mode:“Clamp”
with mode:“Float” it seems to do what you want.
i marked that node white with CTRL-H.
Desktop.zip (6.3 kB)