2014-04-27 21 views
6

Tôi đang cố gắng áp dụng một kết cấu cho chỉ một bên của một đối tượng hộp.Cách tạo nhiều Hộp và chỉ thay đổi kết cấu ở một bên?

mã cơ bản:

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

tôi đã cố gắng sử dụng một mảng chứa 6 nguyên liệu đối tượng, 5 màu và một với một hình ảnh (chọn lựa ngẫu nhiên từ một loạt các kết cấu cho từng Box). Nhưng nó ném một lỗi: (

Có thể cung cấp một ví dụ đơn giản của Hộp có kết cấu khác nhau cho mỗi khuôn mặt không? Tôi thấy một số ví dụ trên internet nhưng chúng yêu cầu đặt mảng vật liệu bên trong đối tượng Hình học và tôi muốn tránh tạo ra một đối tượng hình học mới cho mỗi Box vì lý do hiệu suất.

Trả lời

3

gì về this sample? nó tạo ra các mảng vật liệu và sau đó thêm nó vào lưới. vì vậy, bạn có thể tái sử dụng nó.

Mã có liên quan:

// 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); 
+0

Hahaha! Kinh ngạc! Cảm ơn bạn rất nhiều! (Tôi đoán tôi đã kiểm tra tất cả các bản demo trên trang web này ngoại trừ trang này) –

+0

@JeremyDicaire - rất vui được trợ giúp – acarlon

Các vấn đề liên quan