最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

godot 像素平臺游戲1 創(chuàng)建tile和character

2023-04-08 13:05 作者:damedown  | 我要投稿

視頻位置

https://www.youtube.com/watch?v=f3WGFwCduY0&list=PL9FzW-m48fn1iR6WL4mjXtGi8P4TaPIAp&index=53&ab_channel=HeartBeast

資源位置

https://kenney.nl/assets/pixel-platformer


一、資源導入

????在游戲中,texture的大小并不一定和實際想顯示的相關聯(lián),尤其是3D游戲普及后,圖片基本上默認為線性采樣,所以第一件事就是設置出像素顯示的渲染參數(shù)。

????1、預設導入2D

????在godot的2D渲染管道,是沒有vector3,全部使用vector2,所以選擇2D,godot會默認為像素渲染,不會開啟線性采樣。

????把下載的資源packed的導入進去。

????

????2、設置viewport

????進入project settings

????打開專業(yè)設置

????把viewport設置為320*180

viewport是會在渲染管道默認渲染320*180的輸出整列,超過的全部砍掉不渲染。和widow width不一樣。

? ? 3、隨便創(chuàng)建一個tscn,取名教world

????給他創(chuàng)建一個node2D節(jié)點(空的沒法保存)

????運行,得到一個超級小的窗口,4k顯示器,這個platform窗口還沒半個巴掌大。

????4、設置窗口大小,和拉升模式

????tips:stretch 拉升

????viewport顧名思義就是設置為2D輸出。

????5、拖入tile-packed

????把圖片拖入主窗口,會自動創(chuàng)建sprite2D,運行就可以看到像素模式的顯示了。

????檢測完成后,刪除這個sprite2D。

????

????6、這里推薦5、1、2、3、4的順序進行操作。

????先看完在操作,也就不會做一步忘一步。

二、創(chuàng)建tile

????1、創(chuàng)建一個staticbody,靜態(tài)角色

????

????staticbody,表示他不會經(jīng)常動,他的vertex頂點坐標,會被打包放到顯存中的static_mem中,這也不代表他不能動,修改顯存的時間成本很高。

????要創(chuàng)建動態(tài)它的子類有一個可動靜態(tài)體

????因為顯存中也有會偶爾修改顯存的專屬顯存,這可以用來創(chuàng)建移動的平臺。

????如果每幀都得改變vertex的話。就保存到rigidbody里面。

????詳細情況去閱讀opengl中buffer操作的細節(jié)。用不到半小時。

????

????2、給staticbody創(chuàng)建sprite和collsion

????其中staticbody會表示sprite的vertex不會經(jīng)常變動,會放到基本不修改的顯存的位置保存。

????collision會在物理碰撞中添加一個碰撞體。具體參考godot的開源代碼,因為這玩意沒有直接套用常用的2d碰撞體,而是自己改了改。

????實際上staticbody在編程上面之屬于node的一個參數(shù),godot把它設置為專門的node子類,更加直觀,非常棒。

????3、給sprite2D設置為tile

????????拖進去

????打開region

????

????打開grid snap 網(wǎng)格切割,每個網(wǎng)格間距為18*18,網(wǎng)格與網(wǎng)格之間的偏移為0,網(wǎng)格開始的偏移為0.


? ?????打開scene的gird,設置為9*9,這樣可以有吸附功能,非常的爽

????????把collision設置為方形的

????適當調(diào)整下

????這里顯示的碰撞是半透明的在上面,因為編輯器的渲染是先來在下面的模式

????如果看不到collisionshape,把它collisionshape放到sprite下面就好了。

????

????4、把scene保存了。

????????5、把它拖到world試一試,ctrl+D就是創(chuàng)建副本,創(chuàng)建多個

????

? ? 三、創(chuàng)建character

????character(扮演角色)

????1、創(chuàng)建character

? ? tips:collisionobject表示的是用來會產(chǎn)生碰撞的物體,并不代表他有碰撞的功能,這是godot的門檻,就好比“我心理特征是女性,但是我沒有孕育生命的器官,而且也沒有長一根棒子,你需要給我添加一個,如果不添加那我就不做了唄”。

????這里的character只是個名字,代表未來分配到哪里,就像剛剛上大學的大一新生一樣,說的是清華大學,實際上還沒有清華大學大四畢業(yè)生的能力,需要給配教授。

????2、加上animatedsprite和collision

????3、創(chuàng)建animation

????點一下,就會出一個ui

簡單科普

? ? ? ? L1添加動畫的

????????L2動畫播放控制

????????L3,第一個為導入文件夾內(nèi)的素材,比如拆封過的sprite,第二個為導入整體tile

????????L4插入空白幀

????????L5左右移動幀


????????Idle是我已經(jīng)改了名字的,翻譯就是休息。

????????4、導入素材

橫著9個,豎著3個

選擇3-1導入,可以多選。

????5、修改碰撞體

????sprite擋住了collision

????6、保存為player1,拖入world

????7、運行

????懸空的,因為沒有重力。

? ? rigidbody是自帶重力的,character不僅僅可以用到platform游戲。還會用在2D平面游戲,如果這時候有重力,會往下掉。

????

????四、給character加入重力

????????1、創(chuàng)建腳本

????2、godot會自動給你寫代碼

????3、現(xiàn)在已經(jīng)可以正常跳躍和移動了


總結(jié):

? ? 基本就是C語言寫第一個游戲的引擎版本。簡單快捷,非常好理解。

????如果要學godot,得先看一遍c語言寫游戲,和了解opengl的基本概念。甚至不需要實際操作。

????是我非常推薦獨立工作室,而且是高中生自學的游戲引擎。

godot 像素平臺游戲1 創(chuàng)建tile和character的評論 (共 條)

分享到微博請遵守國家法律
阿尔山市| 克山县| 湟中县| 临洮县| 乌兰县| 新泰市| 阿鲁科尔沁旗| 桃园县| 枣庄市| 襄樊市| 巴楚县| 华蓥市| 怀化市| 陇川县| 麻阳| 湄潭县| 金山区| 牡丹江市| 大厂| 盘锦市| 天等县| 二手房| 雷波县| 石嘴山市| 驻马店市| 安义县| 醴陵市| 乐都县| 兴义市| 报价| 关岭| 西乌| 昭平县| 大洼县| 伽师县| 汉沽区| 宣化县| 镇平县| 津市市| 长泰县| 肇庆市|