SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Sprite3D Tips
@第5回cocos2d-x勉強会
株式会社アカツキ 河野 洋志
自己紹介
• 河野 洋志(こうの ひろし)
• 株式会社アカツキ エンジニア
• サウザンドメモリーズを担当
• 主にサーバサイド
• Ruby on Rails, MySQL, Redis, AWS, etc…
• cocos2d-x…? C++…?
残念ながら…
• サウザンドメモリーズはcocos2d-x製ではありま
せん
• 弊社ではcocos2d-xを利用した別のプロジェクト
が進行中です!
!?
• ということで…
• 本来開発・運用で得られた知見をお話できれば
ベストだったのですが知見ゼロ
• cocos2d-x界隈で最近おもしろそうなものないか
なーということで ver 3.1 で新しく追加された
Sprite3Dについて簡単にご紹介したいと思います
目次
• cocos2d-x Ver 3.1で追加されたSprite3Dクラス
の紹介
• Sprite3Dの使い方
• シェーダー拡張
• Sprite3Dで(まだ?)できないこと
目次
• cocos2d-x Ver 3.1で追加されたSprite3Dクラス
の紹介
• Sprite3Dの使い方
• シェーダー拡張
• Sprite3Dで(まだ?)できないこと
Sprite3Dとは
• 3Dモデルをスプライトとして扱うことができる
クラス
• 対応フォーマットは .obj
• 呼び出し時にテクスチャ画像をsetする
auto model3d = Sprite3D::create("sample.obj");!
model3d->setTexture(“sample.png”);
API
• 3D APIはもちろん、これまでの2Dスプライトで
使えたAPIはほとんど使える
• Sprite3DクラスはSpriteクラス同様Nodeクラス
を継承しているため
• 移動、拡縮、その他アクションなど
Position3D
• z軸は手前が正、奥が負
• パースがかかっているので、設定したx, yより
も手前側は画面縁に、奥側は画面中央寄りに
配置される
auto model_a = Sprite3D::create("sample.obj");!
model_a->setTexture("sample.png");!
model_a->setPosition3D(Vec3(visibleSize.width / 2, visibleSize.height * 2 / 3, 400));!
this->addChild(model_a);!
!
auto model_b = Sprite3D::create("samle.obj");!
model3_b->setTexture("samle.png");!
model3_b->setPosition3D(Vec3(visibleSize.width / 2, visibleSize.height / 2, 0));!
this->addChild(model_b);!
!
auto model_c = Sprite3D::create("samle.obj");!
model3_c->setTexture("samle.png");!
model3_c->setPosition3D(Vec3(visibleSize.width / 2, visibleSize.height * 1 / 3, -400));!
this->addChild(model_c);
model_a
model_b
model_c
Rotation3D
• Vec3を渡して3次元的なrotationを設定できる
auto model_a = Sprite3D::create("sample.obj");!
model_a->setTexture("sample.png");!
model_a->setRotation3D(Vec3(90.0f, 0.0f, 0.0f));!
model_a->setPosition3D(Vec3(visibleSize.width / 2, visibleSize.height * 2 / 3, 0));!
model_a->setScale(15);!
this->addChild(model_a);!
!
auto model_b = Sprite3D::create("sample.obj");!
model_b->setTexture("sample.png");!
model_b->setRotation3D(Vec3(0.0f, 90.0f, 0.0f));!
model_b->setPosition3D(Vec3(visibleSize.width / 2, visibleSize.height / 2, 0));!
model_b->setScale(15);!
this->addChild(model_b);!
!
auto model_c = Sprite3D::create("sample.obj");!
model_c->setTexture("sample.png");!
model_c->setRotation3D(Vec3(0.0f, 0.0f, 90.0f));!
model_c->setPosition3D(Vec3(visibleSize.width / 2, visibleSize.height / 3, 0));!
model_c->setScale(15);!
this->addChild(model_c);
移動・拡縮
• 移動
!
!
• 拡縮
void HelloWorld::onTouchesEnded(const std::vector<cocos2d::Touch *> &touches, cocos2d::Event *event)!
{!
for (auto touch: touches) {!
auto location = touch->getLocation();!
auto action = MoveTo::create(0.5f, location);!
model3d->runAction(action);!
}!
}
void HelloWorld::onTouchesEnded(const std::vector<cocos2d::Touch *> &touches, cocos2d::Event *event)!
{!
for (auto touch: touches) {!
auto location = touch->getLocation();!
auto seq = Sequence::create(ScaleTo::create(0.1f, 75.f),!
ScaleTo::create(0.1f, 30.f),!
ScaleTo::create(0.1f, 45.f), NULL);!
model3d->runAction(seq);!
}!
}
回転
• z軸方向にしか回転してくれない
!
!
• Vec3クラスを渡すと3次元的に回転できる
void HelloWorld::onTouchesEnded(const std::vector<cocos2d::Touch *> &touches, cocos2d::Event *event)!
{!
for (auto touch: touches) {!
auto location = touch->getLocation();!
auto action = RotateBy::create(0.5f, 360);!
model3d->runAction(action);!
}!
}
void HelloWorld::onTouchesEnded(const std::vector<cocos2d::Touch *> &touches, cocos2d::Event *event)!
{!
for (auto touch: touches) {!
auto location = touch->getLocation();!
auto action = RotateBy::create(0.5f, Vec3(location.x, location.y, 30));!
model3d->runAction(action);!
}!
}
回転(余談)
!
• 上記メソッドを使うとペラペラになって面白い
RotateBy::create(float duration, float deltaAngleZ_X, float deltaAngleZ_Y);
目次
• cocos2d-x Ver 3.1で追加されたSprite3Dクラス
の紹介
• Sprite3Dの使い方
• シェーダー拡張
• Sprite3Dで(まだ?)できないこと
シェーダー拡張
• シェーダーを拡張することでトゥーンレンダリン
グ(っぽいこと)などができるようになる
シェーダ拡張
• cpp-testの中に含まれるEffect3DOutlineクラスにつ
いて解説していきます
• cocos2d-x/tests/cpp-tests/Classes/Sprite3DTest
• 3Dプログラミングについては詳しくないので詳しい
ところまでソースは追いません…(追えませんでした)
• 間違いがあれば是非指摘してください
3DEffectクラス
• 3Dエフェクトに関する抽象クラス
class Effect3D : public Ref!
{!
public:!
virtual void drawWithSprite(EffectSprite3D* sprite, const Mat4 &transform) = 0;!
protected:!
Effect3D() : _glProgramState(nullptr) {}!
virtual ~Effect3D()!
{!
CC_SAFE_RELEASE(_glProgramState);!
}!
protected:!
GLProgramState* _glProgramState;!
};!
• OpenGLシェーダを格納する _glProgramState
プロパティを持つ
• シェーダを描画する drawWithSprite() メソッド
3DEffectOutlineクラス
• シェーダーを読み込んで描画を実行するクラス
class Effect3DOutline: public Effect3D!
{!
public:!
static Effect3DOutline* create();!
!
void setOutlineColor(const Vec3& color);!
!
void setOutlineWidth(float width);!
!
void drawWithSprite(EffectSprite3D* sprite, const Mat4 &transform);!
!
protected:!
!
Effect3DOutline();!
virtual ~Effect3DOutline();!
!
bool init();!
!
Vec3 _outlineColor;!
float _outlineWidth;!
public:!
static const std::string _vertShaderFile;!
static const std::string _fragShaderFile;!
static const std::string _keyInGLProgramCache;!
static GLProgram* getOrCreateProgram();!
!
};!
• 初期化時にシェーダーを
読み込む
• drawWithSprite()の実装
もこのクラスにあります
シェーダ
• Resources/Shaders3D 以下に配置
• OutLine.frag
• OutLine.vert
uniform vec3 OutLineColor;!
uniform vec4 u_color;!
!
void main(void)!
{!
gl_FragColor = vec4(OutLineColor,1.0) * u_color;!
}
attribute vec4 a_position;!
attribute vec3 a_normal;!
uniform float OutlineWidth;!
!
void main(void)!
{!
vec4 pos = CC_MVPMatrix * a_position;!
vec4 normalproj = CC_MVPMatrix * vec4(a_normal, 0);!
normalproj = normalize(normalproj);!
pos.xy += normalproj.xy * (OutlineWidth * (pos.z * 0.5 + 0.5));!
!
gl_Position = pos;!
}
EffectSprite3Dクラス
• Sprite3Dクラスを継承して3DEffectを追加できる
ように拡張
class EffectSprite3D : public Sprite3D!
{!
public:!
static EffectSprite3D* createFromObjFileAndTexture(const std::string& objFilePath, const std::string& textureFilePath);!
void setEffect3D(Effect3D* effect);!
void addEffect(Effect3D* effect, ssize_t order);!
void eraseEffect(Effect3D* effect);!
ssize_t getEffectCount() const;!
Effect3D* getEffect(ssize_t index) const;!
virtual void draw(Renderer *renderer, const Mat4 &transform, bool transformUpdated) override;!
protected:!
EffectSprite3D();!
virtual ~EffectSprite3D();!
!
std::vector<std::tuple<ssize_t,Effect3D*,CustomCommand>> _effects;!
Effect3D* _defaultEffect;!
CustomCommand _command;!
};!
EffectSprite3Dクラス
• 使い方
auto model = EffectSprite3D::createFromObjFileAndTexture("sample.obj", "sample.png");!
model->setScale(45);!
model->setRotation3D(Vec3(265.0f, 265.0f, 265.0f));!
model->setPosition3D(Vec3(visibleSize.width / 2, visibleSize.height / 2, 0));!
!
auto effect = Effect3DOutline::create();!
effect->setOutlineColor(Vec3(1,1,0));!
effect->setOutlineWidth(0.03f);!
model->addEffect(effect, 1);!
!
this->addChild(model);
目次
• cocos2d-x Ver 3.1で追加されたSprite3Dクラス
の紹介
• Sprite3Dの使い方
• シェーダー拡張
• Sprite3Dで(まだ?)できないこと
できないこと
• タップイベントの取得
• getBoundBox()でRectが取得できない
• 物理演算
• アニメーション
• モデルの表示、アクション以上のことはできない
auto position = model3d->getPosition3D();!
CCLOG("position: X:%f Y:%f Z:%f", position.x, position.y, position.z);!
auto rect = model3d->getBoundingBox();!
CCLOG("bounding box: MinX:%f MaxX:%f MinY:%f MaxY:%f", rect.getMinX(), rect.getMaxX(), rect.getMinY(), rect.getMaxY());!
!
// cocos2d: position: X:320.000000 Y:480.000000 Z:0.000000!
// cocos2d: bounding box: MinX:320.000000 MaxX:320.000000 MinY:480.000000 MaxY:480.000000
おや、cocos2d-xのようすが…
期待ag…と思ったらマージされてた
https://github.com/cocos2d/cocos2d-x/pull/7085
こいつ…動くぞ!
Animation3D
• Animate3DクラスはActionとして実装されている
• Animation3DからAction(Animate3D)をcreateする
• .c3t フォーマットに対応
auto animation = Animation3D::getOrCreate("Sprite3DTest/girl.c3t");!
if (animation)!
{!
auto animate = Animate3D::create(animation); !
auto spawn = Spawn::create(animate, RotateBy::create(animation->getDuration(), Vec3(0.0f, 90.0f, 0.0f)), NULL);!
sprite->runAction(RepeatForever::create(spawn));!
}
まとめ
• Sprite3Dについて簡単に紹介しました
• Position, Rotate, Action, etc…
• つい先日アニメーションもマージされたので、
今後に期待
• でもここまでやるならUni(ry
参考
• cocos2d-x公式のサンプルプロジェクト
• https://github.com/cocos2d/cocos2d-x/tree/
v3/tests/cpp-tests/Classes/Sprite3DTest
• EarthWarrior3D
• https://github.com/chukong/EarthWarrior3D
ご清聴ありがとうございました

Más contenido relacionado

La actualidad más candente

cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島Tomoaki Shimizu
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門Kohki Miki
 
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Tomoaki Shimizu
 
cocos2d-xとCocosBuilderでゲームを作ってみよう
cocos2d-xとCocosBuilderでゲームを作ってみようcocos2d-xとCocosBuilderでゲームを作ってみよう
cocos2d-xとCocosBuilderでゲームを作ってみようTomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Tomoaki Shimizu
 
cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilderTomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Tomoaki Shimizu
 
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋Tomoaki Shimizu
 
Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!Tomoaki Shimizu
 
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからCocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからAkihiro Matsuura
 
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Tomoaki Shimizu
 
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBCocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBTomoaki Shimizu
 
cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携Tomoaki Shimizu
 
cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用Tomoaki Shimizu
 
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Tomoaki Shimizu
 
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Tomoaki Shimizu
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 

La actualidad más candente (20)

Cocos最新情報(2015/6/30)
Cocos最新情報(2015/6/30)Cocos最新情報(2015/6/30)
Cocos最新情報(2015/6/30)
 
cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
 
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
Cocos2d-x(JS) ハンズオン #07「新エディタ Cocos Creator v1.0」
 
cocos2d-xとCocosBuilderでゲームを作ってみよう
cocos2d-xとCocosBuilderでゲームを作ってみようcocos2d-xとCocosBuilderでゲームを作ってみよう
cocos2d-xとCocosBuilderでゲームを作ってみよう
 
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
 
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
Cocos2d-x(JS) ハンズオン #06「3rd SDKの導入を簡単にするSDKBOX」
 
cocos2d-xとCocosBuilder
cocos2d-xとCocosBuildercocos2d-xとCocosBuilder
cocos2d-xとCocosBuilder
 
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
Cocos2d-x(JS) ハンズオン #03「複数あるボタンの使い分け」
 
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
Cocos2d-x(JS) ハンズオン #01 「はじめてのCocos2d-x (JS)」
 
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋
 
Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!
 
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからCocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
 
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
Cocos2d-x v3.2を利用してシューティングゲームを作ろう!
 
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBCocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSB
 
cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携cocos2d-xとネイティブ間の連携
cocos2d-xとネイティブ間の連携
 
cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用cocos2d-x 3.0 新しい物理演算クラスの利用
cocos2d-x 3.0 新しい物理演算クラスの利用
 
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
Cocos2d-x(JS) ハンズオン #11「2D物理エンジン」
 
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
Cocos2d-xにおけるモバイル開発〜将来を見据えた開発〜
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
 

Similar a Cocos2d x-sprite3d

㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!Nishida Kansuke
 
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介Tomoaki Shimizu
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesTakeshi Komiya
 
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Tomoaki Shimizu
 
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社Game Tools & Middleware Forum
 
3 dプリンタの使い方
3 dプリンタの使い方3 dプリンタの使い方
3 dプリンタの使い方mgwsuzuki
 
Cocos2d-x Console @Cocos Talks #3
Cocos2d-x Console  @Cocos Talks #3Cocos2d-x Console  @Cocos Talks #3
Cocos2d-x Console @Cocos Talks #3Akihiro Matsuura
 
Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話Kohki Miki
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーAkihiro Matsuura
 
3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!vi-iv
 
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」nyagasuki
 
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲームCocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲームNorio Akagi
 
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築についてTomoaki Shimizu
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!Yuichi Higuchi
 

Similar a Cocos2d x-sprite3d (20)

㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!㉒初期プロジェクトを改造!
㉒初期プロジェクトを改造!
 
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
 
Cocosサービスについて
CocosサービスについてCocosサービスについて
Cocosサービスについて
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介
 
Cocos2dx 8hour
Cocos2dx 8hourCocos2dx 8hour
Cocos2dx 8hour
 
Cocos最新情報(2015/7/23)
Cocos最新情報(2015/7/23)Cocos最新情報(2015/7/23)
Cocos最新情報(2015/7/23)
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
 
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
 
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
 
Cocos2d platforms
Cocos2d platformsCocos2d platforms
Cocos2d platforms
 
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
GTMF2015: Cocos最新情報と日本展開 | Chukong Technologies Japan株式会社
 
3 dプリンタの使い方
3 dプリンタの使い方3 dプリンタの使い方
3 dプリンタの使い方
 
Cocos2d-x Console @Cocos Talks #3
Cocos2d-x Console  @Cocos Talks #3Cocos2d-x Console  @Cocos Talks #3
Cocos2d-x Console @Cocos Talks #3
 
Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
 
3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!
 
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
 
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲームCocos2d-x(v3.x)で作るマルチプラットフォームゲーム
Cocos2d-x(v3.x)で作るマルチプラットフォームゲーム
 
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、iOSアプリの開発環境構築について
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
 

Más de aktsk

スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介aktsk
 
RoRとAWSで100,000Req/Minを処理する
RoRとAWSで100,000Req/Minを処理するRoRとAWSで100,000Req/Minを処理する
RoRとAWSで100,000Req/Minを処理するaktsk
 
Deploy Rails Application on Docker with Elasticbeanstalk
Deploy Rails Application on Docker with ElasticbeanstalkDeploy Rails Application on Docker with Elasticbeanstalk
Deploy Rails Application on Docker with Elasticbeanstalkaktsk
 
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsugアカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsugaktsk
 
黒板プロジェクト
黒板プロジェクト黒板プロジェクト
黒板プロジェクトaktsk
 
千メモUiの秘密
千メモUiの秘密千メモUiの秘密
千メモUiの秘密aktsk
 
20130719 始めるdev ops
20130719 始めるdev ops20130719 始めるdev ops
20130719 始めるdev opsaktsk
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Developmentaktsk
 

Más de aktsk (8)

スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
スマホアプリにおけるマルチプレイアクションゲーム開発の実例紹介
 
RoRとAWSで100,000Req/Minを処理する
RoRとAWSで100,000Req/Minを処理するRoRとAWSで100,000Req/Minを処理する
RoRとAWSで100,000Req/Minを処理する
 
Deploy Rails Application on Docker with Elasticbeanstalk
Deploy Rails Application on Docker with ElasticbeanstalkDeploy Rails Application on Docker with Elasticbeanstalk
Deploy Rails Application on Docker with Elasticbeanstalk
 
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsugアカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
 
黒板プロジェクト
黒板プロジェクト黒板プロジェクト
黒板プロジェクト
 
千メモUiの秘密
千メモUiの秘密千メモUiの秘密
千メモUiの秘密
 
20130719 始めるdev ops
20130719 始めるdev ops20130719 始めるdev ops
20130719 始めるdev ops
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Development
 

Cocos2d x-sprite3d