繁体   English   中英

反应三个渲染器 <meshBasicMaterial> 仅当线框属性等于true时才渲染几何

[英]react-three-renderer <meshBasicMaterial> only renders geometry when wireframe property equals true

three.js库的新功能(和react-three-renderer)。

如标题所述:仅在wireframe属性等于true时才渲染几何。 如果wireframe属性为false(默认值),则期望meshBasicMaterial颜色属性呈现紫色Hexagon。

我能够从这里看到的r3r示例成功实现“简单”: https ://toxicfork.github.io/react-three-renderer-example/#/webgl_simple

我所要做的就是删除旋转并将具有自定义顶点和面的<boxGeometry />更改为<geometry />

class Hexs extends React.Component {
  constructor(props, context) {
    super(props, context);
    this.cameraPosition = new THREE.Vector3(0, 0, 5);
  }

  render() {
    const width = window.innerWidth;
    const height = window.innerHeight;
    const angle = 1.7320508075688767;
    const h = angle * 0.5;

    return (
      <React3
        mainCamera="camera"
        width={width}
        height={height}
        onAnimate={this._onAnimate}
      >
        <scene>
          <perspectiveCamera
            name="camera"
            fov={75}
            aspect={width / height}
            near={0.1}
            far={1000}
            position={this.cameraPosition}
          />
          <mesh>
            <meshBasicMaterial
              wireframe
              color='purple'
            />
            <geometry
              vertices={[
                new THREE.Vector3(0, 0, 3),
                new THREE.Vector3(0, 1, 3),
                new THREE.Vector3(h, 0.5, 3),
                new THREE.Vector3(h, -0.5, 3),
                new THREE.Vector3(0, -1, 3),
                new THREE.Vector3(-h, -0.5, 3),
                new THREE.Vector3(-h, 0.5, 3),
              ]}
              faces={[
                new THREE.Face3(0, 1, 2),
                new THREE.Face3(0, 2, 3),
                new THREE.Face3(0, 3, 4),
                new THREE.Face3(0, 4, 5),
                new THREE.Face3(0, 5, 6),
                new THREE.Face3(0, 6, 1),
              ]}
            />
          </mesh>
        </scene>
      </React3>
    );
  }
}

export default Hexs;

在three.js中,正面具有逆时针缠绕顺序。

您指定的脸部朝向远离相机的方向。

翻转六角形每个面的缠绕顺序,或指定双面材料。

three.js r.89

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM