mouse position interpolation과 transition linear interpolation의 차이
targetX += (x - targetX) * speed;
targetY += (y - targetY) * speed;이 코드가 매번 마우스가 움직일 때마다 보간을 구하는 거라면,
JS에서는
box.style.top = pageY;
box.style.left = pageX;이렇게 포지션만 잡아주고,
.box {
transition: top second linear, left second linear;
}css에서 transition에 각각 top, left에 linear를 주면,
targetX/Y의 선형보간이랑 css에서 transition 선형보간이랑 같은 거 아닌가요?
다르다면 어떤 부분이 다른지 알고 싶습니다!
Answer 1
0
안녕하세요 좋은 질문입니다.
실행 결과는 크게 다르지 않으나 코드 작성해서 비교 해보시면 느낌이 다르실거에요.
예제처럼 실시간으로 위치 값을 계산할때는 requestAnimationFrame을 이용한 계산이
60프레임 전부 사용할 수 있어서 움직임이 부드럽습니다.
물론 실무에서는 버튼 롤오버 등 다양한 곳에 transition 을 많이 사용하기는 합니다.
필요한 곳에 적절히 나눠서 사용하시면 되겠습니다. 두가지를 섞어도 사용하기도 합니다.
1
답변 감사합니다.
어제 다시 공식에 대해서 다시 공부해 보니.
const forceX = (mousePos.x - currentPos.x) * strength;
const forceY = (mousePos.y - currentPos.y) * strength;
const accelerateX = forceX / mass;
const accelerateY = forceY / mass;
velocity.x = velocity.x + accelerateX;
velocity.y = velocity.y + accelerateY;
velocity.x = velocity.x * damping;
velocity.y = velocity.y * damping;
currentPos.x = currentPos.x + velocity.x;
currentPos.y = currentPos.y + velocity.y;이와 같은 공식을 사용했을 땐, (미분, 후크 법칙,등)을 사용하여 최종 포지션만 알 수 있을 때, 사용하기 좋은 공식인 걸 알게 되었고, 추가적으로 strength, mass, damping을 사용해서 더 동적인 스프링같은 애니메이션이나 transition의 ease-out같은 애니메이션을 만들 수 있다는 걸 알게 되었습니다.
css의 transition같은 경우, 현재 위치, 최종 위치와 시간을 알게 되면 더 정확한 애니메이션을 구할 수 있다는 것도요.
실무에서는 더 정확한? 애니메이션을 위해서 transition(bezier curve)를 사용한 다는 것도 알게 되서 답변 감사합니다!
mousemove 시 따라 다니는 커서 이미지 wheel 할 경우
0
180
2
부드러운 움직임 구현1 강의 부분 질문있습니다.
0
147
2
go live 실시간 크롬
0
321
1
javascript 도움말 vsCode 확장팩 문의!
0
362
1
블로그 상단 페럴렉스 효과 구현 질문 있습니다!
0
356
1
마우스 인터렉티브 변형 질문
0
338
1
안녕하세요. 수업 잘 듣고 있습니다. 포트폴리오 관련 질문도 가능할까요?
0
397
1
나비가 버튼위로올라가면 버튼의 hover기능이 멈춰버려요
0
344
1
perspective에 대해서
0
285
1
CSS에서 궁금했던 부분 -실전 페럴렉스 강의 부분
0
480
1
requestAnimationFrame 질문
0
362
1
리뉴얼 이전 강의 파일
0
441
1
코드가 미리보기로 보여주는 확장프로그램이 뭔가요?
0
747
1
수업 파일 부탁드립니다~
0
323
1
배경질문
0
353
1
textWrap의 position을 relative로 주는 것에 대해 질문있습니다!
0
289
1
safari에서 position fixed가 잘 동작하지 않습니다
0
981
1
addEventListener후에 익명함수 실행할때 뒤에 false는 어떤 역할을 하는건가요?
0
556
1
스피드 변수로 scrollTop을 두는 이유가 무엇인가요?
0
363
1
완성파일 어디서 받아볼 수 있나요 ?
0
432
1
완성 파일 요청 드립니다.
0
301
1
사진들이 상단 nav바를 침범하는데 침범 못하게 어떻게해야할까요?
0
152
1
리액트로 하면 어떻게 해야할지 작성해주실수있나요?
0
365
1
리액트에서 똑같이 만든다면 어떻게 만들어야할까요?
0
376
3

