OSG播放fbx動畫


剛剛學會怎樣播放fbx動畫,總結幾點:
1.3dmax導出的fbx坐標系可能與osg不同,需要做個旋轉rotate(90,vec3(1,0,0))
2.導出的dds圖片需要做個翻轉
3.參考osganmitionviewer中的AnimationManagerFinder找到動畫管理器
4.autodesk自帶的fbx例子可以加載卻播放不了,不知原因。
5.同時播放多個fbx,注意通過finder找到動畫管理器,然后setUpdateCallback
6.編譯fbx需要fbx sdk,設置好3rdParty目錄
注意用最新的fbx源碼,兼容性好
struct ImageFlip:NodeVisitor
{
apply(geode){apply(geode.state);}
for(getNumDrawables)
apply(state);
{for(getNumTexAttrList)}
tex2d=getTexAttr(stateAttr:Texture);
tex.getImage(0).flipVertical();
}
AnimationManagerFinder
group=read(.fbx);
group.accept(finder);
manager=finder._am;
group.setUpdate(manager);
manager.play();
group.accept(imageFlip);
url:http://greatverve.cnblogs.com/archive/2013/05/08/osg-fbx.html
參考:

win7 32bit, vs2010, OpenSceneGraph-3.0.1

1.先安裝fbx SDK 版本號:2012.1

2.在配置CMake時,如下:(注意lib使用xxx-md.lib和xxx-mdd.lib)

FBX_INCLUDE_DIR            C:/Program Files/Autodesk/FBX/FbxSdk/2012.1/include

FBX_LIBRARY                    C:/Program Files/Autodesk/FBX/FbxSdk/2012.1/lib/vs2010/x86/fbxsdk-2012.1-md.lib

FBX_LIBRARY_DEBUG       C:/Program Files/Autodesk/FBX/FbxSdk/2012.1/lib/vs2010/x86/fbxsdk-2012.1-mdd.lib

3.點擊“Configure”,完成后進入到下一步。

4.點擊“Generate”,完成后進入到下一步。

5.運行“OpenSceneGraph.sln”,在"解決方案"中選擇“生成”。

 

一、文件准備

  1、准備OpenSceneGraph源代碼及編譯包

  請參照:OpenSceneGraph學習筆記(一):OpenSceneGraph編譯方法

  2、准備fbx插件編譯的SDK

  筆者使用的是OSG3.0.1,Autodesk的相關網站提供了fbx的最新SDK的下載地址,最新已經更新到2013.3版本。筆者也用這個版本編譯過,但是2013.3版本的SDK和OSG3.0.1不是很匹配,Autodesk對這個版本的SDK做了很大的改動,包括改動了文件名和文件夾名。於是,筆者將之前下載好的fbx20122_fbxsdk_vs2010_win.exe(VS2010使用版本)安裝包,上傳到了百度網盤。下載地址:fbx20122_fbxsdk_vs2010_win.exe

二、安裝fbx編譯的SDK

  安裝過程沒有任何難度,直接下一步就行。但是請您記住安裝包的安裝位置。

  

三、CMake生成fbx插件編譯項目

  這里只需要再設置fbx插件的include、lib路徑(前提是您之前已經編譯過了OSG3.0.1):

  

  具體方法在這里不再贅述,請參照筆者另一篇博文:OpenSceneGraph學習筆記(一):OpenSceneGraph編譯方法

四、VS2010編譯插件

  如下圖所示,用VS2010打開osgdb_fbx.vcxproj(因為筆者之前編譯過一遍項目,您看到的文件數和筆者可能不一樣)

  

  用VS2010的批生產工具編譯工程:

  

  出現錯誤:.../openscenegraph-3.0.1\src\osgplugins\fbx\ReaderWriterFBX.h(19): fatal error C1189: #error :  Wrong FBX SDK version

  解決方法:按照如下方法修改ReaderWriterFBX.h文件即可

  

  重新編譯后成功編譯:

  

  在如圖所示的文件夾中,如果可以看到fbx插件,即可表示編譯成功。您現在可以用osgviewer.exe打開fbx格式的文件了。

  


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM