inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Three.js 3D 인터랙티브 바로 시작하기

TextureLoader관련 질문 드립니다.

435

기술연구소-공부방2

작성한 질문수 1

0

TextureLoader를 사용하는게 맞는 방법인지는 모르겠는데 TextureLoader로 사진을 로딩하여 모델의 특정 영역에만 사진을 표시 할려면 어떤 방법을 사용해야 하는지 궁금 하여 문의 드립니다.

해야 되는 작업은 상품 상세 페이지에서 사용자가 업로드한 이미지를 컵, 텀블러, 우산 이런 모델 데이타를 로딩하고 거기에 특정 영역에만 사용자가 업로드한 이미지를 보여주고 주문 전에 미리보기 할수 있는 페이지를 만들어야 하는작업인데.. 특정 영역에만 사진을 넣기 위해서 모델 디자인 하는 업체에 어떻게 만들어 달라고 요청을 해야 하는지도 궁금 하고 TextureLoader로 로딩해서 만드는 지도 궁금합니다.

강의 구매전에 스크롤 해서 캔 위치 이동하는 강의를 보고 캔에 사진 넣는 강의라고 생각해서 보고 힌트를 얻을수 있을까 했는데.. 아니였네요....

인터랙티브-웹 three.js

답변 1

0

코딩일레븐

안녕하세요

캔은 3d 모델러가 모델링을 할 때 맵핑도 함께 해줬습니다. 상황은 다를 것 같고요. 하지만 텍스쳐 로더로 이미지를 로드하고 모델링에 맵핑하는 것은 맞습니다.

https://pickywicky.co.kr/

위 페이지 보시면 캔 모델링 하나 로드를 하고 맵핑 이미지는 세장을 로드한 뒤 클릭 시 교체해주는 방식이거든요.

const textureLoader = new THREE.TextureLoader();
const texture0 = textureLoader.load("/model/can.png");
const texture1 = textureLoader.load("/model/can_smoky.png");
const texture2 = textureLoader.load("/model/can_hot.png");
const textureArr = [texture0, texture1, texture2];
//이미지 로드해서 배열에 넣음

model.traverse(function (child) {
//모델링 순회하며
        if (child.isMesh) {
           //메쉬일 경우 맵 교체
            child.material = new THREE.MeshStandardMaterial({
               
                map: textureArr[num],
               
            });
            child.material.magFilter = THREE.NearestFilter;
            child.material.minFilter = THREE.NearestMipMapLinearFilter;
        }
    });

위 처럼 한 것인데요.

만약에 모델링에서 한 부분만 맵핑을 하고 싶으시면

모델러에게 모델링 될 부분의 name을 지정해달라고 하세요.

아래처럼 해보면 될 것 같은데요?

테스트가 필요하기는 합니다만.

if (child.name == "mappingArea" ) {
//맵핑
}

 

0

기술연구소-공부방2

답변 감사드립니다. 도움이 많이 된 것 같습니다.

imagesLoaded에 관한 질문

0

18

2

ai 도구 질문

0

31

1

box3.position.x 위치

0

38

1

'스크롤/텍스트 애니메이션 제작_2' 강의 문의

0

36

1

오브젝트에의 이벤트 감지 vs 레이캐스팅

0

55

2

mouse position interpolation과 transition linear interpolation의 차이

0

76

1

단위 벡터에 거리를 다시 곱하는 부분 질문 있습니다.

0

47

1

맥북 듀얼모니터 사용 displaylink manager 사용시 화면이 안보입니다.

0

76

1

이미지 배경 문의

0

67

1

transform-style: preserve-3d; 를 추가하면

0

47

1

프로젝트 완성본 보내주실수 있나요?

0

50

1

섹션04 Layout에서 Mixed Layout파트의 실습 index.html파일 열었을때 선생님께서 보여주시는 가로스크롤이 안나타남.

0

86

3

섹션 10을 들었을때 궁금증

0

87

2

리액트/next.js와 같이 사용하는 강의 계획은 없으신가요?

0

80

1

잘 안되네요

0

55

2

버전에 대해서....

0

62

1

이미지가 안나옵니다.

0

72

2

hover pulse animation 관련해서 질문있습니다!

0

66

2

수업을 들으면서...

0

44

1

threejs 사이트 들어가면 선생님과 같은 코드가 안나옵니다ㅠ

0

111

1

캔버스 크기를 지정했을 때 onDocumentMouseMove 이벤트 관련

0

95

1

코드에 대해 질문있습니다.

0

123

2

이미지 클릭 시 페이지 이동

0

629

1

3d 모델링에 애니메이션을 여러개 넣으려면 어떻게 해요?

0

706

1