Age Verification
This website contains age-restricted material including nudity and explicit content. By entering, you confirm being at least 18 years old or the age of majority in the jurisdiction you are accessing the website from.
I am 18+ or older - Enter
I am under 18 - Exit
Our parental controls page explains how you can easily block access to this site.

Scorsos mensajes - Pagina 701

  Forum

TheEmu
Da In Jul 2012
7424 post(s)

Discussions for Scenes for Version 1.2.X Fullscreen Mode here

Tutto su iStripper
September 6, 2020, 5054 risposte
In addition to the curve types listed by @Wyldanimal the program also supports SineCurve and CosineCurve. For these the value varies as a sine or cosine function of time. If the period is T and the amplitude A then for SineCurve the value starts at 0, reaches its maximum, A, at T/2 and returns to 0 at time T. For CosineCurve the value follows a similar curve, but is phase shifted by 90 degrees so, exceptionally for an easing curve, does not start with a value of 0 but with A/2, it then increases until it reaches its maximum value at time T/4, falls back to A/2 at time T/2, goes to zero at time 3T/4 and is back at A/2 at time T.

Applying SineCurve to one axis and CosineCurve to another using equal periods will result in an elliptical movement which will be circular if the amplitudes are equal.

The underlying Qt toolkit also seems to have the following types of easing curves

InCurve, OutCurve,
TCBSpline, BezierSpline,
Custom

all of which would seem to support more general curve functions, but as far as i know there is as yet no way to use any of these in a scene.

(This should have been in my earlier post. For the direction and repeat parameter we can have Forward and LoopForward , their inverses Backward and LoopBackward, or PingPong. An inverse of PingPong would be a convenient addition - PongPing perhaps? You can get the same effect by changing the initial value and negating the amplitude but it is not as convenient)

UPDATE: Looking at the online documentation SineCurve and CosineCurve are not "easing curves" but alternatives to them. Nevertheless they worked in iStripper scenes just like the real easing curves - though it has been some time since I checked. Also I may have gotthe behaviours of the sine and cosine curves slightly mixed up - it may be the sine curve that starts at A/2 (the behaviour described above is what I have in my notes, but feels "odd" to me).
TheEmu
Da In Jul 2012
7424 post(s)

Discussions for Scenes for Version 1.2.X Fullscreen Mode here

Tutto su iStripper
September 6, 2020, 5054 risposte
@alarsi - I have done all that myself. I also have a huge number of automatically generated scenes that produce graphs of the motions produced by driving the X axis with one easing curve and and the Y axis with another using different periods for each axis. There are about 40,000 in all. So I am well aware of what is possible using them.

However, the sort of motions I was refering to can not easily be approximated that way. Consider the following three sets of my own scenes

1) Carrousels, where muiple performers perform on a rotating stage. It take a lot of effort to make this work in a .scn file. I can get up to four clips to rotate about a central fifth by duplicating each of the four and then modulating their opacities such that one of each pair be visible only when it is supposed to be toward the front of the carrousel and the other only visible when it is supposed to be towards the rear. This requires that the opacities be modulated at the same frequency but with different phases. With the existing features of the animate clause you can only get four different phases.

2) My "Prison Ship" scenes where I shift individual cage clips about in a series of moves. Arbitrary paths can be built up by having a sequence of such moves using various easing curves, but to switch from one to another requires using multiple copies of each clip and modulating the opacities so that only the appropriate copy for that part of the motion is visible at any one time and that the motions of the copies are coordinated such that the two copies are positioned exactly the same when the transition from one being visible to the other being visible takes place. This sort of thing would be much easier if I could simply say that a single clipsprite should be moved from A to B, and then to C and then to D ...

3) My "Houses" scenes where I move the camera from one window to another pausing at each in turn. In all but the earliest few of these (where I don't have the pauses) I avhieve this by applying a set of simultaneous animations to the camera position (or rather to the whole of the scene relative to the camera) where one set opposes the other part of the time in order to generate pauses in the motion. This is labourious and only really works if the windows to be lingered at are equally spaced. The cancellations also only really work for linear motions which makes for sudden stops and starts, This can be alieviated by using different easing curves but then you can not arrange for a the motion to completely stop for a finite time. Again it would be much simpler, and would allow for more complex motions, if we could string together a set of of moves that are applied in sequence rather than having to approximate this by applying a combination of moves in parallel.

http://www.theemusnest.eu/scenes/Zips/Experiments/Carousels.zip
http://www.theemusnest.eu/scenes/Zips/TheEmu-Prison%20Ship.zip
http://www.theemusnest.eu/scenes/Zips/TheEmusHouses.zip