1. #1

    Rotational Camera

    Hello,

    I've managed to set up a situation in my track where the rider gets locked in and can no longer move. At the same time the camera switches to a ball, 4 forces link to the 4 pad directions allowing controlled movement.

    So at this point we are now moving a ball with a camera looking down and tracking it. Next I wanted to be able to rotate the camera around the ball, starting with holding right on the analogue stick the camera will rotate around the ball. At the same time the forces are set up to reflect the new camera angle.

    At this point we control the balls movement and can move the camera in a circle around the object to the right. This is where I hit my problem;

    I cannot invert data curves, when I press the other direction, I need my two sine data curves to start going backwards from the point they were already at.

    I have tried a plethora of different solutions, but the problem always comes back to the fact that there is no toggle option to change the direction of a data source. Does anyone have any ideas or suggestions of how to make this work?

    Thanks
    Share this post

  2. #2

    Re: Rotational Camera

    I think your implementation is a bit out of my league, but I may be able to answer the actual question.

    My solution might depend on whether or not the data source has static or dynamic start and end points (fixed or variable).

    If you have a data source going from 0-100 in 10 seconds, you can create a 2 input operator with 'Subtract' operand. Use the END variable of the Data Source as the FIRST input of the subtract operation, and then use the Data Source as the second input.

    This way, as the Data source increases from 0 to 100, the Subtract Operand decreases from 100 to 0!

    You could also use Variable data sources to store the START and END values of one Curve data source, and then map them to the END and START values of another identical data source. (So the 2nd data source goes in the opposite direction.) Then you could map the 'Duration' of the first data source to the 'Offset Ticks' of the second data source, so it will start when the first one ends.

    Lastly, depending on the type of curve f it is an odd function or not) you could simply double the duration of the Curve Data Source and use the 'Invert Second Half' property from the menu.

    Hope that helps give you some ideas at least.
    Share this post

  3. #3

    Re: Rotational Camera

    Hey Mike, thanks for the response. Unfortunately the concepts you outlined are things that I already looked into. The issue is that I need it to start on the right 'tick' along the reverse data source, but the right tick isn't the same tick here.

    For example, lets say DS 1 in going from 1 to 10. Then we have DS 2 going from 10 to 1. Lets say both 'increase' by 1 every tick.

    DS1 - 1,2,3,4,5,6,7,8,9,10
    DS2 - 10,9,8,7,6,5,4,3,2,1

    Now if I have held right moving DS 1 along 5 ticks so it now sits at 5 as a numerical value and also at tick 5. For DS 2 to be in the same place it would need to be at its 6th tick at this point to also have a value of 5.

    Essentially when I activate DS2, I need it to have the same numerical output as DS1, and vica versa if I was to acticate DS1 it would need to start at the same numerical output that DS2 was at.

    On a non looping datasource I think I could work this in by setting the start value to the opposite datasource, but it has to be a looping datasource and was complicated slightly more by the fact that it was using a sine curve.

    That was my problem anyway, I ended up going off last night to do a different project (yet again got way more complicated than I thought it would be, over 1000 triggers/events and several thousand connections lol.) I got up today and wrote this post, then went off to completely rework what I wanted to do (have a rotational camera around a controllable object, whose controls reflected the camera angle.)

    It seems my initial solution was far too 'elaborate' and have now managed to achieve what I wanted to do using a completely different and far simpler technique, if only I had thought of it first

    That said I really do see the benefit to being able to 'reverse' data-sources and think that functionality needs to be added to the game.
    Share this post