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

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

新規登録して質問してみよう
ただいま回答率
85.46%
OpenGL ES

携帯電話のような組込み機器のためにデザインされたOpenGLのサブセットです。

COCOS2D-X

COCOS2D-Xは、 2Dゲームを手軽に開発できるフレームワークのことです。 iPhone(iOS)向け、Android等に対応しており、 実質ワンソースで開発が可能です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

Q&A

1回答

6131閲覧

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

ino_kazu1412

総合スコア11

OpenGL ES

携帯電話のような組込み機器のためにデザインされたOpenGLのサブセットです。

COCOS2D-X

COCOS2D-Xは、 2Dゲームを手軽に開発できるフレームワークのことです。 iPhone(iOS)向け、Android等に対応しており、 実質ワンソースで開発が可能です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

0グッド

0クリップ

投稿2014/12/08 23:06

私は今、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

lang

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

以下3dsmax側の設定

![イメージ説明]WIDTH:600
![イメージ説明]WIDTH:600

どなたかご助力をよろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

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

投稿2015/01/09 08:31

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ino_kazu1412

2015/01/11 11:15

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問