【问题标题】:Do not load the textures on the obj model in three.js不要在three.js中的obj模型上加载纹理
【发布时间】:2018-09-27 05:14:10
【问题描述】:

你可以帮忙,为什么纹理不加载

我试图在 obj 中的单独网格上加载纹理,但由于某种原因它没有加载并给出错误任何人都可以告诉原因是什么 应用了材质,但纹理是没有的原因

var manager = new THREE.LoadingManager();
var loader = new THREE.ImageLoader(manager);

var textureBody = new THREE.Texture();

loader.load('tex/Base4.png', function(image) {
  textureBody.image = image;
  textureBody.needsUpdate = true;
});

var meshes = [];    
var objLoader = new THREE.OBJLoader();

objLoader.load('models/bas.obj', function(object) {
  console.log(object);

  object.traverse(function(child) {
    if (child instanceof THREE.Mesh) {
      meshes.push(child);
    }
  });

  var body = meshes[2];

  body.position.y = 2;

  scene.add(body);

  var bumpMapBody = new THREE.TextureLoader().load('tex/untitled2-NM_u0_v0.tif');

  body.material = new THREE.MeshPhonglMaterial({

    map: textureBody
  });
});

这会给出一条错误消息:

未捕获的类型错误:THREE.MeshPhonglMaterial 不是构造函数 在 mucode.js:77 "body.material = new THREE.MeshPhonglMaterial({"在 Object.onLoad (OBJLoader.js:385) 在 XMLHttpRequest。 (三.js:32008)

ps 有谁知道如何缩小窗口并将画布移动到单独的 div

【问题讨论】:

  • 请在单独的帖子中提出单独的问题。
  • “MeshPhonglMaterial”应该是“MeshPhongMaterial”

标签: javascript three.js


【解决方案1】:

您的代码中有错字。不是MeshPhonglMaterial,而是MeshPhongMaterial

【讨论】:

  • 如果对您有帮助,请接受/投票。
猜你喜欢
  • 2018-08-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
  • 2012-12-25
相关资源
最近更新 更多