여러 개의 상자를 만들고 한쪽에서만 텍스처를 변경하는 방법은 무엇입니까?

Jeremy Dicaire

Box Object의 한면에만 텍스처를 적용하려고합니다.

기본 코드 :

BoxGeo = new THREE.BoxGeometry(50, 50, 125);
BoxMat = new THREE.MeshLambertMaterial({ color: 0xF0F0F0 });
BoxObj = new THREE.Mesh(GeoBox, GeoMat);

6 개의 재질 개체, 5 개의 색상 및 이미지가있는 배열 (각 상자에 대한 다른 텍스처 배열에서 임의로 선택됨)을 포함하는 배열을 사용해 보았습니다. 하지만 오류가 발생합니다.

각 얼굴마다 다른 질감의 상자의 간단한 예를 제공 할 수 있습니까? 인터넷에서 몇 가지 예를 보았지만 Geometry 개체 내부에 재료 배열을 넣어야하므로 성능상의 이유로 각 Box에 대해 새로운 Geometric 개체를 만드는 것을 피하고 싶습니다.

Acarlon

무엇에 대해 이 샘플 ? 재료 배열을 생성 한 다음 메시에 추가합니다. 따라서 재사용 할 수 있습니다.

관련 코드 :

// Create an array of materials to be used in a cube, one for each side
var cubeMaterialArray = [];

// order to add materials: x+,x-,y+,y-,z+,z-
cubeMaterialArray.push( new THREE.MeshBasicMaterial( { color: 0xff3333 } ) );
cubeMaterialArray.push( new THREE.MeshBasicMaterial( { color: 0xff8800 } ) );
cubeMaterialArray.push( new THREE.MeshBasicMaterial( { color: 0xffff33 } ) );
cubeMaterialArray.push( new THREE.MeshBasicMaterial( { color: 0x33ff33 } ) );
cubeMaterialArray.push( new THREE.MeshBasicMaterial( { color: 0x3333ff } ) );
cubeMaterialArray.push( new THREE.MeshBasicMaterial( { color: 0x8833ff } ) );

var cubeMaterials = new THREE.MeshFaceMaterial( cubeMaterialArray );

// Cube parameters: width (x), height (y), depth (z), 
//       (optional) segments along x, segments along y, segments along z
var cubeGeometry = new THREE.CubeGeometry( 100, 100, 100, 1, 1, 1 );

// using THREE.MeshFaceMaterial() in the constructor below
//   causes the mesh to use the materials stored in the geometry

cube = new THREE.Mesh( cubeGeometry, cubeMaterials );

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

분류에서Dev

Perl에서 여러 개체를 만들고 동일한 방법에 액세스하는 방법은 무엇입니까?

분류에서Dev

여러 버튼을 클릭 한 후 <button> 태그를 사용하여 만든 버튼의 텍스트를 변경하는 방법은 무엇입니까?

분류에서Dev

OpenGLES에서 하나의 개체에만 텍스처를 바인딩하는 방법은 무엇입니까?

분류에서Dev

여러 입력의 상태를 처리하고 부모에서 상태를 변경하는 방법은 무엇입니까?

분류에서Dev

FabricJS에서 텍스트 상자의 여러 줄 / 장소에서 텍스트를 변경하는 방법은 무엇입니까?

분류에서Dev

URL의 여러 매개 변수에 대한 .htaccess를 만드는 방법은 무엇입니까?

분류에서Dev

하나의 숫자 만 허용하도록 여러 줄 텍스트 상자를 제한하는 방법은 무엇입니까?

분류에서Dev

OpenGLES에서 여러 개체의 여러 텍스처에 대한 조각 셰이더를 설정하는 방법은 무엇입니까?

분류에서Dev

장고 관리자에서 여러 줄의 텍스트를 표시하는 방법은 무엇입니까?

분류에서Dev

특정 셀에서 여러 개인에 대한 이진 변수를 만드는 방법은 무엇입니까?

분류에서Dev

Android에서 이러한 유형의 팝업 대화 상자를 만드는 방법은 무엇입니까?

분류에서Dev

여러 선택 상자의 값을 가져오고 결과를 텍스트 상자에 표시하는 방법은 무엇입니까?

분류에서Dev

Laravel에서 여러 범주의 전자 상거래에 대한 동적 경로를 만드는 방법은 무엇입니까?

분류에서Dev

새 구성 요소를 만들고 여러 번 처리하는 방법은 무엇입니까?

분류에서Dev

여러 버튼을 클릭 할 때 대화 상자 내에서 TextView의 텍스트를 변경하는 방법은 무엇입니까? kotlin 사용

분류에서Dev

파일 이름을 기반으로 여러 디렉토리를 만들고 Linux에서 파일 이름을 변경하는 방법은 무엇입니까?

분류에서Dev

한 명의 구매자 만 여러 구매를 레일스에 합산하는 방법은 무엇입니까?

분류에서Dev

JSON 배열을 만들고 여기에 JSON 개체를 추가하는 방법은 무엇입니까?

분류에서Dev

