//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(); //還原矩陣
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; //要再把 Gundam.obj 等檔案,拉進來
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);
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;
// 四個檔案拉進來 body.obj body.mtl Diffuse.jpg AO.jpg
// 頭的2個檔案 head.obj head.mtl
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); // 3.再掛回原來的地方
rotate(radians(x)); // 2.轉動
//translate(x/10,y/10); //要放在小x,y的座標
//println(x/10,y/10); //要印出座標,要取上面的數
translate(0.0,-22.5); // 1.我們頭的中心,有放在旋轉中心
shape(head, 0, 0);
popMatrix();
shape(body, 0, 0);
}
float x = 0, y = 0;
void mouseDragged(){
x += mouseX - pmouseX;
y += mouseY - pmouseY;
}
//week08-5





沒有留言:
張貼留言