問題タブ [scenejs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - SceneJS での JSON オブジェクト ノードの再利用
scenejs フレームワークを使用して webgl アニメーションを作成しました。同一の要素が多数含まれるため、使用するコードの量を最小限に抑え、要素をできるだけ再利用したいと考えています。
まず、次のように定義された diskJSON を取得しました。
次のコードを SceneJS で実行すると、正常に動作します。
ただし、以前に定義したのと同じ diskJSON を再利用しようとすると、4 つのノードではなく、1 つのノードしか作成されません。
アプリケーションにはこれらのノードが何千もあるため、毎回再定義するのはかなり無駄に思えます。これは Scenejs の問題ですか、それとも Javascript/JSON 機能に関して意図したとおりに機能していますか?
javascript - WebGL アニメーションのちらつき、オブジェクトが大きすぎませんか?
Scenejs ライブラリを使用してwebgl アニメーションを作成しました(左下のボタンをクリックして開始します。現在無効にできない音楽も再生されることに注意してください)。
私が遭遇している問題は、中央の床/平面がちらつき始め、アニメーションを通してちらつき/点滅し続けることです。ちらつきは最後に向かってのみ低くなり、最後まで完全に停止します(飛行機が終了しようとしているとき)。
平面のサイズをそのサイズの 10% (~26000 から ~2600) に縮小すると、まったくちらつきません。
テクスチャ スケールを調整しようとしましたが、効果がありません。fpsを下げても効果がないようです。WebGL は大きなオブジェクトのレンダリングに問題がありますか? これを回避する方法はありますか?
おそらく平面を静的にして、そのテクスチャを動かすこともできますが、特により多くの要素が追加された場合は特に、より多くのことが難しくなります.
を設定しrequestAnimationFrame
ても効果はなく、フラッシュ ビデオを削除しても効果はありませんでした。正常に動作するのは、平面が非常に小さい場合、または平面の端に到達している場合のみです。
json - テクスチャを含む3DモデルをSceneJSJSONに変換します
動機
WebGLを使用して小さなデモアプリケーションを作成しようとしています。私はSceneJSを使用することにしました。これは、簡単なフレームワークのようであり、この目的には十分すぎるためです。
いくつかの.blendモデル(特にAmy Rose )をダウンロードし、 Blenderを使用してCollada(.dae)ファイルとしてエクスポートしました。次に、scenejs-pycolladaを使用してそれらをjsonモデルに変換しました。
私は、 scenejs-pycolladaコンバーターを動作させるために数時間を費やしました。どうやら、これまでPythonを使用したことがない場合、これらのPython依存関係をWindowsで機能させるのはそれほど簡単ではありません。;)
問題
しかし今、私は立ち往生しています(再び)。私の問題は、モデルにテクスチャや素材がないことです。
SceneJSのSeymourPlaneExampleを使用しました。変換したモデルはほとんど見えません。黒く、シーンの照明に反応しないようです。平面とモデルを一緒にロードすると、腕と脚が平面から突き出ているため、モデルがロードされていることがわかります。
次に、テクスチャをPNG画像としてエクスポートできるチュートリアルをいくつか実行しました。次に、JSONモデルのテクスチャファイル名をファイル名と一致するように変更しましたが、役に立ちません。
ですから、誰かがBlenderモデル(または他の一般的な3Dモデル)をSceneJSで使用されるJSON形式(テクスチャを含む)にエクスポートする方法を見つけるのを手伝ってくれることを願っています。
それが機能する限り、SceneJSにモデルをロードする他の方法も同様に機能します。
ボディ/フィギュアJSONモデルの無料ダウンロードへのリンクがあれば、それは今のところ役に立ちますが、私はむしろこれがどのように機能するかを学びます。:)
使っています
- Windows 7 HomePremium64ビット
- Python 2.7(Windows 32ビット)
ライブラリのサポートが改善され、インストーラーが利用できるようになったため、32ビットバージョンを選択しました。最初は32ビットと64ビットを混同して問題が発生しましたが、今ではすべてが機能しているようです(つまり、テクスチャを除く)。 - Blender 2.59
- SceneJS 0.8.0
私のワークフロー
Blenderで、モデルをCollada(* .dae)ファイルにエクスポートし、scenejs-pycolladaを使用してRawJSONに変換します。これにより、2つのオブジェクトを含むJSONファイルが得られます。最初はシーンのようで、2番目はモデルのようです。2番目を保持し、SceneJSの例のコードで使用されているJavascript変数に入れます。, "type": "library", "parent": "Scene"
モデルは、ロードするためにコードから削除する必要のあるプロパティで終わります。
json - SceneJS グラフの例
http://www.graphycalc.com/に示されているものと同様の関数をグラフ化できる、オープン ソースの SceneJS の良い例はありますか?
opengl-es - webglで不変オブジェクトをズームする
WebGlは線の太さをサポートしていません。したがって、線を強調表示する必要がある場合は、その周りに長方形を描画します。しかし、シーンをズームするとかなり怖いように見えます。
私が今見ている2つの方法があります:
1)canvas.widthに従って長方形の幅をモデル座標に再計算します。
2)すべてのズーム不変オブジェクトを別々のマトリックス(私はscenejsを使用)の下に配置し、各マウスホイールの後にそれらの位置を再計算します
私はこの解決策の両方が好きではありません。だから私は疑問に思います:アイテムをズーム不変にするための良い回避策はありますか?
webgl - ScenejsでIdMappingを介してピッキングを行うには?
次のような 1 つの巨大な Json Mesh があり、scenejs でレンダリングします。
idMapColors は「オブジェクト」ごとに一意であり、ID に変換して追加情報を提供できます。
画面では通常の色でメッシュをレンダリングし、2 番目のレンダリング パスでは idMapColors でメッシュをレンダリングします。特定の Point(Mouse Position) で 2 番目の FrameBuffer (idMapColors 用) の色の値を読み取る必要があります。
Scenejsでこれを行う方法は? idMapColors を Framebuffer にレンダリングすることはできますが、そのデータにアクセスするにはどうすればよいでしょうか?
https://github.com/xeolabs/scenejs/wiki/frameBufの wiki で、ピッキングがさらに作業中であることがわかりました。現時点でこれを行う可能性はありますか?
webgl - webGL アプリのフレームレート ヒストグラム データの収集
私は自分のアカデミックコースで機能する特定のフレームワークに固執することを考えていますが、証明すべき結果にのみ基づいています。No.of Vertices が 1 つの軸で、FPS (しきい値は 60) が他の軸にある 3 つのフレームワークすべてのグラフをプロットしたいと考えています。obj、collada、json などの形式で単一の定義済みモデルを取得し、3 つのフレームワークにロードするのに十分でしょうか? 次に、フレーム レートと頂点数を何らかの外部ファイルに記録し、その後データを使用してグラフをプロットし、パフォーマンス パラメータに基づいて 3 つの中で最適なフレームワークを報告します。しかし、これらすべてのフレームワークがさまざまなモデルをロードし (グラフの頂点数のディメンションに使用できます)、毎秒のフレームレートを外部ファイルに記録する定型コードを探しています。これが私が考えてきたアプローチです。でもできなかった」これについては、インターネットで多くのヘルプが見つかりません。誰かが私を助けてくれたらいいのに?
json - scenejsでjsonモデルをロードする例はどこにありますか?
Blender を使用してエクスポートされる、頂点、UV、インデックスなどを含む JSON モデルがあります。他のフレームワークでも問題なく動作します。私もScenejSを使ってやってみたいと思います。しかし、SceneJS を使用して JSON モデルを実装する適切な例が見つかりませんでした。JSON モデルを使用して SceneJS を学習および作業できる場所にリダイレクトしていただけると助かります。SceneJS で JSON モデルを使用したデモはありますか?
3d - SceneJSを使用してシーン内のランダムキューブを配布する方法は?
SceneJSを使用して、キャンバスシーンに立方体をランダムに配置したいと思います。ライブラリには大きな学習曲線があるので、私自身はいくつかの例を確認してコーディングを開始しました。私はいくつかのコードを実行しましたが、エラーがどこにあるのか自分自身を納得させることができませんでした:
エラーがどこにあるかを誰かに見つけてもらいたいのですが、本当にありがたいです。ブラウザに空白の白い画面しか表示されませんでした:(