개발자
https://text.tsherpa.co.kr/mid/index.html 랜딩페이지입니다. css 3d 속성들 사용해야할 것 같은데, 드래그도 그렇고 저한텐 어려운게 많네요..ㅠ 인사이트 공유 가능할까요?
답변 3
# 책 그래픽 1. 전면부 이미지 2. 책 상단 공간 before 사용 3. 책 표지 후면부 after 사용 -> 어떻게 3d처럼 만드는가? 1,2,3 요소에 transform, skew, rotate 등 적용 -> 돌리고, 찌부시키고, 늘리고 하는 값은 어떻게 아는가? 기초적인 아이소매트릭 기법 참조 (기본 이론은 중등 기하학 수준) # 드래그 1. 드래그 이벤트에 따라, 책들 translate로 이동 -> 어떻게 공간감을 표현하는가? 1점 투시, 2점 투시를 감안한 크기 차이 적용 | perspective 속성 활용 # 책 선택 1. 책에 적용했던 변환 요소들 0으로 변경 2. 책 표지 이미지 위치 변경 3. 1,2번 애니메이션 및 트랜지션 적용
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
4월 17일
저런 3D 효과와 interaction을 만드는 것은 꽤 복잡한 작업일 수 있습니다. 그러나 잘 정리된 단계를 따라가면 가능하며, 여러 라이브러리들이 도움을 줄 수 있습니다. React 라이브러리 중에서도 three.js나 react-three-fiber 같은 라이브러리를 고려해보세요. Three.js는 WebGL을 이용해 3D 그래픽스를 구현하는 JavaScript 라이브러리입니다, 하지만 이것만으로 React 어플리케이션에 적합하지 않을 수 있어 보조적인 라이브러리인 react-three-fiber를 사용하는 것을 추천합니다. 먼저, 각각의 요소들은 본질적으로 3D 오브젝트(object)로 취급되어야 합니다. Three.js는 이런 작업에 필요한 기능을 제공합니다. - Geometry: 이것은 당신의 객체가 어떤 모양인지를 정의합니다. 예를 들어, box geometry, sphere geometry 등 다양한 형태가 존재합니다. - Material: 오브젝트가 어떻게 보일지 결정하는 속성입니다. 예를 들어 color, texture 등을 정의하게 됩니다. - Mesh: Geometry와 material를 함께 넣고 위치나 크기를 정의하는 오브젝트입니다. 이 요소들을 React 컴포넌트로 만들고 원하는 위치에 배치해야 합니다. 드래그 기능이 있는 동적인 인터랙션 구현에 대해서는 'react-draggable' 라이브러리를 고려해보세요. 이것은 간단하게 드래그 가능한 상호작용을 제공합니다. 혹은 pointer events와 transform CSS 속성을 잘 활용하여 직접 드래그 기능을 구현해볼 수도 있습니다. 범위가 넓은 작업이므로 단계적으로 접근하는 것이 중요합니다. 먼저 3D 요소를 그릴 수 있게 하고, 그 다음에 드래그 같은 상호작용을 추가하는 식으로 순차적으로 구현하면 더욱 효율적일 것입니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!