All known scripts
-
@wacov said:
To use the script Physicsguy describes ([0,2,3,4,5][(frame/50)%5]), you should understand what it does; the first [] holds the list of values the script cycles through, and the second [] tells it how often to change (In this case, every 50 frames). The %number resets it to the beginning when it's done, with the number being the number of values (5).
Ok, I think I understand most of it. The first set of []s are the slider values, if there was a slider et the frame/50 tells it to move from 0 to 2 in 50 frames et from 2 to 3 in 50 so forth et the %5 the number of values there are, but on one model there are 9 values but it is %8. Why is this? Will it leave of the last value or skip the first one? Et how do I know when 50 frames are up, like is there a frame counter or something somewhere? I see on some videos there is a thing like Frame 230/410, could this be what I need?
-
I guess I broke the bit that shows the frame number. Its fixed in next release.
-
These are really good questions!
Here are some more tips for those trying to understand scripts:
Formulas/Scripts are really just little pieces of Ruby script. The underlying script on Sketchup.
Here is a online Ruby tutorial. Most of what is in the tutorial you dont need to know to do SP but the more you know about Ruby the better your scripts could be.
One cool thing about that site is you can use it to test some of your formulas. Reload the site:
http://tryruby.hobix.com/But dont do the tutorial. Just type the following. Enter each line one at a time:
frame=5 [5,4,3,2,1,0][frame/5] frame=20 [5,4,3,2,1,0][frame/5]
At each step you should see the results. And you can test out what value is used when the frame is 5 and 20.
But even better is you can do the same thing inside Sketchup. Just go to Window->Ruby Console and then type the lines one at a time inside and you will see the same result.
Some formulas wont work in the console or on the tutorial site. joystick, keyboard and most other things that use() wont work. But I think I can make a preview formula section in the dialog that will work.
One other thing. Most (if not all) the blue script fields can be edited while the simulation is running. This makes it a lot easier to fine tune formulas.
For example:Create working emitter with some strength. Press play. Now adjust the emitter strength and then click out of the strength script field and the new emitter strength change should take place right away.
I still haven't figured out how to make a variable speed oscillator forumla.
-
@unknownuser said:
Wacov; your script changes the distance to larger, and speed to slower, the more you move it left.
...So here's a model with a few tries at changing speed only. right one is just plain oscillator(50), middle one works best, but is reversed for some reason, and the order can't be reversed. one on the left is the one that, to me, makes no sense at all, and I think it's a bit funny so I posted it.
[attachment=0:xf9qtpt5]<!-- ia0 -->test_session.skp<!-- ia0 -->[/attachment:xf9qtpt5]
NOTE: use arrow keys.Hmmm... I don't think the distance is less, it's just the joint trying to keep up with the oscillator, which is changing direction before the joint can get where it's supposed to be. Yours is better, but it it still spazzes out when you use a slider or joystick for the control
Just hope Chris comes up with something, or there won't be any controllable walkers...
-
@wacov said:
Hmmm... I don't think the distance is less, it's just the joint trying to keep up with the oscillator, which is changing direction before the joint can get where it's supposed to be. Yours is better, but it it still spazzes out when you use a slider or joystick for the control
Just hope Chris comes up with something, or there won't be any controllable walkers...
What spazzes? I didn't see any issues, well except that when the speed is changed it goes back to the original position, if that's what you mean.
-
That is what I mean... it makes it effectively unusable for anything involving dynamic, analogue input. I can't see there being a way around this without delving into the fabric of sketchyphysics, so just leave it to Chris.
-
I think this might be the first controllable sketchyphysics walker... I call it: the FunnyWalker. You'll see why. Use W and S, and the up and down arrows, to control it. NOTE: controls are reversed for speed (I don't know why, and there was no way of fixing it). Don't use a joystick, because it will be a bit messed up if you do.
walkertest2.skp
I did cheat a bit by using a gyro though -
Whaddya mean, no way to fix it?!? oscillator(50/(-righty+1)) does the trick nicely
Good walker, shame about the joysticks
-
controllable oscillators:
Math.sin(frame/(10*slider('speed')))/3.0
just an example, numbers are replacable, also you can add constants, use Math.cos or use keys and so on
-
I thought It would be possible with a math.sin script! Thanks!
...Now anyone here want to explain how to use math.sin, or math.cos, or any other scripts of that type, so I can customize it? -
That formula is going to have the same problem as the other ones. Its a little hard to understand, but because it is based on frame and nothing else if you change the slider the oscillating body is going to try to jump around.
I think to make it work right it is going to require the ability to store values from one frame to the next and a bit more math. The first will be in next release.
Then I can try to figure out the math. After I will update the oscillator script command to make it work correctly.
Math.sin is just a trig sine function. You may or may not need it for any given script. It just depends on what you are trying to do.
-
please someone help me: I don't have any idea how any of these works, so I'm going to ask one simple question: I'm trying to make a dynamic oscillator, one that basicly goes haywire in parameters it has been given. is this possible with any of these scripts?
-
Not with the current version.
-
cheers i guess, thanks for trying
-
@hobbnob said:
cheers i guess, thanks for trying
You can get fairly random movement if you type in something like
oscillator(60)+oscillator(379)*oscillator(-515)+oscillator(223)*oscillator(725)
That's just an example, I don't know exactly how well it would work. The point is, if you type in random numbers, plus other random numbers, at speeds varied by other random numbers, the results will be nothing short of random. Well, almost. After a while it would loop.
-
There is also a rand command.
This will give a random number from 0.0 to 1.0
rand()
And this will give a random number from 0 to 100
rand(100)
-
The object seems to prefer a higher value, like 0.9. I haven't seen it go back to the original position yet.
-
thanks the rand command worked perfectly, and also: BTM your walker is not the firstf i almost uploaded my scarab walking tank as my 150th remember? guess not...
-
Anyone know if you can use the mouse buttons. It is in the virtualkeycodes.rb as rbutton and lbutton and since you can use pretty much all the other keys, I was wondering if you can use the mouse buttons.
-
Those values in the key table don't work. I think there is a conflict because Sketchup is using the mouse.
Advertisement