Jump to content
Search Community

Iamattamai

Members
  • Posts

    29
  • Joined

  • Last visited

Everything posted by Iamattamai

  1. Thanks Zach. Definitely was not pointing fingers at GSAP - I realized it was farther-reaching but in desperation was hoping another animator had experienced and solved it. Tried your suggestions to no avail. Same monitor on another computer running Edge and no white trails. Dumbfounded. Would love to just write it off, but I have to wonder why and if somebody somewhere with the just-wrong hardware/version combination has a bad experience. Anyway, many thanks - and I learned something about will-change too.
  2. Has anyone ever seen an image or svg animation superimposed over another image leaving behind a trail of thin white borders upon movement? I would love to share a codepen but it only happens for me using Edge and only with a specific Dell remote monitor plugged in. I'm pretty sure the monitor isn't defective since I have another identical that behaves the same way. Here's the strange part - it doesn't appear on the host laptop and if I open my laptop the behavior disappears on the remote monitor. Close the laptop and the white border trails are back. Doesn't occur using Chrome at all on the same hardware combination either. It also doesn't seem to appear if superimposed over a solid colored background, only images, Edge, specific monitor. I'm stumped. Borders, margins and padding all set to 0, backface-visibility: hidden I don't come here lightly - I've scoured the developer forums and can't find anyone else discussing it and hoped someone here might have seen it or have ANY suggestion.
  3. Jack: Sounds better in the promise of backwards compatibility with the previous syntax, but I just tried it with my older working code as-is and no-go. I didn't pursue beyond that. Nevertheless, I think it might be easier to adapt to for those not expecting the addition of an attr: designation. In any case, I got gsap3 working with my matrix transforms and I'm happy thanks to you and Zach and Blake. Thank you all for your help. Have I already mentioned that this forum ROCKS?
  4. Okay, I continue with codepen challenges so I'm just hosting an example myself here: http://www.eyedea.co/matrixtest.html Note that I have embedded the older version of GSAP and it works fine. If I simply sub that out with GSAP 3, it doesn't work - I understood backwards compatibility to be a given. Nevertheless, I tried updating the code to the following with no success: tl = gsap.timeline(); tl.to("#mlupper",{transform:"matrix(.943, -.332, .332, .943, -30.617, 47.676)", duration: gdur},0)
  5. I'm manipulating SVG body parts using GSAP. They are created and positioned using Inkscape which outputs the SVG using matrices. There are some 20 body parts and currently 20 positions (more slated) - so say 400 matrix transforms in the application right now. Works fine with the old GSAP. I could provide a codepen, but I think conversion is impractical, and losing 50K in file size is the only real obvious upside I see to converting. I think staying with the tried and true is my best strategy for this application. I did manage the convert for another application and I do like the cleaner code and ending the confusion between all the products, max/lite/timeline/etc. As always, thank you for your speedy replies - this forum is amazing.
  6. I have some legacy code leaning heavily on matrix transforms. I thought I would upgrade to the latest and smaller version. I tried substituting the core GSAP3 code for my original TimelineMax and none of the matrix transforms work. I then rewrote to the new syntax and still no-go. Is there a plug-in required?
  7. Yes, Zach got me working. Thank you for the tip on the return - that might help going forward. I missed that in the documentation. Could explain a lot of things. BTW, this forum ROCKS - everyone is so responsive and helpful - even on a Sunday - and follow-up is amazing.
  8. Thank you ZachSaucier, that seems to work. I don't understand the prior behavior, but will settle for any solution that works after hours of frustration.
  9. Sorry, I couldn't get CodePen to play this snippet so I had to host it myself here: https://www.eyedea.co/imgtest.html I suspect the base64 images were too big for it to process. Anyway, could someone tell me why I am getting three different behaviors at the end of this short animation? If you refresh it, you can alternately get a blank screen, arms down, or suddenly arms up - which is the last image in the series. My preference would be for it to come to rest with arms down. I cannot understand why the arms suddenly jump up at the end. I've tried every combination to stop it and I can think of and toyed with immediateRender but still get this unpredictable behavior.
  10. Thanks. That came right out of Inkscape, but I might have cut and pasted haphazardly.
  11. That explains a lot. Thank you for your generous sharing of your time Mykel. I'll continue to troubleshoot.
  12. Thanks for the suggestion Mikel. I tried what you are doing using the 6 paths in my drawings but getting nothing - see attached codepen. What am I missing? https://codepen.io/iamattamai/pen/QXpMXW
  13. Sorry for my lack of clarity and thanks for your prompt response as always. The images are on top of each other, but the bottom one is of slightly larger size and I wanted to hide the excess of the lower part while the upper is visible. See my codepen below - and BTW, thanks for creating one so I could examine how its done. https://codepen.io/iamattamai/pen/ydMJQG Note the "double chin" created by the underlying image - I would like to eliminate that in a way that doesn't result in a transparency that would show any underlying images.
  14. I've been struggling with this for a few hours and thought I might reach out for some expert help. I have two images for which I want to alternate opacity back and forth between the two but not in a binary way - a little softer in the transition. I'm using the snippet below, but it results in a transition period between the two elements when neither element has full opacity and it reveals the background layer. I would like to create an overlap of the tweens such that there is a gradual transition maintaining full opacity in combination yet maintaining the general frequency - not speeding up or slowing down. I've tried tweaking the values but can't seem to find the right combination. t4 = new TimelineMax(); t4.to("#closed",.15,{opacity:0, delay: .3, repeat: 20, repeatDelay: .15, yoyo: true},0) .to("#open",.15,{opacity:1, delay: .3, repeat: 20, repeatDelay: .15, yoyo: true},.0)
  15. Hey Jack. Thank you SO much for your help. Between your progress idea coupled with the _gsTransform nugget I created an external matrix converter for my purposes. Since I have to handle and modify the matrices between applications anyway it works well for my needs and there is no conversion delay. Seems the problem with my attempted implementation of your function above was with the reference to var tween, in case anybody else comes down this path. It was a brilliant piece of code. I didn't troubleshoot any further to root out my issue with it. And Saturday support is WAY unexpected - you guys rock.
  16. That's some amazing magic, but I can't tell if it will work. Its throwing an error at the vars[p] = t[p] line thusly: Uncaught TypeError: Cannot read property 'x' of undefined The element I substituted for both 'element' variables in your usage example is valid - same one I was using before with incorrect rotation. I'm studying what you did to troubleshoot with some difficulty, seems you are executing the matrix transform, grabbing the values, adding the rotation direction, killing the transform, and returning the values. I'm not understanding it well enough to pinpoint the problem though. The logic looks sound though, and I really appreciate your assistance. And yes, I do specialize in the unusual. I'm animating a 20-piece SVG figure using Inkscape to position all the body parts into various poses and then tweening between those. Inkscape SVG outputs matrices and the matrix tweening works fine until there is clockwise rotation defined between matrix pairs. GSAP evidently defaults to counter-clockwise. It looks like your fix would solve that if I can get past the error.
  17. I saw that documentation. I'm struggling with the syntax for matrices. I tried this: .to("#mything", gdur, {transform:"matrix(-.45127661, -.10921767, -.09499633, .41718125, -40.591503, 187.74884)_cw"},0) It didn't like that at all. When the documentation says "Included in TweenMax: Yes" does that mean it is included in the TweenMax code or it is included as a plugin with the purchase? Well no matter, I found the plugin and installed it - made no difference. It doesn't work as a suffix for a matrix it appears. also tried: .to("#mything", gdur, {directionalRotation:{transform:"matrix(-.45127661, -.10921767, -.09499633, .41718125, -40.591503, 187.74884)"+"_short"}},0) and... .to("#mything", gdur, {directionalRotation:{transform:"matrix(-.45127661, -.10921767, -.09499633, .41718125, -40.591503, 187.74884)_short"}},0) I'm hoping there is a way to do this... Thanks in advance.
  18. I see the documentation for rotation direction, but it doesn't seem to apply to matrix transforms or at least I can't find the syntax I should use. I'm using Inkscape to position some SVG elements and tweening the matrices it outputs. Seems GSAP wants to default to counter clockwise for any rotations which is sometimes the 'long way around' - I would like to either control direction or change to shortest distance globally.
  19. Here's what I've learned in the past hour as regards my own experience... I moved from stagger to straight JS as stated - flicker completely gone in Chrome and Edge on dev computer. Moved to less powerful, smaller RAM work computer, all good. Now I go do some miscellaneous work on work computer. Return to app and run it again and flicker - here's my guess: - I am loading a large cache of images into RAM - That is all fine and good while the app remains the active page - Start doing some other work and the OS takes cache back - perhaps pushes some of that to disk. - Return to app and some images need to reload causing momentary flicker in doing so I will try reloading just prior to triggering a replay and see if that fixes it.
  20. Yep. Odd it may seem, but I won't bore you with a long story. Flicker was occurring in IE, Edge, Chrome, and Safari - more pronounced as the files got bigger (more images). I am developing on an i10 with 64 gig RAM - less pronounced on it, more so on an iPhone for instance. In the end I just decided to go with setTimeouts and plain old JS - no more flicker. My own suspicion is that it had to do with the processor skipping a beat to tend to something else now and then - I can't prove it and there was no discernable pattern. Anyway, this works fine all things considered for this particular application. Thank you for all your help and follow-up.
  21. Thank you OSUBlake for your patience. You are helping me understand as well as make the fix. Also much appreciate the links. The 'design requirement' I mentioned is that the final solution be a single, self-contained, email-able file capable of offline function. I'm not aware of another way to do it without base64, but I'm all ears. I've tried the image loader link Zach suggested above and it verifies that the images are loaded but it doesn't fix the flicker. I will attempt to build and test the large spritesheet these images will make soon, not sure what kind of size limitations might arise. Worst case, the flicker isn't a show-stopper, just disappointing.
  22. I have an onload event set for the body - doesn't that guarantee that the images are loaded? Also, the blinks are happening in the middle of repeating sequences, not where there are transitions to new sequences. My own suspicion is that it is a processor issue, but just guessing. I was hoping there might be a way to 'overlap' the reveal/hide just very slightly to reduce any momentary delay as one suggestion. I just couldn't get anything like that to work. Also, there is a design requirement for a single file mandating base64. A spritesheet is just about loading mostly, right? Is there any reduced processing overhead?
  23. Okay, I tried to create a CodePen for this but it was too big and I didn't know how I could reduce the size and still replicate the problem. I am including an AWS link instead - hope that is allowed: https://s3.us-east-2.amazonaws.com/image-store-21/hackathon/A06-2.html Here is what I am doing: I am loading a sequence of png images in base64 and hiding visibility for all before executing the JS. I am using staggerto to flip each image in the sequence from hidden to visible then back. For the most part it all works... My problem is this: randomly during playback you will see a very momentary and annoying 'blink' during the staggerto repeating sequences where it seems the image momentarily fails to display on time. It is more pronounced with larger examples of this containing greater number of images and sequences - you may need to run it several times to see it. I have tried tweaking the timings without success. I have also tried toggling opacity and autoAlpha instead of visibility without any noticeable effect. Hoping someone can help me understand how to smooth it out. Thanks in advance.
  24. I meant to come back to thank you again Craig. Your comment regarding the ImmediateRender:false being unnecessary turned out to be the key. I removed it and all worked as it should. I had already researched the link you provided but there are several reasons a sprite sheet wouldn't work well for this project that I won't bore you with. Thank you again - you saved me hours of time.
  25. I've gone to that link "How to Create a CodePen Demo" and I can't see where it's telling me how to do anything but see how the utilities and plugins work. Is there supposed to be a template or instructions or am I starting from scratch? I am cycling through 20+ images so I need to put those on AWS I suppose? If it helps... What I'm doing is a sort of controllable animated GIF using pngs as frames - I'm staggering to show then hide frame by frame. First the character raises his arm, then moves lips in place repeated, then first sequence is reversed to lower arm. If there's a better way to do it, I'm open to suggestions. I had thought of a visibility=on stagger with an onComplete to then hide each frame but found someone else doing it this way which mostly works.
×
×
  • Create New...