【发布时间】:2016-05-13 18:12:52
【问题描述】:
我有一个冲浪板 obj 文件,我想在顶面和底面应用纹理,但是当我想将它应用到整个面部时,纹理会在中间分裂。材料也被应用在网格的内部。问题与模型有关还是我错过了代码中的某些内容?
var loader = new THREE.OBJLoader();
var texture = new THREE.Texture();
var ImageLoader = new THREE.ImageLoader();
ImageLoader.load("models/white.jpg", function (image) {
texture.image = image;
texture.needsUpdate = true;
});
var custom = new THREE.Texture();
var customLoader = new THREE.ImageLoader();
customLoader.load("models/UV_Grid_Sm.jpg", function(image) {
custom.image = image;
custom.mapping = THREE.UVMapping;
custom.needsUpdate = true;
});
loader.load("models/Hidden 5'4-19'5-2 (Holes_Patched).obj", function(object){
object.traverse(function(child) {
if (child instanceof THREE.Mesh) {
if(child.name === 'Bottom') {
child.material = new THREE.MeshStandardMaterial({ map: custom});
}
else if(child.name === 'Top') {
child.material = new THREE.MeshStandardMaterial({ map: custom});
}
else {
child.material = new THREE.MeshStandardMaterial({ map: texture});
}
}
});
download obj file here 该对象有两个名为“Top”的组,但我可以稍后更改。
【问题讨论】:
-
你的3d模型的uv不合适,用blender等3d软件更新uv
标签: javascript three.js