inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tạo trang web 3D góc nhìn thứ nhất với Three.js

Điều chỉnh độ nhạy cảm ứng

개발자도구에서 모바일 버전으로 테스트할때

328

dhdl6180012

6 câu hỏi đã được viết

0

image.png

 

사진처럼 터치를 하고 드래그를 하면 카메라가 돌아가는것이 아니라 웹 화면 자체가 끌려 가는데..

html, canvas, body 에 touch-action 옵션을 none으로도 줘보고

touch 이벤트들에 preventDefault도 줘보고 했지만 해결이 되질 않습니다..

 

터치 드래그를 하면 moveMentX와 moveMentY의 값은 잘 출력되는데 카메라가 회전을 하지 않습니다.

데스크탑에서 mousemove는 제대로 카메라가 돌아가는데, 모바일버전에서 touchmove는 카메라가 돌아가질 않네요.

javascript 인터랙티브-웹 포트폴리오 three.js 3d

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

모바일 환경에서 touchmove 이벤트가 예상대로 작동하지 않아 문제를 겪고 계시군요. 이는 모바일 터치 이벤트와 마우스 이벤트 간의 차이에서 기인할 수 있습니다. 다음은 문제 해결에 도움이 될 수 있는 몇 가지 사항입니다:

  1. touch-action 속성:

    • css에서 touch-actionnone으로 설정하여 기본 동작을 막으려 했으나, 브라우저에 따라 다르게 작동할 수 있습니다. 브라우저 호환성을 고려하여 추가 설정을 해보시기 바랍니다.
  2. 이벤트 리스너 설정:

    • touchmove 이벤트 핸들러를 설정할 때는 옵션 객체에서 { passive: false }를 명시적으로 설정하여 이벤트 핸들러가 preventDefault() 호출을 할 수 있도록 합니다. 이를 통해 기본 스크롤 동작을 방지할 수 있습니다.
   canvasElement.addEventListener('touchmove', function(e) {
       e.preventDefault();
       // 카메라 회전 로직
   }, { passive: false });
  1. 터치와 마우스 이벤트 분리:

    • 모바일 환경에서의 터치 이벤트와 데스크탑의 마우스 이벤트는 별개로 처리해야 합니다. 터치이벤트에서 멀티터치 등을 고려해야 할 수도 있습니다.
  2. 카메라 회전 로직 확인:

    • touchmove로 카메라 회전 로직을 제어할 때, 변화 값이 모바일 환경에 최적화되어 있는지 확인해 보세요. 모바일에서는 손가락의 미세한 움직임도 감지하기 때문에 감도 조절이 필요할 수 있습니다.

관련해서는 아래 유사한 질문과 답변을 참조하시면 도움이 될 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

챌린지 시작일 문의

0

4

0

2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중

0

9

1

11차시 Antigravity IDE 설치 후

0

14

1

터지는 필렛엣지 '이걸' 이용해보자! 편 질문

0

5

1

처음 에이전트 설정을 잘못 했을 경우 수정 하는 방법

0

9

1

5,6,7,8 내용이 없어요

0

12

1

ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?

0

9

1

버젼은3.6.23버젼을 사용하는데 본컬렉션이 안보여요..

0

10

1

23. 립스틱 만들기 split 관련 질문

0

8

1

mission 09-01 을 수행할 수 없어요

0

16

1

Copy Rotation의 설정에 대해 질문드립니다.

0

14

1

Context API vs Zustand 그리고 Auth

0

30

2

순수 함수 / 순수 컴포넌트

0

21

1

NLA 추가질문입니다.

0

38

2

NLA 설정에 대한 질문입니다.

0

29

2

css box-sizing 관련 질문

0

32

2

스니펫이 이상해요

0

31

2

node.js 설치 (LTS버전)

0

26

1

Cursor & Antigravity 소개 및 설치

0

31

2

Editor Component의 최적화 불가능 이슈

0

37

2

useCallback ⊂ useMemo

0

34

2

자료 다운로드 링크 오류

1

34

2

desk 가 밑으로 떨어졌을 때, "y 값이 문자열"에 대한 내용입니다.

0

120

0

반발력을 0으로 해도 계속 튕겨져나갑니다..ㅜ

0

335

2