作者elcnick (左手谢谢右手指教)
看板C_Sharp
标题Re: [问题] xna动态载入
时间Sun Jun 12 00:55:48 2011
※ 引述《AllBaMa (欧巴马)》之铭言:
: 请问XNA是否能在一开始不用汇入模型
: 而是在运行中再载入任意的FBX档案
: 类似WinFormsContentSample_ARCHIVE_3_1 类似的效果
: 若在外部先将FBX转成XNB档案是否也能达成类似的效果
是可以的,只是要花不少功夫就是
去找Microsoft.Xna.Framework.Content.Pipeline.FBXImporter.dll加入参考後
先实做一个简单的ContentImporterContext来对应FBXImporter的context参数
但是输出的是NodeContent型态 (实际上跑起来相当的慢,建议是拿来转档用就好)
还要自己去实做一个ModelProcessor与对应的ContentProcessorContext
如果自己实做的ModelProcessor完全不会用到ContentProcessorContext
中的Convert, BuildAsset BuildAndLoadAsset method的话
或者自己亲自去实做完成这些method
这样是能完全保证能够运行
范例中的CpuSkinnedModel有关於如何实做处理NodeContent的部分
但是该范例有使用到Convert 且使用的Processor是MaterialProcessor,
MaterialProcessor内仍然有使用到上述的method
这样就得去观察MaterialContent的结构来处理了
TextureProcessor与EffectProcessor都无用到上述的method
对应的Importer跟FBXImport应该是在同一个资料夹
Convert :只是呼叫指定的Processor来转换Content
BuildAsset: 建立外部档案用的 例如Texture实际上载入时只是个path
但是真正模型运行时还要把他从档案载入
所以就算图片没汇入专案还是会跑出该图片的xnb档
BuildAndLoadAsset:建档後并且载入它
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.175.132.188
※ 编辑: elcnick 来自: 1.175.132.188 (06/12 01:07)