//week08-1-loadShape-shape
size(400,400,P3D);//(3)要有P3D的OpenGL 3D 功能
PShape gundam = loadShape("Gundam.obj"); //(1)讀入3D模型
translate(width/2,height/2);//放到畫面中心
pushMatrix();//備份矩陣
translate(0,100);//(5)再往下移一點點
scale(10,-10,10);//(4) 把模型放大shape(10)上下要倒過來
shape(gundam,0,0);//(2) 畫出3D模型
popMatrix();//還原矩陣
//week08-2-PShape gundam-setup-draw-push-scale-shape-pop
//轉動他 要改成互動模式的程式風格
PShape gundam;
void setup(){
size(400,400,P3D);
gundam = loadShape("Gundam.obj");
}
void draw(){
background(128);
translate(width/2,height/2+100);
pushMatrix();
scale(10,-10,10);
rotateY(radians(frameCount));
shape(gundam,0,0);
popMatrix();
pushMatrix();
translate(100,0,0);
scale(10,-10,10);
shape(gundam,0,0);
popMatrix();
}
//week08-3-another-obj-large
PShape gundam;//要再把Gundam.obj等檔案 拉進來
void setup(){
size(400,400,P3D);
gundam = loadShape("FinalBaseMesh.obj");
}
void draw(){
background(128);
lights();
translate(width/2,height/2+100);
pushMatrix();
scale(10,-10,10);
rotateY(radians(frameCount));
shape(gundam,0,0);
popMatrix();
}
//week08-4-gundam-body-head
//慢慢把 切割開 的模式 逐一組合起來
PShape body,head;
void setup(){
size(400,400,P3D);
body = loadShape("body.obj");
head = loadShape("head.obj");
}
void draw(){
background(255);
translate(width/2,height/2+100);
sphere(10);
scale(10,-10,10);
pushMatrix();
translate(0.0,+22.5);
rotate(radians(x));
//translate(x/10,y/10);
//println(x/10,y/10);
translate(0.0,-22.5);
shape(head,0,0);
popMatrix();
shape(body,0,0);
}
float x=0,y=0;
void mouseDragged(){
x+=mouseX-pmouseX;
y-=mouseY-pmouseY;
}
沒有留言:
張貼留言