MayaからXファイルをエクスポートする方法

このQ&Aのポイント
  • MayaとDirectXを使用してゲームを作成する際に、Xファイルをエクスポートする方法を教えてください。
  • DirectX9.0 SDK Dec 2004とMaya6.0 Unlimited、Visual Studio .NETを使用しています。
  • エクスポート後にテクスチャが剥がれてしまい、真っ黒な状態になる問題について、解決策を教えてください。
回答を見る
  • ベストアンサー

MayaからXファイルをエクスポートする方法・・・

ただいまDirectXを使ってゲームを作っています。 DirectX9.0 SDK Dec 2004 Maya6.0 Unlimited Visual Stadio.NET 上記のソフトを使用しております。 DirectX9.0 SDK Dec 2004に付属のトランスレータを使い、 Export ALL後にでるポップアップのExportOptionsに Meshes  true Skin true Adjacencies false Materials true replace effect path false replace textrue path false Make Relative Paths false Animation false のチェックをし、ソースイメージ内にエクスポートしたのですが、なぜか保存後、メッシュビューワーで見た時に、テクスチャはすべて剥がれ、真っ黒な状態になっています。 どうしたらテクスチャがついた状態で出力できるでしょうか? ご教授願いますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • RakuGaki
  • ベストアンサー率51% (18/35)
回答No.1

 使用しているソフトが異なりますが、 3次元形状に面を貼られてテクスチャを設定されたとしてアドバイスさせていた だきます。 >replace textrue path false >Make Relative Paths false replace texture path true Make Relative Paths true でエクスポートして保存ではいかがでしょうか? 外しておりましたらご容赦下さい。

deadcell
質問者

お礼

ありがとうございます!!! 今日は今帰ってきてしまったので、明日早速学校で試してみます^^ 他は上記の通りでいいのでしょうか?

deadcell
質問者

補足

今上記の方法で試してみたのですが・・・ メッシュビューワーで見たところ、全部が真っ黒になってしまっています。 何が原因なのでしょうか・・・

その他の回答 (1)

  • RakuGaki
  • ベストアンサー率51% (18/35)
回答No.2

初回質問時 >ソースイメージ内にエクスポートしたのですが、なぜか保存後、メッシュビューワーで見た時に、テクスチャはすべて剥がれ、真っ黒な状態になっています。 #1補足 >メッシュビューワーで見たところ、全部が真っ黒になってしまっています。   状況を悪化させてしまったようで、恐縮です。 #1のアドバイスは、テクスチャのパスがソースイメージ内へ渡されていないための現象と判断した為です。 使用しているソフトが異なりますので、これ以上のアドバイスは差し控えたいと思います。 悪しからず。ほかの有識者の方よろしくお願いします。 以下は独り言です。一般的に思いつくまま カメラが3次元形状の内部にある? ライトが点いていない? 環境光の設定が無く、カメラがライトの影に入っている? 重いレンダリングの実行中? alias.co.jpを拾い読みしてさらに独り言・・・ [Maya6FeaturesBenefitsFinal_jp.pdf20ページより抜粋] 変換ツールと画像フォーマット  DDS入力/出力  DXT1 Direct Draw Surface ファイルを完全なアルファ情報と共に出力できます。 [Maya6FeaturesBenefitsFinal_jp.pdf26ページより抜粋] MAYAのハードウェア最小動作環境  Hardware-accelerated OpenGL graphics card

deadcell
質問者

お礼

ありがとうございました^^; 参考にしてみますね!

