NoImage

この記事は半年以上前の情報なので、古い可能性があります

Papervision3Dやってみる(3) 【基本モデル】

2008年01月26日  投稿者:ハセガワ
Flashで驚異の3Dムービーを作れるPapervision3Dで球がいったりきたり
ブックマークする:

FlashPlayerをインストールするか、JavaScriptをONにしてください。
■筆者の理解LV

・ドラクエで言うとドラキーに挑戦してもいいかな?と悩んでいる程度。
・Papervision3Dのバージョンは2.0(GreatWhite)

▼奥と手前をいったりきたりするボール+プリミティブオブジェクト

前回のものにちょっとだけ手を加えて、向こうとこっちを永遠にいったりきたりするものを作りました。
しかし、これ重くないですか?
当方のPC環境はCore2Duo6700、GeForce8800GTS、WinXpなんですが、2007年6月に購入した自作PCです。一応そこそこなめらかには動いているんですけどね。
もしカクカクとしか動かないのであれば、コメント欄にPCのスペック添えてご報告お願いします。

▼最初から用意されているモデル(org.papervision3d.objects.primitives)
  • 1.Plane(板) 
  • 2.Cylinder(円柱)
  • 3.Cube(立方体/直方体)
  • 4.Cone(円錐)
  • 5.PaperPlane(テスト用?紙飛行機みたいなモデル)

1.Plane(板)
板状のオブジェクトを作る

Planeクラス+デフォルトの引数

Plane(
  material:MaterialObject3D=null, //マテリアル
  width:Number=0, //幅
  height:Number=0, //高さ
  segmentsW:Number=0,//横分割数
  segmentsH:Number=0, //縦分割数
  initObject:Object=null )  //ユーザ定義プロパティ

記述例:

myPlane:Plane = new Plane (null ,100,100,1,1,null );

2.Cylinder(円柱)
円柱型のオブジェクトを作る

Cylinderクラス+デフォルトの引数

Cylinder(
  material:MaterialObject3D=null, //マテリアル
  radius:Number=100, //底面の半径
  height:Number=100, //高さ
  segmentsW:int=8, //横分割数
  segmentsH:int=6, //縦分割数
  topRadius:Number=-1, //上面の半径
  initObject:Object=null ) //ユーザ定義プロパティ

記述例:

myCylinder:Cylinder = new Cylinder (null ,100,100,8,6,100,null );

3.Cube(立方体・直方体)
立方体/直方体を作る
※第一引数が他のと違ってMaterialListになっている点に注意(はまった)。

Cubeクラス+デフォルトの引数

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, //非表示にする面の指定(?)
   initObject:Object=null )//ユーザ定義プロパティ

記述例:

myCube:Cube = new Cylinder (null ,100,100,100,2,2,2,0,0,null );

4.Cone(円錐)
円錐のモデルを作る。
Cylinderクラスを拡張して作られたクラス。
↓上面の半径が0で固定されたCylinderってこと?
super( material, radius, height, segmentsW, segmentsH, 0, initObject ); 
ってコンストラクタに定義されてる。

Coneクラス+デフォルトの引数

Cone
   material:MaterialObject3D=null, //マテリアル
  radius:Number=100, //底面の半径
  height:Number=100, //高さ
  segmentsW:int=8, //横分割数
  segmentsH:int=6, //縦分割数
  initObject:Object=null ) //ユーザ定義プロパティ

記述例:

myCube:Cube = new Cylinder (null ,100,100,100,2,2,2,0,0,null );
僕が買った、もしくは買う予定の参考書
参考書は指定されていません
ブックマークする
FlaTech+を購読する
  • 全記事を含むRSSfeed
  • このページをブックマーク: