2017-07-19 5 views
2

three.jsで使用するオブジェクト(.obj)ファイルをロードしようとしていますが、反応が3つのレンダラーで反応しますが、 を取得してください:three.js OBJLoaderが反応中にロードされていません

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import React3 from 'react-three-renderer'; 
import TrackballControls from './TrackballControls'; 
import * as THREE from 'three'; 
import * as OBJLoader from 'three-obj-loader'; 
OBJLoader(THREE); 

class MyClass extends React.Component { 
... 
    render() { 
    ... 
    const objLoader = new THREE.OBJLoader(); 
    } 
} 

しかし、私は取得に保つ:?「輸出 『OBJLoader』( 『THREE』として輸入を)考えと 『3』 誰もで見つかりませんでした

答えて

1

だから、へthis.THREE = THREEを追加するようです反応するコンポーネントがトリックです(変な、え?) 私のコードは次のようになります:

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import React3 from 'react-three-renderer'; 
import TrackballControls from './TrackballControls'; 
import * as THREE from 'three'; 
import * as OBJLoader from 'three-obj-loader'; 
OBJLoader(THREE); 

class MyClass extends React.Component { 
... 
    render() { 
    ... 
    this.THREE = THREE; 
    const objLoader = new this.THREE.OBJLoader(); 
    } 
} 
関連する問題