//week08_1_loadShape_shape
size(400,400,P3D);//(3)要有P3D的OpenGL 3D功能 PShape gundam=loadShape("Gundam.obj");//(1)讀入3D模型 loadshape("檔名") 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_pushscacle_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_bad_mtl PShape gundam; 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; void setup() { size(400,400,P3D); body = loadShape("body.obj");//拉入body.obj body,mtl Diffuse.jpg AO.jpg head = loadShape("head.obj");//頭 head.obj head.mtl } void draw() { background(255); translate(width/2,height/2+100); sphere(10);//基準點 scale(10,-10,10); pushMatrix(); translate(0,22.5);//3掛回原來的地方 rotate(radians(x));//2轉動 //translate(x/10,y/10);//放在x,y的座標 //println(x/10,y/10);//印出座標,等等要取上面的數 translate(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; }頭可以轉動
沒有留言:
張貼留言