|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
This involves probably some very easy algebra.
I want a cylinder to spin 360 degrees when the clock is between 0 and
0.6667. I want another object to spin when the clock is between 0.3333
and 0.6667. Finally I want the camera to rotate 90 degrees when the
clock is between 0.6667 and 1.
How do I set this up? Thanks.
Michael
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 2/17/2019 5:36 AM, Mike Horvath wrote:
> This involves probably some very easy algebra.
>
> I want a cylinder to spin 360 degrees when the clock is between 0 and
> 0.6667. I want another object to spin when the clock is between 0.3333
> and 0.6667. Finally I want the camera to rotate 90 degrees when the
> clock is between 0.6667 and 1.
>
> How do I set this up? Thanks.
>
>
> Michael
PS - I was thinking of maybe a macro that takes a start time and an end
time, and outputs a value between 0 and 1?
Michael
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mike Horvath <mik### [at] gmailcom> wrote:
> On 2/17/2019 5:36 AM, Mike Horvath wrote:
> > This involves probably some very easy algebra.
> >
> > I want a cylinder to spin 360 degrees when the clock is between 0 and
> > 0.6667. I want another object to spin when the clock is between 0.3333
> > and 0.6667. Finally I want the camera to rotate 90 degrees when the
> > clock is between 0.6667 and 1.
> >
> > How do I set this up? Thanks.
> >
> >
> > Michael
>
>
> PS - I was thinking of maybe a macro that takes a start time and an end
> time, and outputs a value between 0 and 1?
#macro MacroName(StartTime, EndTime)
#local R = (clock - StartTime)/(EndTime - StartTime);
#local S = min(max(0, R), 1);
S
#end // macro MacroName
object {
YourCylinder
rotate MacroName(0/3, 2/3)*360*y
}
object {
YourOtherObject
rotate MacroName(1/3, 2/3)*SomeAngle*y
}
camera {
YourCamera
rotate MacroName(2/3, 3/3)*90*y
}
--
Tor Olav
http://subcube.com
https://github.com/t-o-k/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le 19-02-17 à 05:36, Mike Horvath a écrit :
> This involves probably some very easy algebra.
>
> I want a cylinder to spin 360 degrees when the clock is between 0 and
> 0.6667. I want another object to spin when the clock is between 0.3333
> and 0.6667. Finally I want the camera to rotate 90 degrees when the
> clock is between 0.6667 and 1.
>
> How do I set this up? Thanks.
>
>
> Michael
Assuming that the clock goes from 0 to 1 :
To be added to the object of interest.
First case :
#if(clock <= 2/3) rotate x*360*3/2 #end
// *360 for a full rotation
// *3/2 adjust to the desired clock interval
Second case :
#if(clock > 1/3 & clock < 2/3) rotate y*(clock - 1/3)*720*3/2 #end
// *720 two full rotation, just because...
Third case :
#if(clock > 2/3) rotate z*(clock - 2/3)*90*3 #end
That should do it.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 2/17/2019 7:27 AM, Tor Olav Kristensen wrote:
> #macro MacroName(StartTime, EndTime)
>
> #local R = (clock - StartTime)/(EndTime - StartTime);
> #local S = min(max(0, R), 1);
>
> S
>
> #end // macro MacroName
Thank you! That's perfect.
Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mike Horvath <mik### [at] gmailcom> wrote:
> On 2/17/2019 7:27 AM, Tor Olav Kristensen wrote:
> > #macro MacroName(StartTime, EndTime)
> >
> > #local R = (clock - StartTime)/(EndTime - StartTime);
> > #local S = min(max(0, R), 1);
> >
> > S
> >
> > #end // macro MacroName
>
>
> Thank you! That's perfect.
>
>
> Mike
I hesitate to try to improve on a TOK solution, but in my animations, a very
early line will be
#declare MyTime = clock;
then I use MyTime wherever I would use clock. This lets me #declare MyTime =
0.6667, for example to go to a position in the animation to test a particular
stage without running the whole animations. You would pass MyTime to the #macro.
This may be obvious, but it is an improvement.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 2/18/2019 12:38 PM, JimT wrote:
> Mike Horvath <mik### [at] gmailcom> wrote:
>> On 2/17/2019 7:27 AM, Tor Olav Kristensen wrote:
>>> #macro MacroName(StartTime, EndTime)
>>>
>>> #local R = (clock - StartTime)/(EndTime - StartTime);
>>> #local S = min(max(0, R), 1);
>>>
>>> S
>>>
>>> #end // macro MacroName
>>
>>
>> Thank you! That's perfect.
>>
>>
>> Mike
>
> I hesitate to try to improve on a TOK solution, but in my animations, a very
> early line will be
>
> #declare MyTime = clock;
>
> then I use MyTime wherever I would use clock. This lets me #declare MyTime =
> 0.6667, for example to go to a position in the animation to test a particular
> stage without running the whole animations. You would pass MyTime to the #macro.
> This may be obvious, but it is an improvement.
>
>
I'll keep that in mind, thanks! What I usually do is set the clock value
using the +K switch if I need to. I get confused by all the INI settings
sometimes too.
Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 2/17/2019 7:27 AM, Tor Olav Kristensen wrote:
> #macro MacroName(StartTime, EndTime)
>
> #local R = (clock - StartTime)/(EndTime - StartTime);
> #local S = min(max(0, R), 1);
>
> S
>
> #end // macro MacroName
What do you think would be a good way to gradually speed up and then
slow down the motions using this macro? I'm thinking it would require a
sine wave (or some other bell curve), but am not sure how to apply it.
Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Am 19.02.2019 um 06:18 schrieb Mike Horvath:
> On 2/17/2019 7:27 AM, Tor Olav Kristensen wrote:
>> #macro MacroName(StartTime, EndTime)
>>
>> #local R = (clock - StartTime)/(EndTime - StartTime);
>> #local S = min(max(0, R), 1);
>>
>> S
>>
>> #end // macro MacroName
>
> What do you think would be a good way to gradually speed up and then
> slow down the motions using this macro? I'm thinking it would require a
> sine wave (or some other bell curve), but am not sure how to apply it.
A spline might help with this.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mike Horvath <mik### [at] gmailcom> wrote:
> On 2/17/2019 7:27 AM, Tor Olav Kristensen wrote:
> > #macro MacroName(StartTime, EndTime)
> >
> > #local R = (clock - StartTime)/(EndTime - StartTime);
> > #local S = min(max(0, R), 1);
> >
> > S
> >
> > #end // macro MacroName
>
> What do you think would be a good way to gradually speed up and then
> slow down the motions using this macro? I'm thinking it would require a
> sine wave (or some other bell curve), but am not sure how to apply it.
insert
#declare S = sin(S*Tau);
or
#declare S = abs(sin(S*Tau));
before the line
S
However you're running it.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |