Home > papervision3D Archive

papervision3D Archive

1

Papervision3D 両面にテクスチャとかエフェクト掛けれるようにするとか

日々いろんなことをやっていると、
いろんなことを忘れていくので、
こうしてメモとして記事に起こすとちょっとは忘れなくなる、かな。
(たとえ後で見返すことがなくとも)
 

plane.doubleSided = true;
// 両面にテクスチャを適用
plane.useOwnContainer = true;
// alphaとか(ブラーやグローなどの)エフェクトが使用可になる
// ただし、CLICK効かなくなるので、代わりにPRESSを使う

Papervision3D 最小サンプル

最近、久しぶりにPapervision3Dを触ったので(かなり自分用っぽい)メモ。
バージョンは2.0。

以下のスクリプト(import文とかは省略)は平面を表示するだけのもの。
これだけでは全然3Dっぽくないけど、何を作るにしても全体の流れとしてはこんな感じ、と思う。
 

var renderer :BasicRenderEngine = new BasicRenderEngine();

var viewport :Viewport3D = new Viewport3D(0, 0, true);	// 表示領域
var camera :Camera3D = new Camera3D();	// カメラ
var scene :Scene3D = new Scene3D();	// シーン(ここに3D物体をaddChildする)

// 平面(マテリアル,横px,縦px)
var plane :Plane = new Plane(new ColorMaterial(),300,300);

addChild( viewport );
// 平面をシーン上にaddChild
scene.addChild( plane );

// シーン&カメラ&表示領域を併せて、レンダリング
renderer.renderScene(scene, camera, viewport);

 
要は、

  • 表示領域 と カメラ と シーン 作る
  • 3Dオブジェクト作る(平面とか球とか)
  • シーンの中に3Dオブジェクトつっこむ
  • レンダリング(シーン&カメラ&表示領域)

という流れでOK。

papervision3D FLV mapping

papervision3D FLV

papervision3Dを使って、FLV動画をマッピングしてみた。

マウスの位置によってオブジェクトが回転します。
マウスホイールで全体の拡大縮小が行なえます。

Papervision3D memo

Papervision3Dの(かなり)大まかな流れをメモ。

// コンテナの作成
container = new Sprite();
addChild( container );

// シーンの作成
scene = new Scene3D( container :Sprite );
// カメラの作成
camera = new Camera3D();

// マテリアルの作成(下記は一例でいろいろある)
material = new BitmapMaterial( bmd :BitmapData );
[ material = new MovieAssetMaterial( linkageID :String ); ]
[ material = new VideoStreamMaterial( video :Video, stream :NetStream ); ]

// とりあえず平面を生成
plane = new Plane( material :MaterialObject3D, width :Number, height :Number, segmentsW :Number, segmentsH :Number );
scene.addChild( plane );

その他、
マウスイベントを取得したい場合は、
Scene3D → MovieScene3D を用いる。

Camera3D において、回転(rotationX,rotationY,rotationZ)は設定できない。
(常に中心を向いている、という風になる)
これを設定したい場合、変わりにFreeCamera3Dを用いる。

1

Index of all entries

Home > papervision3D Archive

Search
Feeds

Return to page top