矢量和2D坐標(biāo)系統(tǒng)
沒有深入研究矢量數(shù)學(xué)筹淫。它旨在作為這些主題如何應(yīng)用于Godot游戲開發(fā)的高級概述站辉。矢量數(shù)學(xué)是游戲開發(fā)中必不可少的工具,因此如果你需要更廣泛地了解該主題损姜,請參閱Khan Academy's Linear Algebra series饰剥。
在2D中工作時,你將使用Cartesian coordinates(笛卡爾坐標(biāo))來識別空間中的位置摧阅。 2D空間中的特定位置被寫為一對值汰蓉,例如(4,3),分別表示沿x和y軸的位置棒卷」四酰可以用這種方式描述2D平面中的任何位置祝钢。
在2D空間中,Godot遵循常見的計算機圖形實踐若厚,即將x軸定向到右側(cè)拦英,將y軸定向為:
提示
如果你是計算機圖形學(xué)或游戲開發(fā)的新手,正y軸指向下而不是向上测秸,可能看起來很奇怪疤估,正如你可能在數(shù)學(xué)課上學(xué)到的那樣。然而乞封,這種取向在計算機圖形應(yīng)用中非常普遍做裙。
矢量
你還可以將位置(4,3)視為與(0,0)點或原點的偏移岗憋。想象一下從原點到點的箭頭:
這個箭頭是一個vector(矢量)肃晚。它代表了大量有用的信息,包括點的位置仔戈,(4,3)关串,它的長度m,以及它與x軸的角度θ监徘〗蓿總而言之,這是一個位置矢量凰盔,換句話說墓卦,它描述了一個空間位置。矢量還可以表示移動户敬,加速度或具有x和y分量的任何其他數(shù)量落剪。
在Godot中,向量(vector2代表2D矢量或vector3代表3D矢量)被廣泛使用尿庐,你將在本書的構(gòu)建項目中使用它們忠怖。
像素渲染
Godot的矢量坐標(biāo)是浮點數(shù),而不是整數(shù)抄瑟。這意味著Vector2可以具有小數(shù)值凡泣,例如(1.5,1.5)。由于無法以半像素繪制對象皮假,因此可能會導(dǎo)致pixel art games(像素藝術(shù)游戲)出現(xiàn)視覺問題鞋拟,你需要確保繪制紋理的所有像素。
要解決此問題惹资,請打開 Project | Project Settings并找到側(cè)欄中的Rednding/Qualty部分贺纲,并啟用Ues Pixel Snap,如以下屏幕截圖所示:
如果你在游戲中使用2D像素藝術(shù)布轿,那么在啟動項目時始終啟用此設(shè)置是個好主意哮笆。此設(shè)置對3D游戲無效来颤。