Author: aaa
-

ThreeJS 3D animation
Three.js is a JavaScript 3D library that makes it possible to create interactive 3D experiences directly in the browser. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante. Donec ullamcorper nulla non metus auctor fringilla. -
A GSAP ContainerAnimation Horizontal style scroller.
The containerAnimation property allows us to create ScrollTriggered animations within a container that’s animated horizontally. It’s like having nested ScrollTriggers!
-

GSAP post
A post featuring GSAP radial menu, and a few other features.
ScrollSmoother
It’s like a gentle breeze
Radial Menu
Menu items spring out with
elastic.out(1, 0.5). ToggleeaseReverseand choose an ease type and speed to see how they affect the reverse animation.1x -

3D animation using Three.js
This is a kind of 3d animation using Three.js. I am using a .glb file. I will explain how this code works. If you have any questions email me or leave a comment! This is made in conjunction with GSAP.
Model Travels Down, Text Pushes Aside Render Geometry Shader MeshCamera Lighting Material SceneKeep scrolling — once the model has passed, everything settles back into place. -

3D animation
I am going to do a sample of a 3d animation technique. One of the ways is with a blender object and a html canvas object. I am going to use a scroll driven animation with GSAP. That is not too difficult as long as you know the bounding containers. I am going to use a folder of frame objects with frames that change like a slideshow. Look at the effect.
-

How to Pin a Curved SVG Element with GSAP ScrollTrigger


The GSAP ScrollTrigger Pinning Problem
I have another cool demo to talk about. This one has to do with a GSAP Scrolltrigger that pin’s a hero element to the top of the page. The goal of the bottom element is to represent a spinning wheel. Therefore, the background elements have to be colored so that there is a curve in the top part of the element where the top of the curve reaches the top of the screen. To be able to “pin” the topmost element while entering a Scrolltrigger, you can pin on that element. You need a wrapper element that blends with the the green of the upper element and sits behind the svg curved whoosh. That way, you can make the curve sit above the lower main element.
Available for pre-order now.


Positioning the Curved SVG and Main Element
So, next you pull down the lower main element. You are pulling it below the curve and the wrapper container. You also pull down the svg, otherwise it would look like this. But you are still pinned on the “upper” green element because that is the element holding the svg file. If you tried to pin on the lower main element, you would be below the curve entirely. But we want to pin on the top of the curve exactly to make the entire screen look like a wheel. The next problem is that the pin catches the wrapper element, which sits above the curve. The next thing to do is to change where the Scrolltrigger pins. You can use a mixture of the viewport placement, as well as pixel values. If you pin at “top -30px”, you are pinning when the top of the viewport reaches the top of the screen, but 30 pixels higher. After that, I want to change the height of the main element, so that it is not too tall and hanging down over the bottom.
Available for pre-order now.
The Responsive ScrollTrigger Solution
Look! Now i can resize the screen, and the green pinning element is still pinned in the correct place. You can see in the image the effect of a resized window. The solution is to do three seperate steps:
- Make the bottom “main” element to have a CSS top property of exactly calc(6vw + 30px);
- Make the Scrolltrigger pin the top element, with a trigger on that same element. Also give it a start property of exactly “top -30px”
- Make the bottom “main” element to have a CSS height property of exactly calc(100% – 6vw – 30px);
What do these properties do and why use the numbers? You have to fit the curved SVG file into top of the frame. So the top of the “main” element has to be pushed down some. You use 6vw for the height of the SVG. If the screen gets very narrow, you will see the SVG start to flatten out and not look right. The main element will be too far on top of the curve and not enough below the upper green area. If you add 30px, then the curved element displays properly, and you can recognize it on narrow screens.

-

Javascript Demo


Problem statement:
In my animation, a timeline is used to control the animations of my different “blocks”. The goal is to have them all tied to a scroll wheel that will rotate them around the transform origin that I created using Javascript. The problem is, as you can see, that when i am scrolling down to the animation where it begins, I have the outline of a box showing before the animation starts. As soon as the box is triggered by the scrolling of the mouse, the box is “restarted” to its proper starting position. You can see multiple blocks here as I have lowered the rotation amounts so that the blocks are visible on one screen. The marker on the right shows that we are before 1 starts and before 3 ends. So we are also moving number 2. So why is number one’s border outline visible at it’s ending postion and disappears when it begins? However, the box in question is the last box that contains the text at the end. How do I keep it from showing the box in the ending position before the animation for that box begins? What we want is the second image.
Buy your copy of The Stories Book
Outside Europe? View international editions.
About the book
The solution was to use GSAP’s onRefreshInit function for ScrollTriggers. The function runs on ScrollTrigger refresh, like on browser resize moments. GSAP was getting the start position wrong of the box, so forcing it to set it on every refresh is what works. This sets the box to its proper rotation, allowing us to use intro.to its final rotation. Each one of these function calls calls gsap.set which places the box.

International editions
The Stories Book will be available from these international retailers.
Frequently Asked Questions
What is The Stories Book about?
This exquisite compilation showcases a diverse array of photographs that capture the essence of different eras and cultures, reflecting the unique styles and perspectives of each artist.
How much does The Stories Book cost?
This exquisite compilation showcases a diverse array of photographs that capture the essence of different eras and cultures, reflecting the unique styles and perspectives of each artist.
When will The Stories Book be released?
This exquisite compilation showcases a diverse array of photographs that capture the essence of different eras and cultures, reflecting the unique styles and perspectives of each artist.
Are signed copies available?
This exquisite compilation showcases a diverse array of photographs that capture the essence of different eras and cultures, reflecting the unique styles and perspectives of each artist.


