2

学習演習として小さな3Dエンジンを組み立てています。XNAゲームスタジオを使用して開始することを計画しています。

DirectX SDKは.sdkmesh古い形式ではなく新しい形式を使用しているようです.xが、形式に関する多くの情報が見つからずsdkmesh.h、次の内容が含まれています。

//--------------------------------------------------------------------------------------
// File: SDKMesh.h
//
// Disclaimer:  
//   The SDK Mesh format (.sdkmesh) is not a recommended file format for shipping titles.  
//   It was designed to meet the specific needs of the SDK samples.  Any real-world 
//   applications should avoid this file format in favor of a destination format that 
//   meets the specific needs of the application.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//--------------------------------------------------------------------------------------

したがって、問題は次のとおりです。どの形式を使用する必要がありますか?本番環境に対応していないフォーマットを使用するか、独自のフォーマットを最初から作成するかを選択する唯一のオプションはありますか?

他の小さな開発者はこれをどのように回避しますか?私はおそらく何かが足りないのですが、私はまだ事実発見の段階にあります。

4

1 に答える 1

1

あなたが引用した免責事項は、ほとんどすべてを語っています。基本的に、これは商用グレードのコンポーネントではないと述べています. ただし、あなたのニーズでは、それを使用することがなぜ問題になるのかわかりません。いくつかの非常に包括的な機能を備えており、簡単なデモなどのモックアップを容易にするために提供されています。学習のために本番対応のフォーマットは必要ありません。

SDK 自体以外では、.sdkmesh に関する多くの情報を見つけることはできないと言っても過言ではありません。.x の方がはるかに人気がありました (多くの 3D エディターで直接またはプラグインを介してサポートされていました)。

小規模な開発者は、独自のライブラリを作成したり、他の開発者から拡張/学習したりする可能性があります。

もちろん、独自のモデル インポーターを開発することは、それ自体が良い学習体験です。それは、自分が望む経験をそこから得られると思うかどうかにかかっています (シーンの最適化/構成よりもシェーダーに興味がある場合は、そうではない可能性が高い)。

独自の .obj インポーターを作成することは、学習を開始するのに適した場所ですが、静的モデルのみを対象としています。ウェブ上にたくさんの参考文献があります。

COLLADA (これらのサークルで人気があります) を使って作業するこの人の努力は良い仕事であることがわかりました: http://thecansin.com/category/collada/

一般に、これを処理したい場合は、最適化の後の段階でこのリファレンスを読む必要があります: http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html

それが役立つことを願っています。

于 2012-05-04T13:27:12.833 に答える