FileSystemWatcher と NAS

“FileSystemWatcher” でNASのフォルダを監視してると
エラーが出るときがあるので、調べてみると、どうやら
NASで使われているsambaが問題みたい。
ただ、普通にファイルをドラッグ&ドロップでコピーしたり
移動したりするときにはエラーが出ない
NAS上に直接ファイルを作成した場合のみエラーが発生。。。
googleさんで調べてみると、やっぱり “FileSystemWatcher”自体
sambaには対応してないとか書かれてたりするので
諦めるしかないのかな?

DirectXでFBX 続き

前回FBX
(Lcl Scaling * (Lcl Rotation * PreRotation) * Lcl Translation )
な計算をしてトランスフォーム行列を出していたわけですが、
一発で取得出来たみたいですね。。。

[cc lang=”C++”]
KFbxAnimEvaluator* mySceneEvaluator = myScene->getEvaluator();
//Get node’s default TRS properties as a transformation matrix
KFbXMatrix& myNodeDefaultLocalTransform = mySceneEvaluator->GetNodeLocalTransform(myNode);
[/cc]

ちなみにこれは相対なトランスフォーム行列を取得する場合
絶対なトランスフォーム行列を取得する場合は

[cc lang=”C++”]
KFbxAnimEvaluator* mySceneEvaluator = myScene->getEvaluator();
//Get node’s default TRS properties as a transformation matrix
KFbXMatrix& myNodeDefaultGlobalTransform = mySceneEvaluator->GetNodeGlobalTransform(myNode);
[/cc]

どちらも便利便利^^
ドキュメントは隅から隅まで読むべきですね!!

DirectXでFBX

FBXの座標系がやたらめったらにややこしいので忘れないように、メモ
FBX2011.2を使用
出力ソフトは “3ds max”, “Softimage Mod Tool”, “Blender”

【Up軸】
・出力ソフトによって異なる
・KFbxGlobalSettings の GetAxisSystem().GetUpVector
で確認が出来る

【座標系】
・出力ソフトによって異なる
・KFbxGlobalSettings の GetAxisSystem().GetCoorSystem
で確認が出来る

【Y-up → Y-up】
・(Lcl Scaling * (Lcl Rotation * PreRotation) * Lcl Translation )(*1)

【Z-up → Y-up】
・(Lcl Scaling * (Lcl Rotation * PreRotation) * Lcl Translation )
* rotation(-90, 0, 0)(*1)

【左手 → 左手】
・特になにもせず

【右手 → 左手】
・(*1) * scale(1.0, 1.0, -1.0)
・UVとNormalのZの値が反転するのでそれぞれ符号を反転

本当はもっといろんなソフトで書き出したファイルをサンプルに
試さないとダメな気がするけど。。。
特にMayaで書き出したファイルを試してないのが大問題。。。