flash3D開發基礎-------Stage3D中的頂點基礎1(散記)

1.座標頂點 x,y,z
  1. var vertices:Vector.<Number> = Vector.<Number>([
  2.                                 -1,-1,0// x, y, z
  3.                                 -1, 1, 0
  4.                                 1, 1, 0,]);
複製代碼
這裏定義3個頂點,可以組成1個三角形了。
默認情況下,頂點的0,0位置是屏幕大小的中心,例如800,600,那麼0,0點的位置就是400,300
頂點在屏幕的範圍是-1 到 1之間。 例如800是寬(x) 那麼1就是800像素的位置,-1就是0的像素。而0就是400的像素位置
高600(y),那麼1就是0的像素位置了(注意,這點和flash像素座標相反的),-1就是600的像素了,而0就是300的像素位置
(具體的情況,自己可以通過代碼來進行實踐總結,也可通過設置攝像機改變)

2.頂點顏色
  1. var vertices:Vector.<Number> = Vector.<Number>([
  2.                                 -1,-1,0, 1, 0, 0, // x, y, z, r, g, b
  3.                                 -1, 1, 0, 0, 1, 0,
  4.                                 1, 1, 0, 0, 0, 1]);
複製代碼
r, g, b, a這裏顏色取值範圍是0.0到1.0,對於傳統的值要轉到頂點顏色值,可以用過0/255,1/255這種方式進行轉換

3.紋理座標
  1. var vertices:Vector.<Number> = Vector.<Number>([
  2.                                 -1,-1,0, 0, 1, // x, y, z, u, v
  3.                                 -1, 1, 0, 0, 0,
  4.                                 1, 1, 0, 1, 0,
  5.                                 1, -1, 0, 1, 1]);
複製代碼
u即是貼圖的x座標,v即是貼圖的y座標
其中u = 0,表示x像素爲0,v爲0表示y像素爲0
其中u = 1,表示x像素爲寬的最大值,v爲1表示y像素爲高的最大值
注意,這裏y+,是向下,即是跟原來的flash的x,y座標系是一樣的。
詳細可以看圖:

通過這個圖,就可以很清晰地知道要怎麼取值啦。
通過小數點,可以取到局部的像素,看到這裏的同學有靈感了嗎?呵呵,實現動畫貼圖呀,下次再詳細講解實現動畫
這次就分享到這裏啦。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章