Physics Problem (not moving on drag)


(Jonathan Langberg) #1

I have assigned a static physics attribute to two angled boxes within a group to cradle a dynamic circle. I made the group with the two boxes movable on drag, but it seems the physics don’t move with the group when dragged. See attached document to see what I mean.

paddle.hype.zip (30.4 KB)


#2

I guess you want to move the ball with the paddle? change the physics of the paddles to: Static - interacts without movement


#3

@jon4896

A similar issue has shown up before regarding the “Physics” engine… not identical but You might find some helpful overlap with your problem:


@Djon [quote="Djon, post:2, topic:7891, full:true"] I guess you want to move the ball with the paddle? change the physics of the paddles to: Static - interacts without movement [/quote]

@jon4896 tried that actually, screen shot from current set-up:

The paddles individually have “Static - interacts without movement” applied and are in a group with no physics assigned. If You assign “Static - interacts without movement” to the group it only interacts with the group’s bounding box not the paddles. I tried moving the paddles up out of the group’s bounding box - didn’t work. Tried a similar approach replacing the group with a symbol, and then making the paddles symbols also (and moving up them out of the “enclosing” symbol’s bounding box) - didn’t work either.

I don’t know if a single SVG “paddle” shape would work - i.e. getting the outline of the SVG graphic to interact instead of the SVG’s bounding box. I don’t work that much with SVGs, so this is “grasping at straws” ;->

However the ball does respond to an ungrouped single paddle dragged around, so…
Another consideration, that I have not had time to try, is to stick one paddle to the other using JavaScript. This procedure would have a leader and follower, which would vary depending on which paddle You started dragging first.

General concept: The “top, left” position of one of the rectangles is matched to the other’s… and obviously there would be an offset as the “top, left” of one rect is in a different “x,y” position. But that differential would stay constant during the drag.


(Jonathan Deutsch) #4

This is a bug in Hype’s integration with the Physics engine - it does not properly update bodies within groups if the group position is changed.

This will not work as all physics bodies are currently defined as their bounding rectangle, or if an oval/round rect element was created then that outline. Of course it would be a good feature to have arbitrary shapes or using SVG outlines. At the time we integrated the physics engine it didn’t support concave bodies, but it does now and so definitely want Hype to take advantage of this.

Wow - this is really clever! I don’t see any reason why it wouldn’t work.


#5

@jonathan
Wouldn’t it be cool if Hype had a “linkage” feature that not only could match position from a “lead” element to a “follower” element(s), but also allow for variations in rotation, z-index, color, etc. of the “follower” elements.

e.g. as I drag Element “A” - Element “B” moves, rotates, changes color, etc. - designable in the Hype interface. (No JavaScript required; not just simply a timeline, or a brain dead animation.)

We’d have an air show - with afterburners.

This “linkage” capability currently exists in motion graphics programs. Here is a quickie example: the timing and direction of the rotation of the gears (which are interrelated) and the opening of the curtain are interlinked together - the action of one influences the other (created in Apple’s Motion program). I did not design the gears (3 unique images cloned) or curtains - the programming of the effect took about a minute.

http://forums.tumult.com:/uploads/db2156/original/2X/3/37fdab074dff127bb84a3b3d0f61519636ab8099.mp4


(Jonathan Deutsch) #6

Do you mind sending that video via another channel? Our forums are still having issues with the video hosting, and I’d really like to take a look!

Regardless I think would be a neat feature. In some ways the ‘Control Timeline’ handler for drags is similar to this, but it could be taken much further. On a related note, I’d also like to have position constraints between objects, which is a feature in the Physics engine but not currently exposed in Hype.


#7

@jonathan

Here’s a link to the mp4 output: HypeMotionDemo.

Below is a screen shot from the Motion app showing the “Dashboard” settings for linking the left curtain’s motion (in the opposite direction) to that of the right curtain. The cog wheels are also linked to the right curtain’s motion. Their spinning and individual cog interactions are set independently - but when the right curtain moves, they run.

Further edit: The cog wheel grouping is called a clone ( = symbol). There are just 3 cog wheels in the clone. (4) clones total. It’s really easy to build complex effects somewhat quickly. I would envision Hype having a “Motion Lab” or panel that would have all elements in a scene available for linking different qualities~quantities of motion; and as with the cogs, you could build interacting sub-groups; separate elements & sub-groups, all run by one master element via a timeline, drag action, etc.



(Jonathan Deutsch) #8

Thanks! It would definitely be really neat! I have this on our tracker to ponder about further.