[Papervision3D]BitmapMaterialで一瞬カッ!てなる→解明
BitmapMaterial.asの135行目あたりのgraphics.beginBtimapFillメソッドの
手前に下記のコードを追加すれば回避できます。
テクスチャがおかしくなるときはlimitの値を大きくしてください。
これを使ってcharaがスムーズに動くようになりました。
chara(下記コードを適応したもの)
chara(下記コードを適応していないもの)
var limit:int=18000; if(Math.abs(_localMatrix.tx)>limit)_localMatrix.tx=limit*((_localMatrix.tx==0)?0:((_localMatrix.tx>0)?1:-1)); if(Math.abs(_localMatrix.ty)>limit)_localMatrix.ty=limit*((_localMatrix.ty==0)?0:((_localMatrix.ty>0)?1:-1));
[Papervision3D]リボン
Papervision3Dでリボンです。
やり方としてはPlane内のTriangle3Dの頂点を操作してPlane同士をつながっているように見せています。
・ABCD…のPlaneを用意
・Aの左端をワールド座標へ変換※1
・Bの左端をワールド座標へ変換
・AとBの座標の差を求める
・得られた座標をAのローカル座標A’へ変換
・Aの右端のTriangle3Dの頂点をA’へ移動
・対象Planeを変えて※1へ
[3Dプロッタver2]
焦点距離:camera.focus 拡大率:camera.zoom 対象オブジェクト:target_mc 対象オブジェクト3D座標:_x, _y, _z scale=(camera.focus)/(camera.focus+(target_mc._z-camera.z-camera.focus)) * camera.zoom; xpos=(target_mc._x-camera.x)*scale; ypos=-(target_mc._y-camera.y)*scale; target_mc.scaleX=target_mc.scaleY=scale; target_mc.x=xpos; target_mc.y=ypos;