【问题标题】:Show only one side of 3D object Threejs仅显示 3D 对象 Threejs 的一侧
【发布时间】:2020-11-19 05:29:31
【问题描述】:

我有带threeJS obj 的pb,我加载了3d 对象并希望仅显示该对象的一侧未满,

  export function loadObjWithMaterial(mtlFile, objFile, imgPath) {
  let mtlLoader = new MTLLoader();
  mtlLoader.setTexturePath(imgPath);
 
  let url = mtlFile;
  return new Promise((resolve, reject) => {
    mtlLoader.load(url, materials => {
      materials.preload();
      let objLoader = new OBJLoader();
      objLoader.setMaterials(materials);
      objLoader.load(objFile, object => resolve(object));
      objLoader.load(objFile, function(object){
          resolve(object)
      });
    });
  });
}

现在我尝试只显示对象的一侧并添加这一侧

mtlLoader.setMaterialOptions({side: 1});

现在看来它应该只显示对象的一侧,但不是。

what i want

what i have now

【问题讨论】:

    标签: three.js


    【解决方案1】:

    你可以试试这个。无论如何,'THREE.FrontSide' 是 side 属性的默认值。

    mtlLoader.setMaterialOptions( { side : THREE.FrontSide } );
    

    Here you can see the documentation

    【讨论】:

    • 这就是我所做的 mtlLoader.setMaterialOptions({side: 1});相同的 THREE.FrontSide =1
    • @user2955933,我明白这一点。您分享的图片没有明确说明您的要求。请说明问题:)
    猜你喜欢
    • 1970-01-01
    • 2018-04-28
    • 2015-07-12
    • 2023-01-26
    • 2016-09-10
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 2022-04-28
    相关资源
    最近更新 更多