Two questions.

Hi :smiley: .I have 2 questions;
1)Is it possible to scale the distance of keyframes(for ipos , actions…)while in the game(for smooth slowmotion effect)?
2)Is it possible to change the physics ,like make them smaller or something,but without suspending them(too for a smooth slowmotion effect)?

%| Hmm, I remember you asking about the slow motion thing before. Lol, sorry if someone already said this already last time.

There’s no way to change the IPO’s or Actions that you’ved keyed in already in realtime. However, you can change the speed the IPO’s or actions play by using play by property in conjuction with a timer.

Jason Lin

Can you give me an example,because I dont know how to do that :expressionless: .

hey, i`ve got a little file which is WiP on demobobins site. its got a little replay type thing on so far. May be of some interest to you?

got an update on its way over the next few days. which has a little more on the slowmo stuff on it.

Wow,thats a realy cool game(the car RULES,and the effects too) :o !But i ment an example of slowmotion actions,ipos and stuff with the timer property.

Oops. soz man. i mis-understood. :expressionless: Thought you were after slowmo in general.

Why not record it slower and just play the slower version when you want slow mo?

Can someone tell me step by step how to do the slow keyframe animation thing with the timer property pleeezzzz :smiley: (i realy need it for my games - cant live without slowmotion :frowning: )

set up this script:

#SlowMo script
#object must have
#int property named frameNum
#int property named loop
#always sensor set to positive
#Ipo actuator set to property/prop:framNum
#named slowMo

import GameLogic
controller = GameLogic.getCurrentController()
owner = controller.getOwner()
act = controller.getActuator("slowMo")
#change this number for amount of slowMo
frameDelay = 4
#set this to end frame of IPO
endFrame = 40
#set this to start frame and put in property
#box of frameNum
startFrame = 1

if owner.loop % frameDelay == 0:
   owner.frameNum = owner.frameNum + 1

   if owner.frameNum == endFrame:
      owner.frameNum = startFrame
owner.loop = owner.loop + 1

with an always sensor and an IPO actuator
Blender would be a lot more fun for you if you would choose to learn python. It’s an easy language to learn and can be used in many applications besides Blender.

Hmmm , Goldentaiji’s way sounds simpler , maybe you could tell me , how to do the way goldentaiji said or give me a simple example(i want to keep everything as simple as possible,with less scripting,and i kinda hate scripting and stuff - that way its less problems,because im not a friend of scripting).
Sorry for asking that much :frowning: ,my game just wont be so cool without a good , smooth slowmotion effect.(damn ,Im talking too much again :expressionless: )

Your game will be better if you learn to use scripts more. There’s only so much you can do with logic bricks. Anyway, I don’t bother with them unless it’s for something extremely simple. I just posted it for an example. It was an interesting concept and I thought I’d try it out. Python is a fun language. You have to learn it seperately, away from Blender at first with a good tutorial but you won’t have to go that far into it. Most of these scripts are so short they don’t even use functions or classes, aside from the ones that are imported and called of course. You just need the fundamentals. It’s something like saying I can make a game without modeling. I’ll just use everyone elses models I find laying around. The game won’t be as good.

Yeah, i guess youre right :slight_smile: ,by the way,i cant get your script to work,did everything you wrote in your script.Maybe im doing something wrong,could you lay out an example with your script ,please %| .

The easiest thing to do is to click on the taskbar and then the other blender button which brings up a dos box after you have run the game and it didn’t work. The dos box runs the script. If there is anything wrong it will post an error. Usually it will post this error a lot of times because blender is looping through the scripts over and over. By looking at that error you can figure out what 's going wrong.
There’s a sys.init warning that is always there so that doesn’t count. If there is an error it will be after that. It may even give the line number of the script that’s not working out. So run the game, and then post the error that it says.

Got it!Thanks fireside :slight_smile: .Can i do slowmotion for actions of an armature with python too(do i have to define start and end frames every actions or something)?

Another question - can i add frames between frames for a smoother slowmotion(in alley fighter the slowmo is REALLY smooth - how?)?

If the action actuator can run to a property it should work.

On the smoothness. Those are frames that are recorded by the ipo and are being played back at a very slow speed. It doesn’t add frames. It can just delay how fast they are played. You could record the ipo slower and then play it faster until you wanted slow motion, then it would appear smoother, but that would take a script that made it skip frames until it wasn’t supposed to.

Damn :x , i guess there is no way to make a good , smooth slowmo effect.I give up :frowning: .But thanks anyway.

Sure there is. Record one action from frames 1 to 40 named normal motion. Now copy frame one to frame 41 and frame 40 to frame 120, save the rotations, positions, name it slow motion. Perfectly smooth slow motion.

I dont know , it wont work the way its supposed to - if i trigger slowmotion while the normal action plays,it plays the normal way and only then the next actions will be slowmotion ones.

You must learn the force(scripting python), Luke.
Use this as a reason to learn python. You can do it.