Jump to content
GreenSock

Creativist-Lab

ShockinglyGreen
  • Posts

    46
  • Joined

  • Last visited

About Creativist-Lab

Recent Profile Visitors

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

Creativist-Lab's Achievements

  1. @mvaneijgenThanks a lot again for taking the time and giving these examples. I will dive into this some more and see what I can come up with
  2. @Cassiethanks .... I might go for a different approach all together but...... Is there a way to have more control over the timings and positioning even when you use random functions? So for example adjusting the ease or duration of the tween depending on the Math.random outcome? I'm still very much a beginner with coding so sorry if I ask very obvious questions.
  3. Hello @mvaneijgen and thanks for your reply. I thought about the use of MorphSvg but I'm not sure in this case if this is what I'm after. In general I like the basic setup that I have I would just like to have a bit more control over how the timings and amplitudes are currently. For example the "whitewater" should ideally appear underneath the second wave and accelerate a bit compared to the second wave when the highest amplitude of the second wave/ripple ended. I'm not sure if my explanation is clear. And thanks for the utils link, I will study that a bit.
  4. Hello all, I'm looking for some advice/improvements/examples on my code. What I would like to achieve is a more realistic looking movement of waves and shorebreak, and preferably I would like to have some randomness in it. You can see in the codepen what I currently have. Thanks!
  5. Thanks for your reply, I came up with another solution that works for me
  6. Hello guys, I have been searching on the forum but unfortunately didn't find a solution for my problem. What I'm trying to achieve is have part of my timeline only play once. This is what I have function modelPositionNose(){ controls.enabled = false; const decalNose = scene.getObjectByName("topNoseSmallDecal") let tl = gsap.timeline() tl.to(activeModel.position, { duration: 1.5, x: 0, y: -0.8, z: 0 }, 'simultaneously') tl.to(activeModel.rotation, { duration: 1.5, x: 0, y: 0, z: 0.35, }, 'simultaneously') tl.to(camera.position, { duration: 1.5, x: -0.5, y: 0, z: 0, }, 'simultaneously' ) tl.fromTo(decalNose.material, {duration: 1, opacity: 0}, { opacity: 0.5, repeat: 1, yoyo: true }, '+=1') tl.to(decalNose.material, { duration: 0.5, opacity: 0}) //THIS PART SHOULD ONLY PLAY ONCE tl.to(activeModel.position, { duration: 1.5, x: 0, y: 0, z: 0 }, '+=1') tl.to(activeModel.rotation, { duration: 1.5, x: 0, y: 0, z: 0 }, '-=1.5') tl.to(camera.position, { duration: 1.5, x: -1.1, y: 0.55, z: 1.05, onUpdate: function() { controls.update(); }, onComplete: function() { controls.enabled = true; } }, '-=1.5' ) } And here you can see everything working: Board Configurator2 | Boardschmiede Custom Shaped Kiteboards (creativist-lab.com) The problem that when the timeline keeps playing on each button click that the part of the model that already has been color changed by the user becomes invisible again. Hopefully my question is clear. Thanks in advance for any help!
  7. @SteveS that all works perfectly, thanks once again!
  8. Thank you, I will give it a go!
  9. Thanks a million @SteveS, looks like you are right! I now have to redo some of the animations because the positions became different but that is probably because of the conflict. But if I understand you correct, when I found the proper positions I can enable Orbitcontrols again? About this: That is also what I thought but I found another working example in which they used this so that's why I tried. Anyway thanks a lot, I was struggling for quite some time so very happy with your help!
  10. Hey everyone, I'm having trouble with getting my animations onclick running smooth. I did some research on the forum and found some threads which I tried but unfortunately it doesn't solve my issue. The following thread I tried: The code I tried is the following: /* Model Parts Positioning */ /*function modelPositionRail(){ const animatedModel = activeModel; gsap.to(camera.position, { duration: 1.5, x:-0.05, z: 0.75, ease: "power2.in" }); } function modelPositionTop(){ const animatedModel = activeModel; gsap.to(camera.position, { duration: 1.5, x:-1.5, ease: "power2.in" }); } function modelPositionBottom(){ const animatedModel = activeModel; gsap.to(camera.position, { duration: 1.5, x:1.5, y: 0.75, ease: "power2.in"}); } function modelPositionFins(){ const animatedModel = activeModel; gsap.to(camera.position, { duration: 1.5, x:0, z:1.5, ease: "power2.in"}); }*/ and /* Model Parts Positioning */ /*function modelPositionRail(){ const animatedModel = activeModel; gsap.to( camera, { duration: 2, zoom: 2, onUpdate: function () { camera.updateProjectionMatrix(); } } ); gsap.to(controls.target, { duration: 1.5, x:-0.05, ease: "power2.in", onUpdate: function () { controls.update(); } }); } function modelPositionTop(){ const animatedModel = activeModel; gsap.to( camera.position, { duration: 1.5, y: 900, onUpdate: function () { camera.updateProjectionMatrix(); } } ); gsap.to(controls.target, { duration: 1.5, x:0.15, ease: "power2.in", onUpdate: function () { controls.update(); } }); } function modelPositionBottom(){ const animatedModel = activeModel; gsap.to(camera, { duration: 1.5, x:1.5, zoom: 2, ease: "power2.in"}); } function modelPositionFins(){ const animatedModel = activeModel; gsap.to(camera.position, { duration: 1.5, x:0, z:1.5, ease: "power2.in"}); } */ But the results are kinda similar. Here: Board Configurator2 | Boardschmiede Custom Shaped Kiteboards (creativist-lab.com) you can see it 'working' especially on mobile devices it doens't look good but also on a desktop it doesn't run smooth most of the times. The idea is when you press one of the customize buttons that the model focuses on the part that will change. Hope fully it's clear and sorry for not providing a pen but I figured with the GSAP code provided and the working example that hopefully someone is able to help. Thanks in advance! Any pointers in what I'm doing wrong or can do would be great as I've been busy with it for quite some time now
  11. Thanks @Carl! I purchased your courses last year and they have been a great help, I haven't finished all the tutorials and definitely missed this particular one. May I suggest one thing for your courses? I think it would be a great option to have a notes section underneath the title of each lesson for example. What I notice now is that I run into a solution for a particular problem but with no option to note that down I often find myself scrolling through each video to try to remember where I saw the solution. For the rest, thanks for making such great tutorials!
  12. Thanks @akapowl I did search the forum first but I didn't find this thread, sorry. Thanks for taking the time to answer
  13. Hello all, I'm trying to animate letterSpacing but the result is not very smooth (see CodePen) is there anything I can do to make it look more smooth? Thanks in advance!
  14. It's a dirty job but someone has to do it No worries, I appreciate the advice and you're right, better to know.
  15. Thanks @Cassie not the answer I was hoping for but then I better go for the non easy solution.
×