我正在为项目使用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)忘记处理在对象的初始构造期间发生的边缘情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句