最近、 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 ファイアウォールの基本的な使用方法のチュートリアル
この記事はMySQL 5.7.23 winx64のインストールチュートリアルを記録します。具体的な内...
Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....
<div id="ルート"> <h2>頑張れ、{{na...
この記事の例では、ログインインターフェース検証コードを実装するためのlayuiの具体的なコードを参考...
この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...
事前に書いておきます:次の手順では、ターミナルにコマンドを入力する必要があります。コンピューターでブ...
既存のイメージから新しいイメージを構築することは、Dockerfile ドキュメントを通じて行われま...
目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...
序文今日は、Prince が Windows で負荷分散に Nginx + Tomcat を使用する...
目次概要バーチャルドム原理実装プロセスパッチ方式sameVnode関数patchVnode関数upd...
この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...
この記事では、シンプルなカレンダー効果を実現するためのjsの具体的なコードを参考までに共有します。具...
スタンドアロンの hbase について、まずは説明しましょう。 Dockerをインストールするまず ...
目次序文配列.isArrayコンストラクタインスタンスプロトタイプオブジェクト.プロトタイプ.toS...
序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...