原文地址:www.bit-101.com/tutorials/perspective.html 原文作者:Keith Peters PS:第一次翻譯的,錯的請指出。
這里我簡單的對3D投影做了解釋,首先我們看看3D完美運用的網(wǎng)站:http://www.voxangelica.net
在New Masters of Flash 2002 Annual看了他發(fā)表的文章并且學(xué)到了很多,我現(xiàn)在嘗試去分析這個3D效果: ------ 最基礎(chǔ)的3D投影公式是: scale=fl/(fl+z); //這里我理解scale為投影比例 fl是焦點距離(也就是眼睛到屏幕的距離) z是物體在屏幕里的深度; --------------- 看看下面的剖面圖:
你可以知道焦距f1和(z+f1); Scale=fl/(fl+z); 這里定義f1=150; 如果z=0,你可以得出: Scale = 150/(150+0);
再看下面: 如果z=100,你可以得出: Scale = 150/(150+100); 投影比例將為0.6。 如果 z=500(離屏幕很遠很遠...) Scale = 150/(150+500); 投影比例將大約為0.23;
從上面你可以看出當(dāng)你不斷增加Z時,投影比例scale將會越來越小,不斷接近0,當(dāng)Z剛好為0的或者剛好在屏幕上,投影比例將會為1.
但要怎樣運用投影比例?你會從上面的圖解發(fā)現(xiàn),當(dāng)距離屏幕的距離不斷變大時,有兩樣?xùn)|西會減少: 1.物體的大; 2.越來月接近中點或者消失點; 但在FLASH語言中僅僅和_xscale 和 _yscale 和 _x 和 _y.有關(guān); 下面你會得知如何運用它,首先你要定義你的X,Y和Z的值,你可以這樣寫:
scale=fl/(fl+z); _x=x*scale; _y=y*scale; _xscale = _yscale = scale*100;
你可以從中看出地平線或者消失點是在(0,0)點。總的來說,當(dāng)物體離你越來越遠,它們將會接近消失點(0,0),而在FLASH中,就是主舞臺左上角的點,如果你要使你的物體放在屏幕的中間,你可以像下面這樣寫:
xcenter=275; ycenter=200; scale=fl/(fl+z); _x=x*scale+xcenter; _y=y*scale+ycenter; _xscale = _yscale = scale*100;
你現(xiàn)在要了解在中心的左邊是X軸的負方向,正方向是中心點的右邊,Y軸的負方向在你視線的上方,下方是Y軸的正方向.
我希望你可以了解和運用我說的和不斷的使它演變的更有趣;如果你成功了,請務(wù)必要告訴我,如果你有任何意見或深一步分析最后的結(jié)論,請將副本發(fā)給我參考,謝謝。
下載源文件
出處:藍色理想
責(zé)任編輯:qhwa
◎進入論壇Flash專欄版塊參加討論
|