SlideShare a Scribd company logo
「さわってみよう Firefox OS」発表作品


      3Dモデルビューア

  Firefox OSアプリ
   「ModeView」
     制作者:秋葉秀樹
秋葉 秀樹

広告業界に20年間身を置き、現在はJavaScriptやFlashの技術を

使ったインタラクティブコンテンツから3DCG制作まで様々。

現在はデザイナー向けの講演活動、またWeb Designing他、寄稿な

ど多くの執筆活動も行っている。

HTML5関連の関西コミュニティにもコアメンバーとして参加。

株式会社インヴォーグのテクニカルアドバイザー兼CTOに就任。
Firefox OSとは
         アプリケーションはすべて
   Web標準技術(HTMLベース)のみで開発するOS


よくわからない方は先に、今回のイベントページをどうぞ!
http://designers-hack.net/event/004firefoxos/


 今回はハッカソンなのに、たった一人でつくってみました 
ホーム   Blenderでつくったモデルを指定
別のモデルが呼び出された   背景色をピンクに   照明の色を青に
仕様
Blenderで3Dモデリング
↓
BlenderからThree.jsで読みやすいJSフォーマットで出力
↓
アプリでローディング、表示
↓
ライティング色、背景色をユーザが変えることができる




  読み込む3Dモデルを選択
      背景色を変更
         ライティングを変更
使ったアプリケーション




FirefoxとB2G … 当然!PCで検証するため
Blender … モデリングソフト(UIが取っつきにくいけどフリー)
Dreamweaver … コーディング(もう最近他に乗り換えたい)
Photoshop … アイコンなどの素材
LESS … CSSの値が多く共通しているので、変数などを使った
使ったライブラリ

jQuery 1.8.2   Three.js
Blender側の準備

Three.js内にある
 three.js/utils/exporters/blender/2.63/scripts/addons/
 io_mesh_threejs

この「io_mesh_threejs」フォルダを



Applications/blender/Contents/exporters/blender/2.63/scripts/
addons/io_mesh_threejs/MacOS/2.63/scripts/addons/ここ


に入れることで、Blenderのエクスポートに
「Three.js」が追加される
BlenderよりThree.jsと親和性が高いフォーマットで書き出せる
出力されたモデルデータ
    model.js




 どうやらJSONっぽい
HTML5マークアップ

header

canvas(Three.jsが生成)
div
(フッタのリストナビゲーションをタップしてフェードインしな
がらあがってくるアニメーションはCSS3のTransitionsを使用)



li
(border-radiusによる丸型ボタン)



 footer
サムネイル群は最初見えない状態
                  <div	 id="models"	 class="picker">
                  <!--	 モデル変更用サムネイルをli要素で	 -->
                  </div>

                  <div	 id="bgColor"	 class="picker">
                  <!--	 背景色変更用サムネイルをli要素で	 -->
                  </div>

                  <div	 id="lightColor"	 class="picker">
                  <!--	 照明色変更用サムネイルをli要素で	 -->	 
                  </div>


                  /*	 CSS	 */
                  .picker	 {
                    position:	 absolute;
                    bottom:	 -200px;
                    opacity:	 0;
                    -moz-transition:	 .3s;
サムネイルを含むdivはすべて
この辺りに…⋯
                    …⋯
                  }
表示させたいパネルのdiv要素にだけ
                   クラス名「activePanel」をつける
                  <div	 id="models"	 class="picker">
                  <!--	 モデル変更用サムネイルをli要素で	 -->
                  </div>

                  <div	 id="bgColor"	 class="picker">
                  <!--	 背景色変更用サムネイルをli要素で	 -->
                  </div>

                  <div	 id="lightColor"	 class="picker	 
                  activePanel">
                  <!--	 照明色変更用サムネイルをli要素で	 -->	 
                  </div>
                  /*	 CSS	 */
                  .activePanel	 {
                  	 	 bottom:	 80px;
                  	 	 opacity:	 1;
   CSSによる動き       }

この場合div#lightColorにクラスがついたので、bottomとopacityが
       Transitonsにより変動してアニメーションする
つまりCSSクラスactivePanelがついた
                 divだけがアニメーション表示される
                 <div	 id="models"	 class="picker">
                 <!--	 モデル変更用サムネイルをli要素で	 -->
                 </div>

                 <div	 id="bgColor"	 class="picker">
                 <!--	 背景色変更用サムネイルをli要素で	 -->
                 </div>

                 <div	 id="lightColor"	 class="picker	 
                 activePanel">
                 <!--	 照明色変更用サムネイルをli要素で	 -->	 
                 </div>

                 #lightColorにだけactivePanelクラスが
                 ついた状態をしめす
                 ↓
     CSSによる動き
                 #lightColorがせり上がってくる

