Flash PANORAMA Powered by Papervision3D

Slides:



Advertisements
Similar presentations
オブジェクト指向 言語 論 第八回 知能情報学部 新田直也. 多相性(最も単純な例) class A { void m() { System.out.println( “ this is class A ” ); } } class A1 extends A { void m() { System.out.println(
Advertisements

8-4 Google マップの利用 1.地図を表示 ( エミュレータでも可能 ) Android API キーを取得しておくこと。 【 AndroidManifest.xml 】 ・・・
Powerpoint 機能の使い方. 1.簡単な図の作成 例として植物個体の図を作成 (1)輪郭を大まかに描く まず、「オートシェイプ」 → 「線」 → 「曲 線」を選び、輪郭を適当に描く.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
GridLayout オブジェクト(省略)
プログラミング演習3 李 亜民クラス 第2回 ラスタライズ.
マルチタッチ/マルチジェスチャ ライブラリを用いた Androidアプリケーション
パノラマ動画像モデルによる 仮想空間表現システムの研究
第11回JavaScriptゼミ セクション8-2 発表者 直江 宗紀.
Flex “30分でわかるFlex”.
5-4 画像の表示 (1)複数画像の表示 A.手順 (基本は5-2(1)Image View参照) ①画像ファイルをリソースに追加
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
デジタルポートフォリオ作成支援ツール PictFolio 使用マニュアル
Imageの描画 画像を読み込んで表示すること。 import java.awt.*;が必要。
Ex7. Search for Vacuum Problem
Ex8. Search for Vacuum Problem(2)
第6回 Flashによるゲームの作成 04A2029           古賀慎也.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
マルチプラットフォーム対応 P2Pファイル共有ソフトの開発
C#によるWindowsFormApplication入門
Webフォントって何? Webページ中のテキスト表示に使うフォントを指定した場所からダウンロードして適用させるもの
アプレット (Applet)について.
Unity, C# マウスでモデルを移動させる方法
ParaViewを用いたPHITS 計算結果の3次元表示
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
haXeでオリジナルコンポーネント作り WCAN mini Vol 小笠原
大阪工業大学 情報科学部 情報システム学科 宇宙物理研究室 B 木村悠哉
軌跡とジオメトリー表示プログラム CGVIEW(Ver2.2)の改良
第2章 Eclipseと簡単なオブジェクト 指向プログラミング
NET NET NET Photo Design LE Photo Design School Photo Design Package I
音声処理ソフトPraatの使い方.
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
第20章 Flyweight ~同じものを共有して無駄をなくす~
第11回 オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング
SystemKOMACO Jw_cad基本操作(2) Ver.1
Unity, C# 移動するモデルの位置を 指定した位置へ自動修正
フリーのCADソフトウェアを使ってみよう
アルゴリズムとプログラミング (Algorithms and Programming)
Leap Motionを用いた実世界指向 アプリランチャの設計と開発
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
ソフトウェア工学 知能情報学部 新田直也.
OpenGLを使ったプログラム作成 澤見研究室
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
OpenGLライブラリを用いた3次元フラクタルの描画
フィルム ストリップ (中級)   このスライドの効果を再現するには、次の操作を行います。
ソフトウェア制作論 平成30年12月5日.
プログラミング演習3 第2回 GUIの復習.
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
デジタル画像とC言語.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
三次元チェスアプリケーションの開発 およびUIの機能向上
情報処理 タイマの基礎 R8C タイマの基礎.
Ex7. Search for Vacuum Problem
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
C#プログラミング実習 第3回.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
目次 ---Windows 01.キーボードとマウスの基本操作 02.複数のファイルを同時に選択
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
サンプル見出し テキスト 1 行目 テキスト 2 行目 テキスト 3 行目 (中級) 図の背後でタイトルを移動させるアニメーション効果
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

Flash PANORAMA Powered by Papervision3D 2008/10/11 STUDIO Bloom

Background 処理速度の大幅な向上(ActionScript3.0) →公称 10倍、処理によっては100倍近くまで ライブラリの登場  →Papervision3D…3Dエンジン  →APE,Box2D…物理エンジン 2008/10/11 STUDIO Bloom

メリット 世界で最も普及したマルチプラットフォーム →1つのコードであらゆる環境で動作する 世界で最も普及したマルチプラットフォーム  →1つのコードであらゆる環境で動作する ローディングなどでストレスを低減  →サイズの大きい画像でも読み込みのストレスを与えない 操作に応じたアクションの提供  →クリックによる情報の提供など 2008/10/11 STUDIO Bloom

デメリット(?) ActionScript3.0の習得の難しさ →ECMAScript第4版をコア言語としたオブジェクト指向言語 2008/10/11 STUDIO Bloom

Papervision3Dについて 3D描画エンジン 左手系 MIT Licence 正式バージョン… 1.5 パブリックベータ… 2.0 Great White ブランチ… 3.0 PapervisionX 奥:Z 横:X 縦:Y 2008/10/11 STUDIO Bloom

制作環境 Flex2 SDK+Papervision3D Flash CS3+Papervision3D package { プロパティのドキュメントクラスに任意のクラス名を入力(例:Main) .flaファイルと同じ場所にMain.asを作成・編集を行う Mainというクラスを作成 package { import org.papervision3d.view.BasicView ; public class Main extends BasicView { 2008/10/11 STUDIO Bloom

Papervision3D導入 Ver.1.5とVer.2.0 GreatWhiteであれば http://code.google.com/p/papervision3d/ でZIP圧縮をダウンロード可能 最新版やブランチはSubversionを導入 環境設定のActionScript3.0設定「クラスパス」に PV3Dの「src」ディレクトリまでのパスを設定 2008/10/11 STUDIO Bloom

Papervision3Dのパノラマ実装例 簡単な初期化とカメラの設定 面画像の読み込みと貼り付け 正六面体の作成 ホットスポットの作成 … 2008/10/11 STUDIO Bloom

初期化 GreatWhiteから(?)実装されたBasicView 2008/10/11 STUDIO Bloom import org.papervision3d.scenes.Scene3D ; import org.papervision3d.view.Viewport3D ; import org.papervision3d.render.BasicRenderEngine ; import org.papervision3d.cameras.FreeCamera3D ; public class Main extends Sprite {     public function Main():void { viewport = new Viewport3D(0, 0, true, true) ; addChild(viewport) ; scene = new Scene3D() ; renderer = new BasicRenderEngine() ; camera = new FreeCamera3D() ; stage.addEventListener( Event.ENTER_FRAME, onFrame ) ;     }     function onFrame(event:Event):void { renderer.renderScene(scene, camera, viewport) ; } import org.papervision3d.view.BasicView ; public class Main extends BasicView {     public function Main():void { super(     640, 480,     true, true,     "FREECAMERA3D“ ) ; startRendering() ;     } } 2008/10/11 STUDIO Bloom

設定 ■BasicView() ■パラメータ public function BasicView(    viewportWidth:Number = 640,    viewportHeight:Number = 480,    scaleToStage:Boolean = true,    interactive:Boolean = false,    cameraType:String = "CAMERA3D “  ) ■パラメータ  viewportWidth:Number (default = 640) — ビューポートの幅  viewportHeight:Number (default = 480) — ビューポートの高さ    scaleToStage:Boolean (default = true) — 領域拡大縮小に合わせたオートスケール    interactive:Boolean (default = false) — インタラクティブ機能を有効にするかどうか    cameraType:String (default = “CAMERA3D”) — カメラの種類 ※GreatWhiteではcamera_typeの指定が異なる(Debug,Free,Target) 2008/10/11 STUDIO Bloom

カメラの種類 Camera3D 対象に向き続けるカメラ 移動は可能、回転は不可 FreeCamera3D 移動・回転が可能なカメラ FrustumCamera3D  距離による表示・非表示の機能など高機能カメラ ※バージョンなどによって統合されたり復活したりマチマチな状況のようです 2008/10/11 STUDIO Bloom

カメラの設定 初期値(0,0,0)のままだとLookAt Errorが 発生するので、Z=0.1で回避 (条件に依る) Focusは100程度  あまり小さいと歪んでしまう Zoomは7程度  あまり小さいと歪んでしまう 2008/10/11 STUDIO Bloom

面の読み込み 読み込んだ外部画像をMaterialListへ登録 ① ② ③ var loadedBmp:Bitmap = e.target.content as Bitmap ; var bmp:BitmapData = loadedBmp.bitmapData ; // 上面画像は180度回転 if (e.target.loader.name.toString() == 'top') {     var tmp:BitmapData = new BitmapData(bmp.width, bmp.height, false, 0) ;     var flipMatrix:Matrix = new Matrix(-1, 0, 0, -1, bmp.width, bmp.height) ;     tmp.draw(bmp, flipMatrix) ;     bmp.dispose() ;     bmp = tmp ; } var material:BitmapMaterial = new BitmapMaterial(bmp) ; materials_list.addMaterial(material, e.target.loader.name.toString()) ; ① ② ③ 面:”top” , “bottom” , “left” , “right” , “front” , “back” 2008/10/11 STUDIO Bloom

正六面体の作成 分割数はある程度多めに(20前後) insideFacesにCube.ALLを指定 ■Cube public function Cube(     materials:MaterialsList,     width:Number = 500,     depth:Number = 500,     height:Number = 500,     segmentsS:int = 1, …横方向の分割数     segmentsT:int = 1, …縦方向の分割数     segmentsH:int = 1, …奥行き方向の分割数     insideFaces:int = 0, …内向きの表示面     excludeFaces:int = 0 …表示しない面 ) 3辺の大きさ 2008/10/11 STUDIO Bloom

とりあえず完成 マウスでの操作ロジックなど 2008/10/11 STUDIO Bloom

ホットスポット 平面(Plane)オブジェクトにテクスチャを貼る 六面体の各面に対して位置を指定する マウスオーバーでカーソルを変更 クリックすると… 2008/10/11 STUDIO Bloom

位置の指定 六面体の各面に貼り付けるテクスチャから ホットスポットの位置(二次元)を決定する 指定面に対応する三次元空間の位置へ V front U 2008/10/11 STUDIO Bloom

テクスチャにMovieClip MovieAssetMaterialでMovieClipを テクスチャに指定できる linkageID:String = “”, …リンケージで入力したクラス名 transparent:Boolean = false, …透明を許可 animated:Boolean = false, …アニメーションを許可 createUnique:Boolean = false, precise:Boolean = false ) 2008/10/11 STUDIO Bloom

マウスイベントに対応させる マウスイベントに対応させるため material.interactive = true ; イベントリスナを登録  OBJECT_OVER, OBJECT_OUT, OBJECT_CLICK 等 マウスオーバーでカーソルを手の形に 離れた時に元に戻す hotspot.addEventListener( InteractiveScene3DEvent.OBJECT_OVER, function(e:InteractiveScene3DEvent) :void { Sprite(viewport).buttonMode = true; Sprite(viewport).useHandCursor = true; } ); hotspot.addEventListener( InteractiveScene3DEvent.OBJECT_OUT, function(e:InteractiveScene3DEvent) :void { Sprite(viewport).buttonMode = true; Sprite(viewport).useHandCursor = true; } ); 2008/10/11 STUDIO Bloom

Let’s Flash Panorama with Papervision3D! まとめ 開発途中でパラメータや仕様が変わる 結構パラメータは触ってみないと分からない オペレーション方法など工夫して独自性を ホットスポットに機能付加で夢は広がる 透明FLVに対応すればPIPも。。。 敷居は高いが計り知れない可能性が!! Let’s Flash Panorama with Papervision3D! 2008/10/11 STUDIO Bloom