最近、 1. フレームワークを構築し、必要なプラグインをインストールするnpx create-react-app parano // React プロジェクトを作成する npm install -S typescript // typescript をインストールします。これは入力支援プラグインであり、Panorama プロジェクトとはほとんど関係ありません npm install -S @types/three // typescript でサポートされている three.js プラグインをインストールします 2. パノラマコンポーネントを作成するPano コンポーネントは 720 枚のパノラマを読み込むために使用されます。 'react' から React をインポートします import * as THREE from 'three' // Three.jsプラグインをインポート import Banner from './img/playground.jpg' // パノラマ画像をインポート // props型宣言 interface interface MyProps { } //状態型宣言インターフェースインターフェースMyState { } クラスPanoはReact.Component<MyProps, MyState>を拡張します。 renderer: any = new THREE.WebGLRenderer() // レンダラーを作成 scene: any = new THREE.Scene() // シーンを作成 camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000) // カメラを作成 geometry = new THREE.SphereBufferGeometry(100, 60, 40) // パノラマを貼り付けるための球形コンテナを作成 material: any // テクスチャ マテリアル mesh: any コンストラクタ(props: any) { スーパー(小道具) this.state = {} } コンポーネントマウント() { this.geometry.scale(-1, 1, 1) テクスチャを新しいTHREE.TextureLoader().load(バナー)とします。 this.material = 新しい THREE.MeshBasicMaterial({map: テクスチャ}) this.mesh = 新しい THREE.Mesh(this.geometry, this.material) this.renderer.setSize(window.innerWidth, window.innerHeight) document.body.appendChild(this.renderer.domElement) this.scene.add(this.mesh) カメラの位置z = 0 window.addEventListener('resize', this.onWindowResize, false) this.animate() } // ウィンドウサイズが変更されたときにパノラマの表示サイズを変更します onWindowResize = () => { this.camera.aspect = window.innerWidth / window.innerHeight this.camera.updateProjectionMatrix() this.renderer.setSize(window.innerWidth, window.innerHeight) } // フレームごとにレンダリング animate = () => { アニメーションフレームをリクエストします(this.animate) メッシュの回転y += 0.001 this.renderer.render(this.scene、this.camera) をレンダリングします。 } 与える () { 戻る ( <div></div> ) } } デフォルトのパノラマをエクスポート 3. PanoコンポーネントをAppコンポーネントに追加する'react' から React をインポートします。 './App.css' をインポートします。 './pano' から Pano をインポートします。 関数App() { 戻る ( <div className="アプリ"> <パノ /> </div> ); } デフォルトのアプリをエクスポートします。 この時点で、プロジェクトディレクトリで React と Threejs を使用して VR パノラマ プロジェクトを作成する詳細なプロセスに関するこの記事はこれで終わりです。React と Threejs を使用して VR パノラマ ビューを作成する方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: And キーワードを使用した MySQL の複数条件クエリ ステートメント
>>: LINUX での IPTABLES ファイアウォールの基本的な使用方法のチュートリアル
HTML ノードの追加と削除の簡単な例 HTML ノードの追加と削除の簡単な例<input t...
環境: CentOS 7公式ドキュメント: http://supervisord.org/インストー...
目次MySQLマスタースレーブの基本原理3つのbinlog形式の比較混合形式のバイナリログが存在する...
docker デーモンは通常の TCP ポートではなくホストの Unix ソケットにバインドする必要...
2つの状況がある1. 開始時間と終了時間が同じボックス内にあります(今月のみ限定) 2. 開始時間と...
以下のように表示されます。 CSSコードコンテンツをクリップボードにコピー分割{境界線: 2px 固...
目次1. 実行コンテキストとは何か2. 実行コンテキスト スタックとは何ですか? 3. 実行コンテキ...
目次次のチェックミックスイン$強制更新設定、削除フィルター指令その他の単純な共通プロパティとメソッド...
仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...
参考までに、クリックナンバーゲームをネイティブJSで実装しました。具体的な内容は以下のとおりです。最...
私は、WinForm と HTML5 を組み合わせた小さなものを作りたいだけなのですが、突然、そこに...
バックグラウンド コントローラー @RequestMapping("/getPDFStre...
目次【機能背景】 [生のSQL] 【独自SQL解析】 【分析手順】 [最適化されたSQL] 【最適化...
インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...
目次1. リテラル値でオブジェクトを作成する2. 新しいキャラクターを使ってオブジェクトを作成する3...