作業1:loadShape_shape_
今天想要讀入一個模型,把下載的模型拉到程式裡面,用loadShape()讀入剛剛的3D模型,
讀入後太小了且上下顛倒,所以用scale()把模型放大和倒過來,translate()往下移比較好看,一定要有P3D才可以執行。
作業2:PShape_gundam_steup_draw_push_scale_shape_pop
想要讓他可以互動,畫兩個鋼彈,先寫一個對Y軸旋轉的鋼彈,一個不動
作業3:another_obj_large_bad_mtl
準備一個還沒貼圖的模型,複製剛剛鋼彈的程式碼,出現一個在旋轉的人,因為貼圖面比較多,所以人會是黑色的
作業4:
想要把它拆解後可以,先加入身體,要記得把.mtl檔加進去,接下來加入頭,我們想要認頭可以移動,所以讓他有一個中心,將頭的脖子部分加到中心上,再放回去,就可以擺頭
//week08-4_
//慢慢把切割開的模型逐一組合起來
PShape body;
PShape hand;
void setup(){
size(400,400,P3D);
//四個檔案body.obj body.mtl Diffuse.jpg AO.jpg
body=loadShape("body.obj");
hand=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);//要放在x,y座標上
//println(x/10,y/10);//印出座標,取上面的值
translate(0.0,-22.5); //頭的中心,有效在旋轉中心
shape(hand,0,0);
popMatrix();
shape(body,0,0);
}
float x=0,y=0;
void mouseDragged(){
x+=mouseX-pmouseX;
y-=mouseY-pmouseY;
}
沒有留言:
張貼留言