Tomasz Górski

Tomasz Górski New Media Designer

Temat: pv3d - obracający się sześcian

Witam,
nie dość że wolno się obraca (nie chodzi że kąt co 2 jednostki) to jeszcze strasznie się przycina :/
Czy da się to jakoś zoptymalizować żeby działało w miarę płynnie ?
Z góry dzięki ;)

Kod :


import flash.events.MouseEvent;
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
import org.papervision3d.events.*;


var viewport:Viewport3D = new Viewport3D(500,500);
viewport.interactive = true;
viewport.y=50;
addChild(viewport);

var scene:Scene3D = new Scene3D();

var camera:Camera3D= new Camera3D(50,20);
camera.x=0;
camera.z=-700;
camera.y=-50;
camera.rotationX=0;

var mam1:MovieMaterial = new MovieMaterial(face1);
var mam2:MovieMaterial = new MovieMaterial(face2);
var mam3:MovieMaterial = new MovieMaterial(face3);
var mam4:MovieMaterial = new MovieMaterial(face4);
var mam5:MovieMaterial = new MovieMaterial(face5);
var mam6:MovieMaterial = new MovieMaterial(face6);
mam1.smooth = true;
mam2.smooth = true;
mam3.smooth = true;
mam4.smooth = true;
mam5.smooth = true;
mam6.smooth = true;

var renderer:BasicRenderEngine = new BasicRenderEngine();

var cube:Cube = new Cube(new MaterialsList({front:mam1, back:mam2, left:mam3, right:mam4,top:mam5, bottom:mam6}), 300, 300, 300, 5,5,5);
scene.addChild(cube);

function papervision(e:Event):void {
renderer.renderScene(scene, camera, viewport);
}

function obrot(e:Event):void {
cube.rotationX+=2;
cube.rotationY+=2;
}

this.addEventListener(Event.ENTER_FRAME,papervision);
this.addEventListener(Event.ENTER_FRAME,obrot);

konto usunięte

Temat: pv3d - obracający się sześcian

Moze fps'y masz za nisko albo starego flash playera.
Po co 2x ENTER_FRAME?
Tomasz Górski

Tomasz Górski New Media Designer

Temat: pv3d - obracający się sześcian

w sumie mogę wrzucić wszystko do

function papervision(e:Event):void {
cube.rotationX+=2;
cube.rotationY+=2;
renderer.renderScene(scene, camera, viewport);
}

fps ustawione na 30 a flash player 9

konto usunięte

Temat: pv3d - obracający się sześcian

No to masz problem sprzetowy, bo to dziala plynnie.
Paweł Meller

Paweł Meller Flash Developer

Temat: pv3d - obracający się sześcian

Problemem może być to, co masz w tych movieclipach, które wrzucasz do materiałów. Smooth i 5 podziałów dają dobre efekty wizualne, ale niestety może się okazać, że trzeba będzie z części zrezygnować, żeby uzyskać płynne działanie, a po viewport.interactive=true można się spodziewać, że coś chcesz więcej w tą kostką działać.

Następna dyskusja:

Font się wywala we Flashu CS3




Wyślij zaproszenie do