また消すときは、クラスを外すだけでOK、「下ろすアニメーション」は書く必要はない
HTML/CSS/JavaScriptでUIアニメーションを行う場合
CSSのTransitionsやAnimationsを有効に使い、
JavaScriptは移動するタイミングでCSSクラスをつけるために
使うことを優先して考える。




つまりjQueryのanimate()などを使うより先にCSSの活用を検討する。
状況に応じて判断しよう。
LESSは知り尽くさなくても、変数だけ理解するだけでもとても助かる。
なぜならボタンサイズなど、共通の値で設計(デザイン)するケースが
UIデザインの世界では多いから、何度もブラッシュアップするのに役立つ。


       共通の値が多いので変数を使用
                                         CSS
@btnSize:	 30px;

.closeBtn	 {                       .closeBtn	 {
	  background:	 #F00;              	 	 background:	 #F00;
	  width:	 @btnSize;               	 	 width:	 30px;
	  height:	 @btnSize;              	 	 height:	 30px;
	  border-radius:	 @btnSize;       	 	 border-radius:	 30px;
	  color:	 white;                  	 	 color:	 white;
	  position:	 absolute;            	 	 position:	 absolute;
	  right:	 @btnSize	 /	 2;         	 	 right:	 15px;
	  top:	 -@btnSize	 /	 2;          	 	 top:	 -15px;
	  text-align:	 center;            	 	 text-align:	 center;
	  -moz-box-sizing:	 border-box;   	 	 -moz-box-sizing:	 border-box;
}                                  }
HTMLベースでFirefox OSアプリをつくった感想

遷移(Transitions)などはCSSを優先して使ってみよう

他のブラウザのことを考えないでいいのでプリフィックスは-moz-だけ

Webサイト制作で慣れ親しんだ言語のままアプリをつくれる

敷居が高いのは実機に焼く作業(ミスターB2Gに焼いてもらった)

動作確認がブラウザでOKなので、トライアンドエラーがとてもラク
3Dモデルビューの感想

Three.jsつくったひとすごい。

ポリゴン、テクスチャ、ボーンアニメーションも、

ライブラリで対応可能なので、やる気になればもっと

すごいものができる。

実用性としては、プロダクトの紹介などで

使えるかもしれない。
Thanks!

次回12月中旬の土曜は総集編!@豆蔵トレーニングルーム(新宿)

Web標準技術でアプリをつくりたいデザイナーさん向けの

セッションを予定中。

Twitterハッシュタグ「#TizenJP」をチェック!

More Related Content

PDF
SVG MANIAX - CSS Nite After dark7
PDF
SVG MANIAX Ver.2 - Mars vanilla
PDF
SVGでつくるインタラクティブWebアプリケーション
PDF
HTML5 と SVG で考える、これからの画像アクセシビリティ
PPTX
Chrome拡張機能の作りかた
PDF
Inline SVG - トラブルとその対策
PDF
使う前に知っておきたいSVGのこと
PPTX
Java script
SVG MANIAX - CSS Nite After dark7
SVG MANIAX Ver.2 - Mars vanilla
SVGでつくるインタラクティブWebアプリケーション
HTML5 と SVG で考える、これからの画像アクセシビリティ
Chrome拡張機能の作りかた
Inline SVG - トラブルとその対策
使う前に知っておきたいSVGのこと
Java script

What's hot (20)