関連するQ&A

  • mayaからXファイルをExportする方法について

    mayaからうまくXファイルをエクスポートする方法が分かりません。 Xファイル自体は出せるのですが、マテリアルにトランスペアレンシー がかかってなかったり、テクスチャの名前の記録の仕方が分からないです。 環境 Microsoft DirectX SDK (February 2006) Maya6.5 Complete Microsoft Visual Studio 8 mayaツールバーのWindow>Settings/Preferences>Plug-in Manager ので下のほうにあるSDKのチェックボックスをオンにし、 File>Export Selectionで出てくるオプション設定を どういう風に設定すればテクスチャ情報をもたせてエクスポート できるのでしょうか。 どなたかご教示お願いします。

  • AccessからExcelへエクスポート時に小数点以下の桁数がおかしく

    AccessからExcelへエクスポート時に小数点以下の桁数がおかしくなります。 59.20 118.40 118.40 77.70 49.20 ↓↓↓↓↓ 59.20000076 118.4000015 118.4000015 77.69999695 49.20000076 の様になってしまいます。 以下エクスポート処理です。 StrSQL = "SELECT MaxSize FROM SizeTabel" ←本当はかなり長いSQL Set QueryTemp = CurrentDb.CreateQueryDef("ExportSQL", StrSQL) DoCmd.SelectObject acQuery, "ExportSQL", True DoCmd.TransferSpreadsheet acExport, 8, "ExportSQL", Application.CurrentProject.Path & "\test.xls", False, "" CurrentDb.QueryDefs.Delete ("ExportSQL") Format関数で桁数を調整したりはしたのですが、精度が必要な為、原因を追究したいと考えています。 アドバイスよろしくお願いいたします。

  • TIFFを開いてBITMAPで保存する方法

    ■開発環境 VC++6.0,Windows2000 Pro,+ libtiff(TIFFを扱うライブラリ) で以下のようなコードを書きました. ************************************************* BOOL CTiff::OpenTiffAndSaveBMP(CString path) { HDIB hDIB; hDIB = LoadTIFFinDIB(path); BITMAPFILEHEADER BMPFILEHEADER; LPBITMAPINFOHEADER BMPINFOHEADER; if(!hDIB) return FALSE; CFile file; path.Replace("tif", "bmp"); if( !file.Open( path, CFile::modeWrite|CFile::modeCreate) ) return FALSE; BMPINFOHEADER = (LPBITMAPINFOHEADER)hDIB; int nColors = 1 << BMPINFOHEADER->biBitCount; // BITMAPFILEHEADERのフィールドを初期化 BMPFILEHEADER.bfType = ((WORD) ('M' << 8) | 'B'); // is always "BM" BMPFILEHEADER.bfSize = GlobalSize (hDIB) + sizeof( BMPFILEHEADER ); BMPFILEHEADER.bfReserved1 = 0; BMPFILEHEADER.bfReserved2 = 0; BMPFILEHEADER.bfOffBits = (DWORD)(sizeof( BMPFILEHEADER ) + BMPINFOHEADER-> biSize + nColors * sizeof(RGBQUAD)); // ファイルヘッダを書き込む file.Write( &BMPFILEHEADER, sizeof(BMPFILEHEADER) ); // DIBのヘッダとビット列を書き込む DWORD nSize = GlobalSize(hDIB); file.Write( BMPINFOHEADER, nSize ); file.Close(); return TRUE; } ************************************************ しかし,OpenTiffAndSaveBMP()の下から3行目の >file.Write( BMPINFOHEADER, nSize ); でDebug Assertion Failed!なるエラーで止まってしまいます. そこで「無視」ボタンを押すと「ファイルにアクセス中に不明なエラーが発生しまし た」となります. 文字数の制限上LoadTIFFinDIB()のソースは無いのですが, 原因ならびに解決策の分かる方ご教授ください.

  • PDFの印刷で。。。

    C#よりAcrobatReaderにPDFをエクスポートして印刷を行う処理 を作成中です。 そこで質問ですが,エクスポートされたPDFを印刷する際に、 PDFを開かずに印刷することは可能でしょうか? 現在、ネットよりいろいろ調べて組み込んだロジックでは印刷をする ことはできましたが、どうしてもPDFが開かれてしまいます。 ソースを以下に載せましたのでご教授願います。 System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(); //パスを取得する psi.FileName = @"C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"; //出力を読み取れるようにする psi.RedirectStandardInput = false; psi.RedirectStandardOutput = true; psi.UseShellExecute = false; //ウィンドウを表示しないようにする psi.CreateNoWindow = true; //コマンドラインを指定 psi.Arguments = @"/t " + Application.StartupPath + "\\PDFExpt.PDF"; System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi); //出力を読み取る string results = p.StandardOutput.ReadToEnd(); p.WaitForExit(); p.Close(); p.Dispose(); 申し訳ありませんがよろしくお願い致します。

  • テクスチャがうまく表示されない[DirectX]

    こんにちわ。初歩的な質問かもしれませんが、よろしくお願いします。 テクスチャは読み込まれてはいるのですが、(色だけは表示される。違う画像にすると色が変わる)どうも模様が表示されず、画像どおりになりません。 とりあえず関係ありそうなコードだけ。。 -----頂点定義-------- struct CUSTOMVERTEX {FLOAT X,Y,Z; D3DVECTOR NORMAL; FLOAT U,V;}; #define CUSTOMFVF (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1) ----頂点------ struct CUSTOMVERTEX t_vert[]={ {0.0f, 0.0f,0.0f,0,1,0, 0.0f, 0.0f,}, {-30.0f,0.0f,0.0f,0,1,0, 1.0f, 0.0f,}, {0.0f, 0.0f,30.0f,0,1,0, 0.0f, 1.0f,}, {-30.0f,0.0f,30.0f,0,1,0, 1.0f, 1.0f,}, }; -------描画処理------ d3ddev->SetStreamSource(0, t_buffer, 0, sizeof(CUSTOMVERTEX)); d3ddev->SetTexture( 0 , texture ); d3ddev->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); ------------------------------------------------------------- テクスチャのサイズは512x512px、ライトはD3DRS_LIGHTNINGでTRUEにしてもFALSEにしても変化なし。 環境は以下のとおりです。 OS: WindowsXP コンパイラ:VisualStudio2005 DirectX9.0

  • JOURNALRECORD 猫パンチでノックアウト

    有名な 猫でもわかるプログロミング Windows SDK編 第2部 第165章 ジャーナルレコードとプレイバックその2 http://homepage2.nifty.com/c_lang/sdk2/sdk_165.htm で勉強させて頂いております 親プログラムのメニューを押下するとDLLのStartRecord()に来ます(1) その中でSetWindowsHookEx()を呼びますが、戻り値のhHookがNULLになってしまいます(2) そこでエラー情報を表示(//*の部分)させると『アクセスが拒否されました』となります SetWindowsHookEx()のアクセス拒否の原因をネットで調べてみましたが何処にも記載が見つかりません もう3日も嵌まり込んでいます、教えてください、お願いします なおコードは親プログラム・DLLともにマルチバイトを指定しております #include <windows.h> #include "hook04x.h" #define MAX_RECORD 2000 HINSTANCE hInst; HHOOK hHook; HWND hWnd; BOOL bHook = FALSE; //フック中 BOOL bRecord = FALSE; //記録済かどうか int n; EVENTMSG MyEvent[MAX_RECORD]; DWORD dwStart; DWORD dwAdjust; int WINAPI DllMain(HINSTANCE hInstance, DWORD fdReason, PVOID pvReserved) { hInst = hInstance; return TRUE; } //単にこのdllのインスタンスハンドルをグローバル変数にコピーしているだけです。 EXPORT BOOL StartRecord()   .........(1) { memset(MyEvent, 0, sizeof(EVENTMSG));//構造体を0で初期化 //*LPVOID lpMsgBuf; //*SetLastError(NO_ERROR); //エラー情報をクリアする hHook = SetWindowsHookEx(WH_JOURNALRECORD, (HOOKPROC)MyHookProc, hInst, 0); ....(2) //*FormatMessage( //エラー表示文字列作成 //*FORMAT_MESSAGE_ALLOCATE_BUFFER | //*FORMAT_MESSAGE_FROM_SYSTEM | //*FORMAT_MESSAGE_IGNORE_INSERTS, //*NULL, GetLastError(), //*MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //*(LPTSTR) &lpMsgBuf, 0, NULL); //*MessageBox(NULL, (const char*)lpMsgBuf, NULL, MB_OK); //メッセージ表示//* LocalFree(lpMsgBuf); if (hHook == NULL) { MessageBox(hWnd, "JOURNALRECORDフックに失敗しました", "Error", MB_OK); return FALSE; } dwStart = GetTickCount(); n = 0; bHook = TRUE; bRecord = TRUE; return TRUE; } EXPORT BOOL StartPlay() { 【途中省略】 EXPORT LRESULT CALLBACK MyHookProc(int nCode, WPARAM wp, LPARAM lp) { EVENTMSG *lpEM; if (nCode == HC_ACTION) { lpEM = (EVENTMSG *)lp; if (lpEM->message == WM_KEYDOWN && LOBYTE(lpEM->paramL) == VK_CANCEL) { PostMessage(hWnd, WM_RECORD_END, 0, 0); PostMessage(hWnd, WM_END_HOOK, 0, 0); return TRUE; } MyEvent[n].hwnd = lpEM->hwnd; MyEvent[n].message = lpEM->message; MyEvent[n].paramH = lpEM->paramH; MyEvent[n].paramL = lpEM->paramL; MyEvent[n].time = lpEM->time; n++; if (n >= MAX_RECORD-1) { PostMessage(hWnd, WM_RECORD_MAX, 0, 0); PostMessage(hWnd, WM_END_HOOK, 0, 0); return TRUE; } return TRUE; } return CallNextHookEx(hHook, nCode, wp, lp); }

  • インストールしたgemがrequireできない

    色々模索したのですが、解決策がみつかりませんでしたので、質問させていただきます。 何卒、宜しくお願いします。 現在CentOSにて、rubyをいじっており、gemでselenium-webdriverをインストールしたのですが、 別のファイル(sample.rb)からrequireしても `require': cannot load such file -- selenium-webdriver (LoadError)となってしまいます。 試しに別のファイルをrequireしてみたらできたので、gemの問題だと思っています。 以下のようにsample.rbに書きました。 require 'rubygems' require 'selenium-webdriver' ・ ・ ・ また、gem listにもはいっているため何が原因なのかよくわかりません。 ご参考までにgemの環境を以下に書きます。 RubyGems Environment: - RUBYGEMS VERSION: 1.4.2 - RUBY VERSION: 1.9.3 (2012-02-16 patchlevel 125) [i686-linux] - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9.1 - RUBY EXECUTABLE: /usr/local/bin/ruby - EXECUTABLE DIRECTORY: /usr/local/bin - RUBYGEMS PLATFORMS: - ruby - x86-linux - GEM PATHS: - /usr/local/lib/ruby/gems/1.9.1 - /root/.gem/ruby/1.9.1 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/ 1点気になりますのが、gemのパスです。 下記URLを参考にしました。 http://d.hatena.ne.jp/amacou/20090206/1233929888 $which gem /usr/local/bin/gem $sudo which gem /usr/bin/gem となっているため、パスを変えようと思いましたが、 サイトの通りではパスが変わりませんでした。 よくわからないということもありまして、/usr/bin/gemを削除してみましたがもちろんrequireできません。 ここからどのようにしたらよいかどうかご教授いただけますと幸いです。 以上、宜しくお願い申し上げます。

    • ベストアンサー
    • Ruby
  • Excel VBAで参照先の変換

    ExcelのVBAでBook1.xlsxのSheet2とSheet2を参照しているSheet3をBook2.xlsxにコピーするプログラムを作成しているのですが、Sheet3のコピーが思うように行きません。 具体的にはSheet3が参照しているSheet2をBook1.xlsxからBook2.xlsxに変換する所です。 下記のようなプログラムを作成しました。 strDirectory = ThisWorkbook.Path strSrcBook = "Book1.xlsx" Workbooks.Open Filename:=strDirectory & "\" & strSrcBook, ReadOnly:=True Set wsSrc = Workbooks(strSrcBook).Worksheets("Sheet2") Set wsDst = ThisWorkbook.Worksheets("Sheet1") wsSrc.Copy After:=wsDst Set wsSrc = Workbooks(strSrcBook).Worksheets("Sheet3") Set wsDst = ThisWorkbook.Worksheets("Sheet2") wsSrc.Copy After:=wsDst wsDst.Range("D:D").Replace "[*]", "" Workbooks(strSrcBook).Close SaveChanges:=False Sheet3のD列がSheet2を参照しているのですが、上記を実行すると開くファイルの選択を要求され、キャンセルし続けると実行が完了しますが、コピーされたSheet3の参照先が正しく変換されずエラー表示となってしまいます。 「wsDst.Range("D:D").Replace "[*]", ""」が完了する前に「Workbooks(strSrcBook).Close SaveChanges:=False」が実行されてしまうのが原因と思われるのですが、実際のプログラムでは開くBookは1つではなくSheet1に記載したリストを順番に開いてコピーするという事を行っている為、作業が完了したBookは閉じるようにしたいです。 どの様に修正すれば「wsDst.Range("D:D").Replace "[*]", ""」が完了するのを待って、「Workbooks(strSrcBook).Close SaveChanges:=False」が実行されるように出来るのでしょうか?

  • ファイルのエクスポート

    携帯電話のことなんですが、miniSDカードにエクスポートができないファイルが非常に多くて困っています。 エクスポートするにはどうしたらいいでしょうか? よく、パソコンで携帯電話を操作するというツールが売られているんですが、あれを使えば何とかなるのでしょうか? ちなみに機種はFOMAのN701iです。

  • 大きなmysqlファイルのエクスポート方法

    コマンドラインが使えない共有レンタルサーバーを使用しております。 大きなmysqlファイルでもインポートできるbigdumpというものを見つけましたが、こちらはインポート用のみのようです。 http://www.ozerov.de/bigdump/ 現在、レンタルサーバー上のmysqlが大きくなり過ぎて一括ではエクスポートもできなくなっております。 そこで質問なのですが、テーブルを分割してエクスポートする以外に、大きなmysqlでもエクスポートできる何かbigdumpのようなものは存在するのでしょうか? よろしくお願いいたします。