Cocos2d-x 3D Extension

Post on 14-Apr-2017

3.454 views 0 download

Transcript of Cocos2d-x 3D Extension

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

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

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

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

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

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

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

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

MacPeople 2014年7月号

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

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

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

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

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

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

�  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

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

�  Cocos2d-x本(v3.0)

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

�  Cocos2d-x連載(雑誌)

目次

�  Cocos2d-x 3D Extensionとは

�  Cocos2d-x 3D Extensionデモ

�  3Dモデルについて

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

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

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フォーマット

実際にさわってみよう!

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

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

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

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

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

�  setScale

�  setColor, setOpacity

�  setVisible

�  setTexture

etc...

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

アニメーション �  ScaleTo, ScaleBy

�  RotateTo, RotateBy

�  Blink

�  TintTo, TintBy

�  FadeIn, FadeOut

�  Sequence, Spawn, Repeat, RepeatForever

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

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

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

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

演習

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

おわり

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