PPTX
JQuery入門
PPTX
JavaScriptテンプレートエンジンで活かすData API
PDF
モックアップやプロトタイプづくりを 加速させる。それが SVG。@DIST.4 「Life is Short」
PDF
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
PDF
jQueryを中心としたJavaScript
PDF
WordPress を使いこなそう
PDF
Css3でキャラクターアニメーションに挑戦してみた
PDF
⑯jQueryをおぼえよう!その2
PDF
jQueryでiTunes Store風スライドショーを作ってみる
PDF
Learning jQuery
PDF
2つの「Layout」プラグインでMovable Typeをパワーアップ
PDF
jQuery Mobileの基礎
PDF
HTML/CSSを効率的にする メタ言語とツールのアレコレ
PDF
LESS楽しいれす(^q^)
PDF
jQuery Mobile 概要
PDF
リリース直前WordPress3.5をみてみよう
PDF
⑳CSSでアニメーション!その1
PDF
Web development fundamental_v2
PDF
⑮jQueryをおぼえよう!その1
PPT
WordPress×jQueryMobile
JQuery入門
JavaScriptテンプレートエンジンで活かすData API
モックアップやプロトタイプづくりを 加速させる。それが SVG。@DIST.4 「Life is Short」
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
jQueryを中心としたJavaScript
WordPress を使いこなそう
Css3でキャラクターアニメーションに挑戦してみた
⑯jQueryをおぼえよう!その2
jQueryでiTunes Store風スライドショーを作ってみる
Learning jQuery
2つの「Layout」プラグインでMovable Typeをパワーアップ
jQuery Mobileの基礎
HTML/CSSを効率的にする メタ言語とツールのアレコレ
LESS楽しいれす(^q^)
jQuery Mobile 概要
リリース直前WordPress3.5をみてみよう
⑳CSSでアニメーション!その1
Web development fundamental_v2
⑮jQueryをおぼえよう!その1
WordPress×jQueryMobile
Ad

Viewers also liked (7)

PDF
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
PDF
HTML5 APIを使ったデモとソースの解説
PPTX
SA Lighthouse Op. Mgmt. Project
PDF
HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)
PPTX
건시스템
PDF
Html5west
PDF
見た目以上に大事なこれからのデザイン
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
HTML5 APIを使ったデモとソースの解説
SA Lighthouse Op. Mgmt. Project
HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)
건시스템
Html5west
見た目以上に大事なこれからのデザイン
Ad

Similar to Firefox OSアプリ 「ModeView」 (20)

PDF
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
PDF
React で CSS カプセル化の可能性を考える
PDF
CSS Design and Programming
PDF
「html5 boilerplate」から考える、これからのマークアップ
PDF
なんでCSSすぐ死んでしまうん
PDF
レスポンシブWebデザイン【発展編】
PPTX
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
PDF
Native x Webでいいとこどり開発 ~ピグトーク~
PDF
レスポンシブWebデザイン【基礎編】
KEY
12.09.08 明星和楽2012 KLabハンズオンセッション
PDF
What's Sketch.app
PDF
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
PDF
Canvas勉強会
PDF
Rails初心者レッスン lesson3 3edition
PDF
2017: A CSS Design Odyssey
PDF
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
PDF
ブラウザにやさしいHTML/CSS
PDF
メディア芸術基礎 II jQuery入門
PDF
Htmlコーディングの効率化 後編
PDF
jQuery Mobile 最新情報 & Tips
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
React で CSS カプセル化の可能性を考える
CSS Design and Programming
「html5 boilerplate」から考える、これからのマークアップ
なんでCSSすぐ死んでしまうん
レスポンシブWebデザイン【発展編】
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
Native x Webでいいとこどり開発 ~ピグトーク~
レスポンシブWebデザイン【基礎編】
12.09.08 明星和楽2012 KLabハンズオンセッション
What's Sketch.app
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Canvas勉強会
Rails初心者レッスン lesson3 3edition
2017: A CSS Design Odyssey
WordPressの常識をくつがえす超簡単テーマ"doshirouto"を作ったのでこれでテーマを理解しよう!
ブラウザにやさしいHTML/CSS
メディア芸術基礎 II jQuery入門
Htmlコーディングの効率化 後編
jQuery Mobile 最新情報 & Tips

More from Hideki Akiba (10)

PDF
デザインエンジニア・ボーダーレスな時代を楽しもう!
PDF
ぼっけもんデザイナーへの道
PDF
Webデザイナー、 Tesselに挑戦
PDF
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
PDF
伝わる!デザインのつくりかた
PDF
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
PDF
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
PDF
DesignersHack002 presentation
PDF
HTML5でできるカメラアプリを実際に体験しよう
PDF
あのロゴあのパーツ、どんなグラフィックソフトで作ってるんだろう?/秋葉秀樹
デザインエンジニア・ボーダーレスな時代を楽しもう!
ぼっけもんデザイナーへの道
Webデザイナー、 Tesselに挑戦
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
伝わる!デザインのつくりかた
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
DesignersHack002 presentation
HTML5でできるカメラアプリを実際に体験しよう
あのロゴあのパーツ、どんなグラフィックソフトで作ってるんだろう?/秋葉秀樹

Firefox OSアプリ 「ModeView」