Jump to content
GreenSock

Search In
  • More options...
Find results that contain...
Find results in...

chrisgannon last won the day on March 26 2014

chrisgannon had the most liked content!

chrisgannon

Moderators
  • Content Count

    166
  • Joined

  • Last visited

  • Days Won

    1

chrisgannon last won the day on March 26 2014

chrisgannon had the most liked content!

Community Reputation

211 Specialist

About chrisgannon

  • Rank
    Advanced Member

Contact Methods

Profile Information

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. My idea to just use it in the same way as it's already used: gsap.timeline({ defaults: { ease: 'circ' } }); tl.to('#a, #b', { keyframes: [ { ... }, { ... } ] }) I think both approaches have their upsides although I would be reluctant to add more special properties given the framework already has syntax to handle multiple targets. I do like the fact your suggestion supports from and fromTo though
  2. I would love to be able to use keyframes with different targets. @GreenSock
  3. This smells like someone forgot the new default duration in GSAP 3.x is 0.5 and not 1!
  4. It seems there's typo in the docs - it should be tween.pause(0.25); - this generates the correct logged values.
  5. Seems delay is being ignored when I set timeScale on a timeline.
  6. Cheers Jack - I'll give it a whirl
  7. I would like to use the onStartevent of a timeline to do something when you start scrolling a ScrollTrigger animation. I've noticed that before any interaction at all, onEnterfires once and onStart fires 3 times. I think I understand why onEnter fires but I was only expecting onStart to fire once you start scrolling. Any ideas? Update: I've just noticed onStart also fires when I resize the browser window too.
  8. Cheers Jack - just glad I'm not going mad.
  9. I've either misunderstood what gsap.utils.random does or it's spitting out the wrong values. Click the pen and a random value will display. My understanding was that it will choose values between 0 and 100,000 (in this case). But it actually displays negative values too. If I put a snapping number in, like 1, (gsap.utils.random(0, 100000, 1)) it picks values from the correct range (but I don't get decimals).
  10. Here's a slightly different approach to stagger using separate Card components: https://codepen.io/chrisgannon/pen/670fe4387dba87db9632440da8d262b8 Just by changing one value (numCards) you can have as many as you want.
  11. What you see there was some software I was developing that was a progression from a more convoluted process involving motion tracking. I was never very happy with the results and ended up using my initial process which I'll describe. So this initial process involved several steps using different software. I never posted the steps because it was really complicated and had a lot of quirks. If I remember correctly, I generated tracking data using Mocha inside After Effects. I then wrote a parser to convert it to a corner pin data format (basically an array of X and Y vector points). Then I used a library called PerspectiveTransform.js to apply the corner pin data to an element (this was crucial) — this could be anything from a video to an SVG or JPG. This library skewed and scaled elements based on their X and Y data. Then I converted the video I wanted to composite the element onto to an image sequence (massive faff!). A lot of people thought I was using video but at the time, video events and keyframes were really unreliable, the browser specs kept changing and it couldn't keep up with the data stream half the time anyway. I then created a player that accepted the image sequence, the element(s) to composite (these could be interactive like a DIV of HTML elements) and the corner pin data and married the whole lot up on a draggable timeline (that could also be played back). My overall aim with this project was to have interactive elements composited onto video and tracked in 3D space which I managed to do (I even managed to track an image sequence in 3D space composited on top of another video) — bizarrely all of the demos were done in Edge Animate because at the time I was transitioning from Flash to not Flash and I didn't know pure JS, CSS or anything. Chrome kept changing its video specs so every week or so I had to update my libraries. These changes were so frequent (and often broke all my work) that I eventually gave up because it was just far too much work to keep it maintained, plus the whole process of getting an interactive element tracked in 3D and composited onto video was a sprawling mess! Having said that, the results were pretty good so it wasn't all wasted time Hope that helps!
  12. Old post but here's a useful link: https://path2bezier.netlify.com/ Oops just noticed it's mentioned above! Must be good then...
  13. Ok I think I have found a solution. myTimeline.labels returns an object whose keys are the label name and whose properties are their time. E.g. {labelName:12, otherLabelName: 23} So if you want the parent timeline to play from the child timeline's previous label you could write something like: parentTl.play( childTl.labels[childTl.previousLabel()] );
  14. When I type into the help search I can no results (for anything). http://greensock.com/docs#/HTML5/
  15. I have a parent timeline. I have a child timeline that I've added to the parent timeline. Both play at the same time. The child timeline has labels. I need to get the time associated with a child label so I can tell the parent timeline to go to that time. I think getLabelTime did that but it's no longer part of the 3.0 API? Is there another way?
×