Week 18
本日前提要緊:
今天終於是最後一堂課了,爽啦,雖然我抱著很大的怨念來上課QQ,好想在家睡覺阿!!
但還是只能認分的來寫程式,首先今天要先寫出新的東西鋼彈勇士的模型,是大二下才會看到的,現在就讓我們來看看吧。
步驟1:
程式碼: PShape gundam; ///宣告3D模型的,跟前面交的Image宣告差不多
void setup( ){
size (500,500,P3D); ///一樣是用在3D模型的
gundam = loadShape("Gundam.obj");
}
void draw( ){
shape(gundam);
}
解讀:
記得把照片檔案拖曳進來喔~
注意!!!!!!!!!!
步驟2:
程式碼:
PShape gundam;
void setup( ){
size (500,500,P3D);
gundam = loadShape("Gundam.obj");
}
void draw( ){
scale(10,10,10); ///可調大模型的縮放比例(x,y,z)
shape(gundam);
}
解讀:
3D模型基本需要用到的三個東西: scale是縮放 translate縮放 rotate旋轉
為什麼沒有辦法置中??? 因為MAYA在建模型時,放在中間,所以圖一開始的中心在(0,0)
步驟3:
程式碼:
PShape gundam;
void setup( ){
size (500,500,P3D);
gundam = loadShape("Gundam.obj");
}
void draw( ){
translate(250,0,0); ///用translate 移動250,是圖的一半
scale(10,10,10);
shape(gundam);
}
步驟4:
解釋:
圖左上角的星星是鋼彈的中心(0,0)
步驟5:
程式碼:
PShape gundam;
void setup( ){
size (500,500,P3D);
gundam = loadShape("Gundam.obj");
}
void draw( ){
background(128); ///清背景才度會有殘影出現
translate(250,400,0);
scale(10,-10,10); //放大10被<但是y變負的
rotateY(radians(frameCount)); ///對Y軸旋轉
shape(gundam);
}
解釋:
在3D操作中移動 旋轉 縮放 程式的順序不同,結果會差很多
這樣鋼彈勇士模型就完成了!
接下來進入本日的第二個模型 "地球"
先來看一遍完整版的了解一下在幹嘛吧!
程式碼:
PImage img;
PShape globe;
void setup( ){
size (300,300,P3D);
img = loadImage("earth.jpg");
globe=createShape(SPHERE,100);
globe.setStroke(false);
globe.setTexture(img);
}
void draw( ){
background(128);
noStroke( );
translate(width/2,height/2);
rotate(radians(frameCount));
shape(globe);
}
接下來就從頭手做一遍吧~~~
步驟一:
程式碼:
PImage img;
void setup( ){
size(300,300,P3D);
img = loadImage("earth.jpg");
}
void draw( ){
image(img,0,0);
}
解釋:
把圖檔匯進來是很重要的,跟上面直接匯模型不太一樣,要注意!!!
步驟二:
程式碼:
PImage img;
PShape globe;
void setup( ){
size(300,300,P3D);
img = loadImage("earth.jpg");
globe=createShape(SPHERE,100);
}
void draw( ){
image(img,0,0);
///sphere(100); ///用這一行是指畫出一個圓球,但後來要改它,所以不用
shape(globe);
}
解釋:
雖然只有sphere(100)很簡單,但是因為後續的問題,所以要該城多三行,功能就會比較強大,先用PShare處理,只因為它可以改變最後一行的shape
步驟三:
程式碼:
PImage img;
PShape globe;
void setup( ){
size(300,300,P3D);
img = loadImage("earth.jpg");
globe=createShape(SPHERE,100);
globe.setTexture(img); ///所以可以設定貼圖
}
void draw( ){
//image(img,0,0);
//sphere(100);
shape(globe); ///變成shape比較厲害
}
步驟四:
程式碼:
PImage img;
PShape globe;
void setup( ){
size(300,300,P3D);
img = loadImage("earth.jpg");
globe=createShape(SPHERE,100);
globe.setTexture(img);
}
void draw( ){
//image(img,0,0);
//sphere(100);
translate(width/2,height/2); ///因為要固定它的大小,不能用(300/2,300/2)
shape(globe);
}
本學期最後一堂,結束!!下課!!
喜歡可以訂閱加關注喔,開啟小鈴鐺
但應該不會在更新吧哈哈~~











沒有留言:
張貼留言