MacでFBX SDKのサンプル実行

2015年6月1日月曜日

Mac

t f B! P L
FBXは3D系モデリング・ツールで使われるデータ・フォーマットです。アニメーションを含んだデータをツール間でやりとりする場合などに使われます。FBXの開発にはFBX SDKというC++の開発キットが無償で公開されています。これまでWindows版のFBX SDKを利用していましたが、初めてMac版をインストールしてみました。動作確認としてFBX SDK付属のサンプルを試しにコンパイルしてみると、(少し修正するだけで)簡単に実行できました。

インストールした環境

次の環境にインストールしました。
  • MacBook Air (11-inch, Early 2014)
  • OSX Yosemite Version 10.10.3
Xcodeをインストール済みですが、FBX SDKのサンプル実行では直接使用していません。

FBX SDKのインストール

Autodesk社のFBXのサイトからでデータをダウンロードします。試したバージョンはFBX SDK 2015.1 Clangです。通常のMacのアプリケーションと同様の手順でインストールできます。インストールが終了すると、デフォストの設定では/Applications/Autodesk/FBX SDK/2015.1にFBX SDKがインストールされます。

サンプルのコンパイル

まずターミナルを起動し、コンパイルを行うサンプルのディレクトリ(/Applications/Autodesk/FBX SDK/2015.1/samples/)に移動します。いろいろなサンプルが置かれていますが、ここではViewSceneという名前のサンプルをコンパイルしてみます。まず最初に、ViewSceneのディレクトリに移動します。
$ cd /Applications/Autodesk/FBX SDK/2015.1/samples/ViewScene
次にmakeを実行します。Makefileの中を覗くと、オプションの説明が記載されていますが、とりあえず何も指定しないでmakeしてみます。
$ make
cc -pipe -m32 -DFBXSDK_SHARED -I../../include -c ../Common/Common.cxx -o ../Common/Common.o
:(途中省略)
cc -m32 -o ../../bin/clang/x86/release/ViewScene/ViewScene ../Common/Common.o ./DrawScene.o ./DrawText.o ./GetPosition.o ./SceneCache.o ./SceneContext.o ./GlFunctions.o ./SetCamera.o ./targa.o ./main.o -L../../lib/clang/ub/release -L. -lfbxsdk -lm -lGLEW32 -lc++ -liconv -fexceptions -lz -framework GLUT -framework OpenGL -framework Cocoa -framework SystemConfiguration
ld: warning: directory not found for option '-L../../lib/clang/ub/release'
ld: library not found for -lfbxsdk
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [../../bin/clang/x86/release/ViewScene/ViewScene] Error 1
エラーが出ました。../../lib/clang/ub/releaseディレクトリが存在しないというエラーです。確認してみると確かにありません。その代わり./../lib/clang/releaseは存在するようなのでMakefileを一部書き換えてみます。
EXAMPLE = ViewScene
BINDIR = ../../bin/$(COMPILER)/$(ARCH)/$(VARIANT)/$(EXAMPLE)
OBJDIR = ../../obj/$(COMPILER)/$(ARCH)/$(VARIANT)/$(EXAMPLE)
#LIBDIR = ../../lib/$(COMPILER)/ub/$(VARIANT) オリジナル
# /ubを抜く
LIBDIR = ../../lib/$(COMPILER)/$(VARIANT)
INCDIR = ../../include
COMMONDIR = ../Common
Makefileを修正後、再度makeを実行します。
$make
cc -m32 -o ../../bin/clang/x86/release/ViewScene/ViewScene ../Common/Common.o ./DrawScene.o ./DrawText.o ./GetPosition.o ./SceneCache.o ./SceneContext.o ./GlFunctions.o ./SetCamera.o ./targa.o ./main.o -L../../lib/clang/release -L. -lfbxsdk -lm -lGLEW32 -lc++ -liconv -fexceptions -lz -framework GLUT -framework OpenGL -framework Cocoa -framework SystemConfiguration
mv *.o ../../obj/clang/x86/release/ViewScene
mv ../Common/*.o ../../obj/clang/x86/release/ViewScene
cp -f humanoid.fbx ../../bin/clang/x86/release/ViewScene
cp -f FBX_ASCII_TEXTURE ../../bin/clang/x86/release/ViewScene
cp -f ../../lib/clang/release/libfbxsdk.dylib ../../bin/clang/x86/release/ViewScene
コンパイルに成功しました。実行ファイルは../../bin/clang/x86/release/ViewSceneに生成されます。

サンプルの実行

ターミナルからViewSceneを実行してみます。
$cd ../../bin/clang/x86/release/ViewScene
$./ViewScene
FBXのデータが表示されました。
ViewScene
自作の.fbxも表示できました。
自作データを表示

このブログを検索

QooQ