18
Cocos2d-x 3D Extensions 株式会社TKS2 清水友晶

Cocos2d-x 3D Extension

Embed Size (px)

Citation preview

Page 1: Cocos2d-x 3D Extension

Cocos2d-x 3D Extensions 株式会社TKS2 清水友晶

Page 2: Cocos2d-x 3D Extension

清水 友晶 �  株式会社TKS2 スマートフォンアプリ開発 Webコンテンツ開発

�  日本cocos2d-xユーザ会代表 講演活動 執筆活動

�  チラ裏開発メモ: http://tks2.net/memo

�  SlideShare: http://www.slideshare.net/doraemonsss

Page 3: Cocos2d-x 3D Extension

�  2013/6/25発売 �  2,800円 + 税 �  400ページ

�  2013/6/18発売 �  2,980円 + 税 �  312ページ

日経ソフトウェア 2014年2月号

MacPeople 2014年7月号

Page 4: Cocos2d-x 3D Extension

�  日本cocos2d-xユーザ会 http://cocos2d-x.jp

�  cocos2d-x開発元Chukong Technologies社公認

�  cocos2d-xのための自由なコミュニティー

�  入門者から上級者まで誰でもOK!!ぜひご参加を! (1700人以上参加)

�  cocos2d-xに関することなら何でも投稿できます!!

�  https://www.facebook.com/groups/cocos2dxjp/

Page 5: Cocos2d-x 3D Extension

�  6/25 GTMF 2014 in 大阪

�  7/18 GTMF 2014 in 東京

�  7/24 第22回 shinjuku.cocos2d-x

�  7/30 第6回 cocos2d-x開発事例勉強会

�  8/14 第23回 shinjuku.cocos2d-x

Page 6: Cocos2d-x 3D Extension

�  7/26 Cocos2d-xゲーム開発実践 セミナーブック

�  Cocos2d-x本(v3.0)

�  Cocos2d-x逆引き辞典(v3.0)

�  Cocos2d-x連載(雑誌)

Page 7: Cocos2d-x 3D Extension

目次

�  Cocos2d-x 3D Extensionとは

�  Cocos2d-x 3D Extensionデモ

�  3Dモデルについて

�  実際にさわってみよう!

Page 8: Cocos2d-x 3D Extension

Cocos2d-x 3D Extensionとは �  Cocos2d-x (2D) 上で3Dモデルを表示・動作できるようにするもの �  3Dモデルは、objフォーマットとc3bフォーマットをサポート (後述) �  一般的な3Dモデリングソフトで用意できる

�  Cocos2d-x 3.1より、Sprite3Dクラスが追加された

�  Cocos2d-x 3.2より、3Dスケルタルアニメーションがサポートされた

�  参考になるソース �  CPP Tests ‒ Sprite3DTest.cpp �  EarthWarrior3D

Page 9: Cocos2d-x 3D Extension

Cocos2d-x 3D Extension デモ

Page 10: Cocos2d-x 3D Extension

3Dモデルについて �  サポートしているファイル形式

�  objフォーマット �  一般的な3Dモデルの形式 �  Sprite3Dクラスではアニメーション不可

�  c3bフォーマット(Cocos 3D Binary) �  fbxフォーマット(Autodesk)を、Cocos2d-x向けに変換した形式

�  Sprite3Dクラスでアニメーション可 �  fbxフォーマット   ↓ (fbx-convツールにより変換) c3bフォーマット

�  c3tフォーマット(Cocos 3D Text) �  JSONフォーマット

Page 11: Cocos2d-x 3D Extension

実際にさわってみよう!

� 本日利用する3Dモデル cocos2d-x-3.2/tests/cpp-tests/Resources

Page 12: Cocos2d-x 3D Extension

3Dモデルの表示 �  Sprite3Dクラス

�  インスタンスはcreate関数で生成する

Page 13: Cocos2d-x 3D Extension

Sprite3Dクラス �  setPosition3D(setPositionはZ値を変更しない)

�  setRotation3D(setRotationはZ値に相当する)

�  setScale

�  setColor, setOpacity

�  setVisible

�  setTexture

etc...

Page 14: Cocos2d-x 3D Extension

Sprite3Dの表示の注意 �  Positionによって、表示のされ方が異なる

Page 15: Cocos2d-x 3D Extension

アニメーション �  ScaleTo, ScaleBy

�  RotateTo, RotateBy

�  Blink

�  TintTo, TintBy

�  FadeIn, FadeOut

�  Sequence, Spawn, Repeat, RepeatForever

Page 16: Cocos2d-x 3D Extension

3Dモデルのアニメーション �  Animation3Dクラスによりアニメーションを読み込む

�  Animate3Dクラスによりアクションさせる

�  Animate3D::create(animation, 0.f, 1.933f);

�  Animate3D::create(animation, 1.933f, 2.8f);

Page 17: Cocos2d-x 3D Extension

演習

� カメが画面を左右に行き来するアニメーションを作成しましょう

Page 18: Cocos2d-x 3D Extension

おわり

�  ありがとうございました