質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.12%

【cocos2d-x】3Dモデルの作成→FBX形式への変換について【3dsmax】

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 4,261

ino_kazu1412

score 12

私は今、cocos2d-x ver3.2 を使用してゲーム開発を行っています。
その際ver3.2から追加された機能であるSprite3Dでc3t・c3bファイル(3Dモデルデータ)の読み込み・表示・モーション再生を実装したいと思っています。
しかし、作成した3Dモデルデータをc3t・c3bファイルに変換した時に読み込みエラーが発生してしまいます。
サンプルで付属していたc3bファイルの読み込み・表示・モーション再生は成功しているので、ゲームのプログラム側ではなく3Dモデリングソフトから.fbx形式で書き出す時の設定ミスではないか?と考えているのですが手詰まり状態となっています。

使用環境
cocos2d-x ver3.2
android-ndk-r9d
android-sdk-r24
apache-ant-1.9.4

Windows
3dsmax 2015
VisualStudio 2013 Professional

mac
Xcode 6.1

code
HelloWorldScene.cpp
bool HelloWorld::init()
{
    // cocos2d-x側の初期化
    if ( !Layer::init() )
    {
        return false;
    }
    // 背景を白に設定
    auto _bg = LayerColor::create(Color4B::WHITE, visibleSize.width, visi    bleSize.height);
    // レイヤーに登録
    this -> addChild(_bg);
    // モデルデータの読み込み
    auto sprite3d = Sprite3D::create( "test.c3t");
    // テクスチャをセット
    sprite3d -> setTexture( "test.png");
    // レイヤーに登録
    addChild( sprite3d);
    // アニメーション情報をスプライトに登録
    auto animation = Animation3D::create( "sarari.c3b");
    auto animate = Animate3D::create( animation, 1.933f, 2.8f);
    sprite3d -> runAction( RepeatForever::create( animate));
    // 画面のほぼ中心に表示
    sprite3d -> setPosition( Vec2( visibleSize.width / 2, visibleSize.height / 3));
    // 奥行きはとりあえず初期値
    sprite3d -> setPositionZ( 0.0);
    // サイズを適当に拡大
    sprite3d -> setScale( 14.0f);
    // 表示されているモデルを回転させる
    auto rotation = RotateBy::create( 10, Vec3(0, 360, 0));
    sprite3d -> runAction( RepeatForever::create( rotation));
}

以下3dsmax側の設定

イメージ説明イメージ説明
どなたかご助力をよろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

cocosは使ったことはないんですけれども、DirectX11で使用する3DモデルデータのファイルフォーマットをFBX2014形式で吐き出すと不具合が起きました。
そこで、FBX2013形式で吐き出すと正常に動作したので一度ファイルフォーマットを確認されてみてはどうでしょうか

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/01/11 20:15

    ご回答いただきありがとうございます。
    一応この案件は別の手法を取ることでこの問題は回避したのですが、私個人として解決させたいので、一度試してみます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる