問題タブ [collada]
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.
c# - COLLADA ブレンディング: テクスチャに基づく透明度
私が今やろうとしているのは、COLLADA インポーターを透明な COLLADA モデルで動作させることです。モデルのブレンディングは、COLLADA 仕様の第 7 章、「レンダリング/透明度の決定」の段落で指定されています。
つまり、ブレンド方程式には 2 つの入力があります。TrasparentとTrasparencyです。前者は RGBA カラーまたはテクスチャにすることができ、後者は浮動小数点値のみにすることができます。さらに、Transparentは 2 つのブレンド方程式 ( ColladaFxOpaqueType.AlphaOneおよびColladaFxOpaqueType.RgbZero )を指定できます。
2 つのブレンド方程式を次に示します。
私が今実装したのは、Transparentが色を表す場合にジオメトリをブレンドすることです (両方のブレンド方程式)。以下は、この機能を実装する固有のコードです。
大まかに言うと、上記のコードは OpenGL レイヤーを抽象化しており、次と同等です。
私が望むのは、テクスチャに基づいて透過性をサポートすることです (実際、その恐ろしいNotSupportedExceptionを削除します)。通常、これは、出力されたフラグメント アルファ コンポーネントにテクスチャをアタッチし、通常どおりブレンドをセットアップすることによって実装されます (アルファおよび OneMinusAlpha ブレンド ファクター)。ですよね?)。
PS簡単なソリューションを使用してブレンドを実装したことに注意してください。ただし、一定のブレンドカラー(blendFactors
コード内の変数)に基づいています(実際にはGL_EXT_blend_color拡張を使用しています)。通常のブレンディング関数を使用して、この依存関係を削除するにはどうすればよいですか? 最後の質問の解決策は、テクスチャに基づくブレンドについて役立つと思います...
transparency - Colladaモデルの透明度がthree.jsに読み込まれません
この投稿と同様の問題があり、同じモデルを使用し、Colladaローダーもロードされています。
車の窓は、three.jsでは透明として表示されません。あなたはそれらを通して見ることができません。
three.jsオブジェクトのデータ構造を調べたところ、ウィンドウのマテリアルに不透明度= 1、透明度=falseが設定されているように見えます。
上記の参照された投稿でアドバイスされているように、リリースと開発バージョンのthree.jsの両方で試しましたが、運がありませんでした。
また、マテリアルオブジェクト(デバッガー内)で不透明度を0.3に設定し、透明度をtrueに設定しようとすると、透明度が表示されます。(多少のちらつきはありますが)。
何が悪いのか分かりますか?Colladaローダーの問題ですか?
更新:はるかに単純なモデルで同じ問題:
ありがとうございました
マーティン
java - JavaのColladaインターフェイス
メッシュデータを読み取って自分のディスプレイにレンダリングできるように、ファイルを処理するライブラリを探しています。collada
Java
jogl
にすでにライブラリが存在しJava
ますか?
webgl - Three.js での Collada ローダーの制限
Three.js では、Collada Loader は約 65000 頂点を超えるモデルをロードできません。これは WebGL の制限によるものだとわかっていますが、モデルを異なるバッファーに分割することは可能でしょうか? 大きな Collada モデルをロードする方法はありますか?
ありがとう。
image - テクスチャファイルをcolladaファイルに含める
テクスチャ画像ファイルをcolladaファイルに含めたい。今、私は多くのファイルを持っています:.dae自体と.pngテクスチャファイル。
ただし、必要なファイルは.daeだけですが、テクスチャが含まれています。
どういうわけか.png画像を.daeファイル自体に保存できますか?出来ますか?前もって感謝します!
macos - SceneKit でテクスチャのファイル名を取得する方法
MacOS で SceneKit を使用して Collada ファイルをロードし、シーン ノード プロパティを取得して、独自のシーン グラフで使用したいと考えています。
頂点、法線、変換マトリックス、マテリアル プロパティなど (テクスチャ ファイル名を除くすべて) に簡単にアクセスできます。
テクスチャのファイル名が SCNMaterialProperty クラスのインスタンスに格納されることを期待します。ドキュメントから:
SCNMaterialProperty クラスは、テクスチャと、テクスチャをオブジェクトに適用する方法を指定する一連の属性をカプセル化します。
しかし、ソース ファイル名自体ではなく、テクスチャを表す NSImage しか取得できません。
どこかにあるはずです - XCode の collada ビューアーのインスペクターには、ファイル名も表示されます (SCNMaterialProperty のプロパティと共に):
SceneKit オブジェクト グラフでテクスチャのファイル名にアクセスするにはどうすればよいですか?
three.js - Three.JS- Colladaでの交差点の検出(レイキャスティング)
私のプロトタイプシステムには、Colladaファイルをクリックしたときに交差点を検出する関数があります。交差関数は次のとおりです。
しかし、私が使用するとき:
交差行列は空であり、交差を検出できません!!!
しかし、私が使用するとき:
交差行列を取得でき、それは非常にうまく機能しますが、別の問題が明らかになります(ここを見てください:Three.JS-シーン内のテキストボックスとの競合カメラコントロール)
上記の関数にコードはありますか?参考までに、私は簡単なカメラを使用しました:
ありがとう。
opengl - OpenGL モデリング
Collada 形式から独自のカスタム形式に変換できるプログラムを作成しようとしています (この部分は簡単で制御可能です)。私がやりたいことは次のとおりです。
1.) Collada ファイルから解析された正確なデータを使用して、モデルを描画する方法を見つけます。a.) 単純な立方体は 8 つの頂点、36 の法線、および 12 のテクスチャ座標を生成します。これは検索ですが、OpenGL でこれを描画する唯一の方法は、法線の量と一致するように頂点と法線のデータを複製する必要があります。 .
2.) マルチテクスチャリングを実装する方法を見つけます。a.) これに関するチュートリアルをたくさん見つけましたが、実際にこれを使用する方法が見つからないようです。これらの機能は私のバージョンのopenGLに組み込まれていないようで(2台のコンピューターでこれを試しました)、欠落している可能性のある必要なdllを誰も文書化していません。
three.js - ピクセルに合わせた Collada モデルをインポートすることはできますか?
単純な立方体のモデルがあるとします。(立方体よりも複雑ですが、この説明のために単純化します。)
したがって、Sketchup を使用している場合、立方体は Xmm x Xmm x Xmm で、X は整数です。次に、Collada ファイルをエクスポートし、続いてそれを threejs にロードします。
ジオメトリ バウンディング ボックスを見ると、値は整数ではなく浮動小数点数です。
だから今、私は立方体を互いに隣り合わせに置き、その間に小さなスペースを置いていると仮定します。たとえば、1 ピクセルです。画面は半分のピクセルを描画できないため、1 つのピクセルが表示されることもあれば、2 つのピクセルが表示されることもあり、均一性が失われます。
インポートされたモデルを整数次元にすることができれば、これを十分に解決できると思います。Sketchup から始まるモデルのすべての部分に完全にアクセスできるので、プロセスのどの時点でも公正なゲームです。
出来ますか?
ありがとう。
明確化: 私のアプリには 2 つのビューがあります。これが関係しているビューは、ピースをまっすぐ見下ろしている OrthographicCamera を使用しているため、これは実際には 2D ビューです。この質問の目的のために、モデルをインポートした後、均一な間隔の正方形のグリッドのように見えるはずです。
更新:実際の回答を提供できない限り、返信しないでください。何かを達成する方法を見つけるのに助けが必要な場合は、新しい質問を投稿します. この質問については、インポートされた Collada モデルをフル ピクセルに揃えることが可能かどうか、可能であればその方法を知りたいだけです。現時点では、これは主に私の好奇心を満たし、何が可能で何が不可能かについての知識を増やすためのものです。親切に助けてくれたコミュニティに感謝します。
three.js - ThreeJS での collada をロードしたモデルの問題の選択
ThreeJS で collada モデルをロードするときにピッキングの問題が発生しています。立方体のピッキングの例は正常に機能します。collada モデルのロードも同様に機能します。
ただし、collada オブジェクトを選択するには、3D オブジェクトよりもかなり上を選択する必要があるようです。ピッキングは立方体で機能するため、collada オブジェクト (SketchUp からのエクスポート) で機能しない理由がわかりません。collada モデルを読み込んで個々のオブジェクトを選択できる良い例はありますか? 前もって感謝します。