Silverlight 3/4 で 3D オブジェクトをロードする
-
20-09-2019 - |
質問
Silverlight 3 または Silverlight 4 アプリケーションに 3D オブジェクトを読み込むことはできますか?(3DS Max オブジェクトまたはその他の形式)。オブジェクトをロードする以外に、単純な回転、ズームイン/ズームアウトなどの基本的な操作も必要です。
解決
私は、管理対象の3Dエンジン BALDER のは、あなたのための正しい選択かもしれないと思います。これは、Silverlightでかなり良い実行され、私は、Silverlight 3および図4bでそれを使用しました。 BALDERは、現時点ではASEのフォーマットをサポートしていますが、はEinarと彼の貢献は、エンジンに懸命に働いていると、彼らが将来的にはより多くのメッシュフォーマットをサポートします。
他のヒント
そうでもない。
SLにいくつかの制限3D-ESQ効果をもたらすことができるそこにいくつかのするライブラリがあるかもしれません(実際にSL 3は、本自体の少し付属しています)。しかし、SLは本当に良い3Dをサポートしていません。
それはしていない、は、古い Kit3D のプロジェクトがありますが、それは今ではないどこにあるのか昨年に更新していた。
もちろん可能です。どれくらいのコードを書きたいですか?どれくらい見栄えが良くなければなりませんか?
Silverlight の 3D の考え方は、Flash の 3D と同じです。三角法と基本的な代数の知識があれば、それを行うことができます。錆びていなければとても簡単です。
まず、頂点を読み取り可能な形式、またはプロジェクトに直接埋め込むことができる形式にエクスポートする必要があります。次に、いくつかの三角形を生成し、それらのハンドルを配列に挿入する必要があります。
頂点ライティングをあまり効率的に行うことはできないため、おそらくフラット シェーディングに行き詰まっているでしょう。各フレームの前に次のことを行う必要があります。
- ジオメトリをトラバースする
- 回転と変形を適用します(位置、スケーリング)。
- ジオメトリ内の三角形ごとに配列内の 1 つの三角形を調整します (行列が適用されている)
- 三角形を後ろから前に並べ替えます
- 各三角形の色を調整します (1 回だけが最適です)
- 等。
三角形 1,000 個 / 頂点 3,000 個を超えるのは難しいでしょう。それはできますが、同時に他のことをしたい場合はできません。
あ、はい。それは完全に可能ですが、既製のものでも Silverlight に統合されたものでもありません。当面は昔みたいに3Dグラフィックスをやる方法に頼るしかないですね…。手で。
Silverlightの3/4に3DS Maxオブジェクトをロードすることはほとんど不可能ます。
GoogleのO3D には、おそらく行くにはあなたの方法である。