==== std::filesystemを使ってゆくぅ ==== #include #include #include #include using std::cout; using std::cin; using std::endl; using std::string; namespace fs = std::filesystem; int main() { fs::path cPath, basePath; cPath = fs::current_path(); cout << cPath.string() << endl; basePath = cPath; string subDir("Assets"); fs::path subPath(cPath.string() + "\\" + subDir); assert(fs::exists(subPath)); //フォルダがあるときしか、ここに到達しない cout << subPath.string() << "は、ありま~す(晴子風)" << endl; fs::current_path(subPath); cPath = fs::current_path(); cout << cPath.string() << endl; fs::path imageFile("Oden.jpg"); if (fs::is_regular_file(imageFile)) { cout << imageFile.string() << "は、ありま~す(晴子風)" << endl; } fs::current_path(basePath); cPath = fs::current_path(); cout << cPath.string() << endl; //fs::is_regular_file() //初めのカレントフォルダを覚えておく->カレント表示 //Assetsにカレントを移動->カレント表示 //AssetsにOden.jpgがあるか確認->結果表示 //カレントを元のものに戻す->カレント表示 } ===== Load関数に適用 ===== //ロードしていろいろ初期化 HRESULT FBX::Load(std::string fileName) { //マネージャを生成 FbxManager* pFbxManager = FbxManager::Create(); //インポーターを生成 FbxImporter* fbxImporter = FbxImporter::Create(pFbxManager, "imp"); fbxImporter->Initialize(fileName.c_str(), -1, pFbxManager->GetIOSettings()); //シーンオブジェクトにFBXファイルの情報を流し込む FbxScene* pFbxScene = FbxScene::Create(pFbxManager, "fbxscene"); fbxImporter->Import(pFbxScene); fbxImporter->Destroy(); //メッシュ情報を取得 FbxNode* rootNode = pFbxScene->GetRootNode(); FbxNode* pNode = rootNode->GetChild(0); FbxMesh* mesh = pNode->GetMesh(); //各情報の個数を取得 vertexCount_ = mesh->GetControlPointsCount(); //頂点の数 polygonCount_ = mesh->GetPolygonCount(); //ポリゴンの数 materialCount_ = pNode->GetMaterialCount(); fs::path cPath, basePath; cPath = fs::current_path(); basePath = cPath; string subDir("Assets"); //Assetsフォルダまでのフルパスを生成する fs::path subPath(cPath.string() + "\\" + subDir); assert(fs::exists(subPath)); //カレントディレクトリを移動 fs::current_path(subPath); InitVertex(mesh); InitIndex(mesh); InitConstantBuffer(); InitMaterial(pNode); //カレントパスをもとどおりにもどす fs::current_path(basePath); //マネージャ解放 pFbxManager->Destroy(); return S_OK; }