sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    You Decide Competition!

    Scheduled Pinned Locked Moved SketchyPhysics
    51 Posts 8 Posters 4.5k Views 8 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P Offline
      Physicsguy1
      last edited by

      Chris, how do you animate movements without a complicated array of emitters or finely tuned joints and settings? I remember seeing a knight game you posted, but i never figured out all the functions in the code. Can you just point me in the right direction? All i need is the basics.

      1 Reply Last reply Reply Quote 0
      • C Offline
        CPhillips
        last edited by

        @unknownuser said:

        Chris, how do you animate movements without a complicated array of emitters or finely tuned joints and settings? I remember seeing a knight game you posted, but i never figured out all the functions in the code. Can you just point me in the right direction? All i need is the basics.

        Oh man! Your going to be sorry you asked. There are no "basics" with that example. It will melt your brain.πŸ˜„ I pulled out all the stops with it and it was full of undocumented stuff I couldn't begin to explain. But here you go:

        The actual "animation" is a trick using hidden geometry. Every frame it unhides the right "frame" of groups. Look carefully at the the hero characters hidden geometry and the names of the hidden groups. And look at it in outliner.

        How the frames are unhidden is also a trick. I create a few functions in hidden objects and call them in the heros ontick. Look at it again with that in mind and if you have any questions Ill try to answer.

        I'd bet coin that you guys can to better with out all the fancy stuff. πŸ˜„ You guys always amaze.


        SP3x-AnimatedKnight.skp

        1 Reply Last reply Reply Quote 0
        • P Offline
          Physicsguy1
          last edited by

          complex apparatuses using emitters work perfectly for sprites and such. i'll post an example.

          1 Reply Last reply Reply Quote 0
          • P Offline
            Physicsguy1
            last edited by

            Arggg.... The sprite didn't work. The emitted objects were trailing behind, even thought i set them to exist for one frame. I'll have to work with the script you used. First thing is:

            push([(0.5-rightx)*1,-(0.5-righty)*1,0])
            setVar("lastpos",getposition) if(frame==0)
            h=getVar("lastpos")-getposition
            h.z=0
            speed=h.length
            
            setVar("lastpos",getposition)
            setVar("heroheading",h)
            

            What does all this do? I understand that h equates to 0(i think it does)but i'm oblivious with the <h.z=0> and <speed=h.length>. What does the period do? Where are the <speed> and <length> values obtained from?

            1 Reply Last reply Reply Quote 0
            • P Offline
              Physicsguy1
              last edited by

              Anyway, I have a sprite that does work, but doesn't do anything other than run, run in place, and run backwards. use a joystick. A is jump. Feel free to edit it and post it on the warehouse, because this model was intended to be a building set for my contest. If you wanted to know the contest ends on the first of june.


              mariocrud.skp

              1 Reply Last reply Reply Quote 0
              • C Offline
                CPhillips
                last edited by

                push([(0.5-rightx)*1,-(0.5-righty)*1,0])
                This is the equivalent of a thruster. It says push the hero in the X and Y direction based on rightx and rightz but no thrust in the Z (up direction)

                setVar("lastpos",getposition) if(frame==0)
                If this is the first frame store the hero's current position for use later.

                h=getVar("lastpos")-getposition
                set the temp value "h" to be the how much the hero has moved this frame.
                If he moved 10 in X and 20 in Y the value of h would be [10,20,0]

                h.z=0
                if the player moved in the Z direction remove it from the speed calculation.
                this way the player doesnt play the run animation when falling. only when moving in
                X and Y

                speed=h.length
                find out how fast the hero was moving. if h is [10,0,0] then then speed becomes 10.

                setVar("lastpos",getposition)
                save the new position so it can be used to calc speed for next frame.

                setVar("heroheading",h)
                save the direction the hero is moving for use elsewhere to make him face in
                the direction of movement.

                "speed" is just a temporary variable. getposition returns a "Vector3d" so that is what "h" is. And if you have a Vector you can find out how long it is by saying "h.length"

                #create a new vector object
                h=Geom;;Vector3d.new(10,0,0)
                #how long is the vector
                h.length
                
                
                1 Reply Last reply Reply Quote 0
                • P Offline
                  Physicsguy1
                  last edited by

                  I get it now. BTW the UI won't allow the code to be entered. I am guessing that my version isn't configured to run code like that. When will the next version of SP be released?

                  1 Reply Last reply Reply Quote 0
                  • C Offline
                    CPhillips
                    last edited by

                    Post the code that is failing and I can tell you why.

                    Next will maybe be this weekend. But it wont be all that different. It turns out SP conflicts with another plugin and I need to fix that.

                    I think I have figured out the direction to take with the scripting. But it is going to take a while to actually do it.

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      MrPlanet
                      last edited by

                      @unknownuser said:

                      Note: posted, not made.
                      [attachment=0:29d1zqy3]<!-- ia0 -->Canyon4.jpg<!-- ia0 -->[/attachment:29d1zqy3]

                      MAN, is that seriously your car? GREAT CAR! πŸ˜„

                      I reject your reality and substitute my own.

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        MrPlanet
                        last edited by

                        ~Anyway, i've made a mario type game with SP2, used physical gears and ran too slow.

                        I reject your reality and substitute my own.

                        1 Reply Last reply Reply Quote 0
                        • P Offline
                          Physicsguy1
                          last edited by

                          Sounds Nice. I have one on my computer that features a full level will all the secret piping and a mushroom that gives health. It's only 600KB, so i might build a whole 10-level game out of it. For Chris: testsetAnimation('anim',frame/30%10) won't work. tried using it alone without any movements, it was just intended to be just a plain animation.

                          1 Reply Last reply Reply Quote 0
                          • B Offline
                            BTM
                            last edited by

                            I managed to make a walking robot that swings it's arms when walking, but the punch button will still work perfectly anyways, even if it's walking.
                            You never realize how complex it is until it's near-completion...
                            It will still walk fine without the ball & motor, but it enables it to walk backwards, and a bit faster: it also works as a shock absorber.

                            These pictures are from a slightly earlier version, I've now added the ability to shoot a lazer out of it's eye 😎

                            1 Reply Last reply Reply Quote 0
                            • C Offline
                              CPhillips
                              last edited by

                              Wow! Sounds cool. Look forward to seeing it.

                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                CPhillips
                                last edited by

                                @unknownuser said:

                                Anyway, I have a sprite that does work, but doesn't do anything other than run, run in place, and run backwards. use a joystick. A is jump. Feel free to edit it and post it on the warehouse, because this model was intended to be a building set for my contest. If you wanted to know the contest ends on the first of june.

                                Nice start.

                                1 Reply Last reply Reply Quote 0
                                • P Offline
                                  Physicsguy1
                                  last edited by

                                  I tried setting it to stand in place and jump without running, but i had trails of emitted objects that i don't want. I don't exactly get it. could you help me with it? try moving the white box while running. Some extra trails will appear, but i can't get rid of them.


                                  mariosprite.skp

                                  1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    Physicsguy1
                                    last edited by

                                    I think it has something to do with other emitters. Look at this file. In the beginning, there is a [?] box. hit it, and grab the mushroom that appears. you will have a trail of objects following you. The mushroom was actually an emitter emitting the image. There also is another way to get the trails. Go down the pipe at the beginning of the level, and walk through the purple box and find your way up to the machine gun. press "B" when you are near the machine gun to fire. I'm not sure what is going on, but i can tell that it is linked to other emitters.


                                    rpg.skp

                                    1 Reply Last reply Reply Quote 0
                                    • H Offline
                                      hobbnob
                                      last edited by

                                      it's saturday, and physicsguy hasn't reached a conclusion. you need to do so quickly or i will have to decide myself. next time, choose the subject on your own to avoid these things

                                      My WIP Thread:Here

                                      1 Reply Last reply Reply Quote 0
                                      • C Offline
                                        CPhillips
                                        last edited by

                                        Nice model Physicsguy! Clever use of 3d to make a 2d game.

                                        1 Reply Last reply Reply Quote 0
                                        • B Offline
                                          BTM
                                          last edited by

                                          I've been trying to make a code that sets a variable to 1 when a key is pressed, but after __ frames will set it back to 0, whether the key is pressed or not. It's just not working so far though πŸ˜’.

                                          ... Anyone got any ideas?

                                          1 Reply Last reply Reply Quote 0
                                          • M Offline
                                            MrPlanet
                                            last edited by

                                            Wacov made one for me, its not exactly what you want but....

                                            if getVar("two")==0;
                                            
                                            setVar("repeat",1);
                                            setVar("time",0);
                                            	
                                            elsif getVar("repeat")==1;
                                            
                                            setVar("time",frame+350);
                                            setVar("repeat",0);
                                            
                                            end;
                                            
                                            
                                            if frame>getVar("time") && getVar("time")>300;
                                            
                                            #What you want goes here
                                            ;
                                            
                                            end
                                            

                                            I reject your reality and substitute my own.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement