創作內容

11 GP

【Unity 腳本製作/分享 + 有小demo可玩】 2D Mesh炸開效果!

作者:賴普拿疼潘志遠趴趴鼠│2020-09-27 13:20:18│巴幣:22│人氣:337
放張最近的照騙:

前言先抱怨一下,我硬碟被微軟陰了一次,所以在那顆硬碟裡的專案檔都壞光光,之前在做的貓咪煉金師遊戲也炸掉了
所以第一種作法的程式碼打開有一半變成不能讀的亂碼,RIP。
今天主要講的是第二種做法。


這是我整理出的mesh基本觀念,不知道有沒有錯
  • mesh的vertices 是local座標。
  • uv數量=vertices 數量,是每個點的UV座標,介於(0~1)。
  • triangles[ ]長度=(vertices 數量-2)*3, 左手順時針順序,必為3的倍數。


第一種作法: 用Sprite自己切的Mesh再分割:
Sprite拉進場景時Unity就會先建好它的mesh,好處是可以不用自己再布局mesh,壞處是有些圖Mesh會長很奇怪,像是圖中那張羽毛球圖(專題組員畫的)的mes就很密集,而箱子就只是單單的2片。
我有試著再切割原本的mesh,但會造成uv貼圖位置跑掉,(因為每個獨立mesh的uv空間都是0~1)。


第二種做法:
原理:直接像建模那樣subdivide一個平面,再去計算每個點所對應的位置。

然後我覺得麻煩的是Sprite Sheet動畫的圖檔通常是一張大圖(裡面放了很多動作圖格),所以爆炸時需找到目前他正在播放的圖是哪一小張,再讀出來轉成texture。 簡單的方法是把圖檔放在Resources資料夾讀取。 (作法取自網路)

效果:
圖片會扭曲是因為我有開隨機


程式碼講解:(變數宣告的部分我就沒截圖)
n是單邊指切幾塊,若subdivide=1,則每個邊有n=1+2(頭尾兩個點)個點。
ran只是想讓點不要分布那麼平整而已,可以無視。

重頭戲是三角形

看那個藍色方塊應該比較好理解: (站在白板前想公式發呆www)
每個點的index值= n*X+Y
一個正方形可以切出左上邊三角形、右下邊三角形
公式下面那些數字只是我在驗算而已XD


上面是把一張圖片切成很多塊mesh,但仍然是完整的一塊,所以要用再把每個mesh切出來變成一個GameObject。

然後我放個event來說產生了哪些mesh物件,這樣想對每個mesh做不同處理就可以額外寫個腳本,讓這個腳本維持單一個功能就好。
像是範例裡,我有額外寫個腳本給每個碎片物理與幾秒後摧毀碎片。



雜談:

下面這個範例是我今天和同學參加比賽的成品(1/3),為甚麼是1/3呢? 因為比賽要3小時內依題目要求做出3個遊戲,然後這只是第一個,我們就做到玩起來了ww。 第二題做不到一半,第三題還要做連線下五子棋???瘋了吧

遊戲和程式碼我都放上github了,歡迎參觀
遊戲可以直接下載"Lontoone0927.zip"



最近其實還有學些小東西,有空再一一放上來吧
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4930101
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:獨立開發|Unity|Sprite|Mesh|切割Mesh|小遊戲|獨立遊戲|程式

留言共 3 篇留言

悠閒紅茶(冷卻中)
莫名的厲害啊

09-27 13:41

賴普拿疼潘志遠趴趴鼠
不會[e3]09-27 23:16
is樂小呈
QQ
要不要試試用SourceTree 和Github 做備份
我在執行的專案或重要的文件都會這樣做

09-27 14:05

賴普拿疼潘志遠趴趴鼠
想說硬碟才買不到一個月還不用擔心...[e3]09-27 23:17
KK
有趣!這個炸裂效果好耶~~好玩XDDDD[e12]

09-27 14:27

賴普拿疼潘志遠趴趴鼠
感謝www 有種魔性09-27 23:17
我要留言提醒:您尚未登入,請先登入再留言

11喜歡★news2000tw 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【隨便畫】補一下舊圖... 後一篇:【紓壓繪】真香...

追蹤私訊切換新版閱覽

作品資料夾

leon3715羽球拿金牌爽
小屋小說連載中,歡迎來看,會有好運氣喔看更多我要大聲說18小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】