簡體   English   中英

三個渲染的多面體反應幾何錯誤

[英]react-three-renderer polyhedronGeometry error

我正在為項目使用react-three-renderer 我正在創建顯示網格物體。

根據react-three-renderer Wiki的示例 ,我這樣做了:

var React = require('react');
var ReactDOM = require('react-dom');
var THREE = require('three');
var React3 = require('react-three-renderer');

class Simple 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;

    return (<React3
      mainCamera="camera"
      width={width}
      height={height}
    >
      <scene>
        <perspectiveCamera
          name="camera"
          fov={75}
          aspect={width / height}
          near={0.1}
          far={1000}

          position={this.cameraPosition}
        />
        <mesh key={0}>
            <polyhedronGeometry 
                vertices={[0,1.5,0,36.188,0,0,0,0,0,36.188,1.5,0,0,0,3.5,36.188,0,3.5,0,1.5,3.5,36.188,1.5,3.5]}
                indices={[0,1,2,3,1,0,4,1,5,2,1,4,6,2,4,0,2,6,6,3,0,7,3,6,3,5,1,7,5,3,7,4,5,6,4,7]} 
                detail={2} 
                radius={18.178430515311273} 
                name="B1" />
            <meshBasicMaterial color={0x00ff00} />
        </mesh>
      </scene>
    </React3>);
  }
}

ReactDOM.render(<Simple/>, document.getElementById('viewport'));

我得到了可以按原樣工作的示例,但是當我將<boxGeometry/>更改為<polyhedronGeometry> (請參見說明文檔 ),出現此錯誤:

threeObject.userData._triggerRemount不是函數。

是什么引起的,我該怎么解決?

這是一個錯誤,它將得到修復, 請參閱Github上的問題 技術細節:當您修改某些類型的道具(例如“多面體幾何”)時,它將觸發重新安裝組件以重新創建幾何對象,並讓Threejs現在有了一個新的幾何。 在這種情況下,庫開發人員(me)忘記處理在對象的初始構造期間發生的邊緣情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM