做為Unity早期的經(jīng)典demo,一直從3.5以后沿用到4.7.x版本。但其內(nèi)部一些做法十分不合理。比如使用過(guò)多的根目錄,
創(chuàng)建怪物和玩家不用SpawnPoint。AI、CheckPoint的代碼實(shí)現(xiàn)過(guò)于隨意,代碼命名風(fēng)格詭異等等。。
并且網(wǎng)上也有很多相關(guān)的學(xué)習(xí)文章,所以我精簡(jiǎn)了一下,將一些有用的部分學(xué)習(xí)并記錄下來(lái)
1.主角武器部分
WeaponSlot為武器主要GameObject節(jié)點(diǎn),里面有各種相關(guān)腳本。
其中瞄準(zhǔn)線(xiàn)(LaserScope)通過(guò)LineRenderer實(shí)現(xiàn):
其Shader額外加了一個(gè)Noise效果,然后通過(guò)腳本改變uv位置和縮放。腳本為L(zhǎng)aserScope,shader路徑AngryBots/FX/LaserScope
而映射在目標(biāo)上的點(diǎn)使用面片,并根據(jù)每幀發(fā)射的射線(xiàn)取得法線(xiàn)方向修改位置和方向。實(shí)現(xiàn)也在LaserScope里
另外,為了防止每一幀多次取得射線(xiàn)導(dǎo)致的開(kāi)銷(xiāo),專(zhuān)門(mén)有一個(gè)腳本PerFrameRaycast緩存射線(xiàn)內(nèi)容,并且每幀更新。