Silverlight 3 または Silverlight 4 アプリケーションで 3D オブジェクトを読み込むことはできますか? (3DS Max オブジェクトまたはその他の形式)。オブジェクトをロードするだけでなく、単純な回転、ズームイン/ズームアウトなどの基本的な操作も必要です。
4 に答える
マネージド 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はおそらくあなたの進むべき道です。