R에서 여러 열의 값을 비교 한 후 새 변수를 만드는 방법은 무엇입니까?

분류에서Dev

텍스처에서 일부 컬러 픽셀의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

선택한 행에 따라 여러 열에 텍스트를 표시하기 위해 160 개 이상의 행 (10836)에 대한 메시지 상자를 만드는 방법은 무엇입니까?

분류에서Dev

for 루프를 사용하여 자바 스크립트에서 여러 텍스트 상자를 만드는 방법은 무엇입니까?

분류에서Dev

vb.net의 MVC 4에서 컨트롤러를 사용하여 Excel 파일을 만들고 반환하는 방법은 무엇입니까?

분류에서Dev

하나의 파일에 여러 개의 소프트 링크를 만드는 방법은 무엇입니까?

분류에서Dev

jQuery를 사용하여 이미지 소스의 경로 만 변경하는 방법은 무엇입니까?

분류에서Dev

내 출력에서 여러 개의 zip 폴더 (기능)를 만드는 방법은 무엇입니까?

분류에서Dev

ssrs 보고서에서 두 개의 텍스트 상자를 빼는 방법은 무엇입니까?

분류에서Dev

자바 스크립트를 사용하여 값에 따라 숫자의 색상을 변경하고 반응하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

  2. 2

    Perl에서 여러 개체를 만들고 동일한 방법에 액세스하는 방법은 무엇입니까?

  3. 3

    여러 버튼을 클릭 한 후 <button> 태그를 사용하여 만든 버튼의 텍스트를 변경하는 방법은 무엇입니까?

  4. 4

    OpenGLES에서 하나의 개체에만 텍스처를 바인딩하는 방법은 무엇입니까?

  5. 5

    여러 입력의 상태를 처리하고 부모에서 상태를 변경하는 방법은 무엇입니까?

  6. 6

    FabricJS에서 텍스트 상자의 여러 줄 / 장소에서 텍스트를 변경하는 방법은 무엇입니까?

  7. 7

    URL의 여러 매개 변수에 대한 .htaccess를 만드는 방법은 무엇입니까?

  8. 8

    하나의 숫자 만 허용하도록 여러 줄 텍스트 상자를 제한하는 방법은 무엇입니까?

  9. 9

    OpenGLES에서 여러 개체의 여러 텍스처에 대한 조각 셰이더를 설정하는 방법은 무엇입니까?

  10. 10

    장고 관리자에서 여러 줄의 텍스트를 표시하는 방법은 무엇입니까?

  11. 11

    특정 셀에서 여러 개인에 대한 이진 변수를 만드는 방법은 무엇입니까?

  12. 12

    Android에서 이러한 유형의 팝업 대화 상자를 만드는 방법은 무엇입니까?

  13. 13

    여러 선택 상자의 값을 가져오고 결과를 텍스트 상자에 표시하는 방법은 무엇입니까?

  14. 14

    Laravel에서 여러 범주의 전자 상거래에 대한 동적 경로를 만드는 방법은 무엇입니까?

  15. 15

    새 구성 요소를 만들고 여러 번 처리하는 방법은 무엇입니까?

  16. 16

    여러 버튼을 클릭 할 때 대화 상자 내에서 TextView의 텍스트를 변경하는 방법은 무엇입니까? kotlin 사용

  17. 17

    파일 이름을 기반으로 여러 디렉토리를 만들고 Linux에서 파일 이름을 변경하는 방법은 무엇입니까?

  18. 18

    한 명의 구매자 만 여러 구매를 레일스에 합산하는 방법은 무엇입니까?

  19. 19

    JSON 배열을 만들고 여기에 JSON 개체를 추가하는 방법은 무엇입니까?

  20. 20

    R에서 여러 열의 값을 비교 한 후 새 변수를 만드는 방법은 무엇입니까?

  21. 21

    텍스처에서 일부 컬러 픽셀의 색상을 변경하는 방법은 무엇입니까?

  22. 22

    선택한 행에 따라 여러 열에 텍스트를 표시하기 위해 160 개 이상의 행 (10836)에 대한 메시지 상자를 만드는 방법은 무엇입니까?

  23. 23

    for 루프를 사용하여 자바 스크립트에서 여러 텍스트 상자를 만드는 방법은 무엇입니까?

  24. 24

    vb.net의 MVC 4에서 컨트롤러를 사용하여 Excel 파일을 만들고 반환하는 방법은 무엇입니까?

  25. 25

    하나의 파일에 여러 개의 소프트 링크를 만드는 방법은 무엇입니까?

  26. 26

    jQuery를 사용하여 이미지 소스의 경로 만 변경하는 방법은 무엇입니까?

  27. 27

    내 출력에서 여러 개의 zip 폴더 (기능)를 만드는 방법은 무엇입니까?

  28. 28

    ssrs 보고서에서 두 개의 텍스트 상자를 빼는 방법은 무엇입니까?

  29. 29

    자바 스크립트를 사용하여 값에 따라 숫자의 색상을 변경하고 반응하는 방법은 무엇입니까?

뜨겁다태그

보관