Hộp được tạo thành từ sáu phần tử khác nhau (một cho mỗi bên). Bạn cũng có thể nhận thấy rằng đối tượng hình học có một thuộc tính cho tài liệu đầu tiên mà còn là thuộc tính cho một loạt tài liệu.
Một đối tượng có nhiều thành phần và nhiều vật liệu sẽ chọn tăng vật liệu (và bọc) cho từng phần tử.
Ví dụ 4 yếu tố và 1 tài liệu
Element 1 2 3 4
Material 1 1 1 1
hoặc 4 yếu tố và 2 vật liệu
Element 1 2 3 4
Material 1 2 1 2 // note that they are repeating
Ví dụ 4 yếu tố và 7 nguyên liệu
Element 1 2 3 4
Material 1 2 3 4 // (5, 6, 7) is unused
Trong trường hợp của hộp này mea ns mà bạn có thể sử dụng một mảng sáu tài liệu để có một tài liệu độc đáo ở mỗi bên của hộp. Tôi có một ví dụ về điều này trong the sample code for one of the chapters cho cuốn sách Kit Scene của tôi (trong Objective-C):
// Each side of the box has its own color
// --------------------------------------
// All have the same diffuse and ambient colors to show the
// effect of the ambient light, even with these materials.
SCNMaterial *greenMaterial = [SCNMaterial material];
greenMaterial.diffuse.contents = [NSColor greenColor];
greenMaterial.locksAmbientWithDiffuse = YES;
SCNMaterial *redMaterial = [SCNMaterial material];
redMaterial.diffuse.contents = [NSColor redColor];
redMaterial.locksAmbientWithDiffuse = YES;
SCNMaterial *blueMaterial = [SCNMaterial material];
blueMaterial.diffuse.contents = [NSColor blueColor];
blueMaterial.locksAmbientWithDiffuse = YES;
SCNMaterial *yellowMaterial = [SCNMaterial material];
yellowMaterial.diffuse.contents = [NSColor yellowColor];
yellowMaterial.locksAmbientWithDiffuse = YES;
SCNMaterial *purpleMaterial = [SCNMaterial material];
purpleMaterial.diffuse.contents = [NSColor purpleColor];
purpleMaterial.locksAmbientWithDiffuse = YES;
SCNMaterial *magentaMaterial = [SCNMaterial material];
magentaMaterial.diffuse.contents = [NSColor magentaColor];
magentaMaterial.locksAmbientWithDiffuse = YES;
box.materials = @[greenMaterial, redMaterial, blueMaterial,
yellowMaterial, purpleMaterial, magentaMaterial];
Nguồn
2014-12-16 16:56:53
Ngon lành, thưa ông! Một điều đáng chú ý nữa: với nhiều hình học, bạn có thể cho biết có bao nhiêu tài liệu mà nó hỗ trợ bằng cách truy vấn 'geometryElementCount' của nó. Điều này không làm việc cho 'SCNBox', mặc dù ... nó sẽ tự động tái tạo các phần tử hình học của nó tùy thuộc vào số lượng tài liệu bạn gán (theo cách đó không cần sáu lệnh gọi vẽ để hiển thị nếu nó không có sáu tài liệu). – rickster
cảm ơn bị bệnh cho những gì bạn đặt ra – may19c19
Mặt nào (phía trước, bên phải, mặt sau, bên trái, trên cùng, dưới cùng)? –