游戲開發基礎——基于Unity游戲引擎( 簡體 字) | |
作者:張帆 | 類別:1. -> 多媒體 -> 遊戲引擎 -> Unity |
出版社:電子工業出版社 | 3dWoo書號: 56470 詢問書籍請說出此書號! 缺書 NT售價: 350 元 |
出版日:8/1/2024 | |
頁數:340 | |
光碟數:0 | |
站長推薦: | |
印刷: | 語系: ( 簡體 字 ) |
ISBN:9787121477348 | 【不接受訂購】 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 游戲引擎介紹 1
1.1 多平臺發布的Unity 1 1.2 Unity的下載和安裝 1 1.2.1 下載Unity 2 1.2.2 安裝Unity 2 1.2.3 注冊Unity 4 1.2.4 啟動Unity 4 1.3 Unity編輯器的布局 5 1.3.1 標題欄 5 1.3.2 主菜單欄 6 1.3.3 Project(項目資源)窗口 13 1.3.4 Hierarchy(層級)窗口 19 1.3.5 Scene(場景)窗口 21 1.3.6 Inspector(組件)窗口 30 1.3.7 Game(游戲預覽)窗口 35 1.3.8 Console(控制臺)窗口 36 1.4 自定義窗口布局 37 1.4.1 使用Unity內置的窗口 布局功能 37 1.4.2 自由設定窗口布局 39 1.5 本章小結 40 1.6 練習題 40 第2章 打地鼠 41 2.1 游戲簡介 41 2.2 游戲規則 41 2.3 游戲開發核心思路 41 2.3.1 洞口位置的存儲結構和計算 41 2.3.2 地鼠出現頻率的控制 42 2.3.3 地鼠的隨機生成和銷毀 42 2.3.4 游戲時長和分數 42 2.3.5 游戲流程圖 43 2.4 游戲實現 43 2.4.1 資源的導入與Sorting Layer 43 2.4.2 生成洞口 45 2.4.3 地鼠的生成 46 2.4.4 打擊地鼠 49 2.4.5 計時功能 50 2.4.6 計分功能 52 2.4.7 游戲結束 53 2.4.8 修改地鼠出現頻率 53 2.4.9 修改圖標 54 2.4.10 添加音效 55 2.4.11 重新開始游戲 56 2.4.12 導出游戲 56 2.5 本章小結 57 2.6 練習題 57 第3章 記憶翻牌 58 3.1 游戲簡介 58 3.2 游戲規則 58 3.3 游戲開發核心思路 58 3.3.1 生成卡牌池 58 3.3.2 洗牌 59 3.3.3 卡牌狀態 60 3.3.4 游戲計分 60 3.3.5 游戲流程圖 61 3.4 游戲實現 61 3.4.1 游戲資源的導入與場景搭建 61 3.4.2 卡牌的位置排列 62 3.4.3 洗牌功能的實現 63 3.4.4 顯示卡牌的背面與 卡牌的圖案 64 3.4.5 設置卡牌狀態 66 3.4.6 卡牌圖案的配對 67 3.4.7 計算分數與步數 69 3.5 本章小結 72 3.6 練習題 72 第4章 拼圖 73 4.1 游戲簡介 73 4.2 游戲規則 73 4.3 游戲開發核心思路 73 4.3.1 碎片對象的生成與位置初始化 73 4.3.2 原圖與碎片位置的對應關系 73 4.3.3 拖動碎片 74 4.3.4 碎片放置位置正確性的判斷 75 4.3.5 游戲流程圖 76 4.4 游戲實現 76 4.4.1 新建工程與導入資源 76 4.4.2 批量讀取碎片 78 4.4.3 生成碎片對象 79 4.4.4 初始化碎片位置 79 4.4.5 計算每個碎片的目標位置 80 4.4.6 拖動鼠標 81 4.4.7 判斷游戲是否勝利 86 4.5 本章小結 87 4.6 練習題 87 第5章 推箱子 88 5.1 游戲簡介 88 5.2 游戲規則 88 5.3 游戲開發核心思路 89 5.3.1 地圖的生成 89 5.3.2 角色位置及移動方向與數組的對應關系 89 5.3.3 分析角色可移動和不可移動情況 90 5.3.4 角色移動的代碼邏輯 90 5.3.5 游戲勝利的判定 92 5.3.6 游戲流程圖 92 5.4 游戲實現 92 5.4.1 資源的導入與切割 92 5.4.2 角色動畫的制作 94 5.4.3 地圖生成的程序實現與代碼重構 95 5.4.4 角色移動方向位置上的Tile類型檢測與實現 97 5.4.5 角色可移動情況的代碼框架實現 99 5.4.6 角色在場景中的移動功能 101 5.4.7 打印地圖快照信息 102 5.4.8 角色移動與地圖快照信息的實時更新 104 5.4.9 推動箱子的功能實現 104 5.4.10 移動代碼的重構優化 109 5.4.11 游戲勝利條件判斷 112 5.5 本章小結 114 5.6 練習題 114 第6章 俄羅斯方塊 115 6.1 游戲簡介 115 6.2 游戲規則 115 6.3 游戲開發核心思路 116 6.3.1 初始化地圖 116 6.3.2 方塊類(Block)的編寫 117 6.3.3 初始化方塊——方塊在地圖中的隨機生成 117 6.3.4 移動和旋轉方塊——修改位置坐標 117 6.3.5 移動和旋轉方塊——邊界判斷 117 6.3.6 移動方塊——向下移動 118 6.3.7 消除滿行方塊 118 6.3.8 游戲結束判斷 118 6.3.9 附加功能——提示下一個方塊 118 6.3.10 游戲流程圖 118 6.4 游戲實現 119 6.4.1 資源的導入 119 6.4.2 地圖的初始化與顯示 121 6.4.3 地圖快照信息的顯示 122 6.4.4 方塊的初始化 124 6.4.5 方塊的隨機生成 128 6.4.6 方塊的移動和旋轉 130 6.4.7 方塊的移動、旋轉與地圖的刷新 134 6.4.8 邊界的判斷 138 6.4.9 滿行的消除 141 6.4.10 游戲結束的判斷 142 6.4.11 附加功能——控制方塊 自動下落的速度 144 6.4.12 附加功能——顯示下 一個方塊的類型 145 6.4.13 附加功能——優化重復 代碼 147 6.5 本章小結 149 6.6 練習題 149 第7章 華容道 150 7.1 游戲簡介 150 7.2 游戲規則 150 7.3 游戲開發核心思路 151 7.3.1 棋子類(Chess)的編寫 151 7.3.2 棋盤盤面布局的生成 151 7.3.3 移動棋子的實現 151 7.3.4 游戲勝利的判斷 156 7.3.5 游戲流程圖 156 7.4 游戲實現 157 7.4.1 資源的導入 157 7.4.2 棋子類的編寫 158 7.4.3 棋盤布局的生成 159 7.4.4 移動棋子——選擇棋子 163 7.4.5 移動棋子——移動1×1棋子 169 7.4.6 移動棋子——移動1×2棋子 173 7.4.7 移動棋子——移動2×1棋子 177 7.4.8 移動棋子——移動2×2棋子 181 7.4.9 游戲勝利的判斷 184 7.5 本章小結 188 7.6 練習題 188 第8章 連連看 189 8.1 游戲簡介 189 8.2 游戲規則 189 8.3 游戲開發核心思路 190 8.3.1 編寫Tile類 190 8.3.2 初始化地圖 190 8.3.3 消除操作 191 8.3.4 繪制連接線 193 8.4 游戲實現 194 8.4.1 導入資源 194 8.4.2 編寫Tile類 196 8.4.3 初始化地圖 197 8.4.4 選擇Tile對象 202 8.4.5 連接判斷——直連、二連、三連 205 8.4.6 連接線的繪制 209 8.5 本章小結 214 8.6 練習題 214 第9章 三消 215 9.1 游戲簡介 215 9.2 游戲規則 215 9.3 游戲開發核心思路 216 9.3.1 編寫Gemstone類 216 9.3.2 初始化游戲場景和地圖 216 9.3.3 消除檢測 217 9.3.4 消除寶石 218 9.3.5 重新洗牌 219 9.3.6 游戲流程圖 219 9.4 游戲實現 220 9.4.1 導入資源與設置場景 220 9.4.2 編寫Gemstone類 221 9.4.3 初始化地圖數據結構和場景 223 9.4.4 選擇寶石 225 9.4.5 消除寶石 228 9.4.6 重新洗牌操作 233 9.5 本章小結 235 9.6 練習題 235 第10章 掃雷 236 10.1 游戲簡介 236 10.2 游戲規則 236 10.2.1 《掃雷》游戲的布局 236 10.2.2 《掃雷》游戲的基本 操作 237 10.3 游戲開發核心思路 237 10.3.1 初始化游戲地圖 237 10.3.2 編寫Tile類 237 10.3.3 隨機生成地雷 238 10.3.4 編寫輔助函數,顯示 地圖信息 238 10.3.5 Tile的交互 238 10.3.6 方格的單擊(左鍵、 遍歷翻開、右鍵) 239 10.3.7 游戲結束判斷 239 10.3.8 UI控制 239 10.3.9 游戲流程圖 240 10.4 游戲實現 240 10.4.1 資源導入與場景設置 240 10.4.2 初始化場景 241 10.4.3 左、右鍵操作 248 10.4.4 游戲結束判斷 252 10.4.5 UI控制 256 10.4.6 重新開始一局游戲 269 10.5 本章小結 270 10.6 練習題 270 第11章 貪吃蛇 271 11.1 游戲簡介 271 11.2 游戲規則 271 11.3 游戲開發核心思路 271 11.3.1 地圖的生成 271 11.3.2 食物的出現 272 11.3.3 蛇的數據結構 272 11.3.4 貪吃蛇的移動算法 272 11.3.5 判斷蛇頭是否撞到了 自身 272 11.3.6 邊界的判斷 273 11.3.7 游戲流程圖 273 11.4 游戲實現 273 11.4.1 資源導入和場景設置 273 11.4.2 編寫Node類 275 11.4.3 初始化場景 276 11.4.4 貪吃蛇的移動 280 11.4.5 結束判定 285 11.5 本章小結 286 11.6 練習題 286 第12章 五子棋 287 12.1 游戲簡介 287 12.2 游戲規則 287 12.2.1 《五子棋》游戲的 棋盤和棋子 287 12.2.2 《五子棋》游戲的 基本規則 288 12.2.3 落子順序 288 12.3 游戲開發核心思路 288 12.3.1 繪制棋盤 288 12.3.2 繪制棋子 289 12.3.3 落子 289 12.3.4 獲勝規則 289 12.3.5 判斷黑方禁手功能 290 12.3.6 游戲流程圖 290 12.4 游戲實現 291 12.4.1 前期準備 291 12.4.2 初始化棋盤地圖 292 12.4.3 編寫落子框架 294 12.4.4 落子 296 12.4.5 連子判斷和勝負判斷 297 12.5 本章小結 302 12.6 練習題 302 第13章 跳棋 303 13.1 游戲簡介 303 13.2 游戲規則 303 13.3 游戲開發核心思路 304 13.3.1 棋盤排列 304 13.3.2 生成棋子 305 13.3.3 棋子在Unity中笛卡兒 坐標系下的位置映射 305 13.3.4 計算可移動位置 306 13.3.5 回合限制 307 13.3.6 游戲勝負判斷 307 13.3.7 游戲流程圖 307 13.4 游戲實現 308 13.4.1 前期準備 308 13.4.2 創建棋格 310 13.4.3 創建棋子 312 13.4.4 選擇棋子 314 13.4.5 判斷鄰近可走棋格 316 13.4.6 單步移動棋子 319 13.4.7 跳子 320 13.4.8 回合限制 322 13.4.9 勝負判斷 324 13.5 本章小結 327 13.6 練習題 327 本書是國家級一流本科專業(數字媒體技術)課程“游戲開發基礎”的指定教材,同時被列為浙江省普通本科高校“十四五”重點立項建設教材。本書以Unity游戲引擎為平臺,詳細闡述了12款經典游戲的實現方法,這些游戲包括《打地鼠》、《記憶翻牌》、《拼圖》、《推箱子》、《俄羅斯方塊》、《華容道》、《連連看》、《三消》、《掃雷》、《貪吃蛇》、《五子棋》和《跳棋》。通過本書的學習和實踐,讀者能夠全面理解和掌握游戲開發的核心算法,同時深刻領悟數據結構等基礎知識在游戲開發中的實際應用,培養全面的工程思維。通過學習本書內容,讀者不僅能夠熟練掌握游戲引擎的運用,更能夠靈活運用數據結構、數學思路等理論知識進行游戲創作。本書既適合作為各院校相關專業的教材,又適合作為對游戲開發感興趣的讀者的參考書。
2018年8月21日—22日,全國宣傳思想工作會議在北京召開,習近平指出:“要推動文化產業高質量發展,健全現代文化產業體系和市場體系,推動各類文化市場主體發展壯大,培育新型文化業態和文化消費模式,以高質量文化供給增強人們的文化獲得感、幸福感。”黨的二十大報告指出:“實施國家文化數字化戰略,健全現代公共文化服務體系,創新實施文化惠民工程。”“增強中華文明傳播力影響力。堅守中華文化立場,提煉展示中華文明的精神標識和文化精髓,加快構建中國話語和中國敘事體系,講好中國故事、傳播好中國聲音,展現可信、可愛、可敬的中國形象。加強國際傳播能力建設,全面提升國際傳播效能,形成同我國綜合國力和國際地位相匹配的國際話語權。深化文明交流互鑒,推動中華文化更好走向世界。”
在這樣的背景下,數字游戲產業作為數字文化經濟的重要組成部分,也作為一種新的文化傳播媒介,迎來了更加廣闊的發展前景。隨著數字游戲產業的蓬勃發展,對該領域的人才需求也提出了更高的要求。數字游戲產業不僅需要具備專業技能的設計師和開發者,還需要他們傳播積極向上的社會價值觀,展現精彩紛呈的中國故事。這既是一項挑戰,又是一項嶄新的課題。我們應該充分認識到數字游戲產業在文化發展中的重要作用,積極推動其朝著更加健康、積極的方向發展。同時,也需要加強人才培養和引進,為數字游戲產業的持續繁榮和發展提供有力支撐。 在充滿神秘氣息、深邃而廣袤無垠的游戲世界中,每個人仿佛都是掌握命運的創造者。我們可以在這個奇幻的世界中隨心所欲地探索、發現和創新,從輕松愉快的《打地鼠》到充滿中國文化的《華容道》,到引人入勝的《貪吃蛇》,再到震撼人心的《三消》等,每款游戲的誕生都源自設計師無盡的智慧和辛勤的付出。這些游戲不僅為我們提供了娛樂和放松的空間,更成為傳播文化、傳遞價值觀的重要載體。 在這些游戲的背后,隱藏著無數令人著迷的細節和精心設計的謎題,那些獨特的情節設定、扣人心弦的關卡挑戰和別具一格的游戲設定,都為我們帶來了一次又一次的驚喜。從精美的圖像設計到引人入勝的音效,每個元素都經過了精心的雕琢,將我們帶入一個充滿魔力的游戲世界。 你是否曾對這些游戲背后的故事感到好奇,想要一探究竟呢?那些別出心裁的設計理念和奇妙的算法邏輯為游戲的成功奠定了堅實的基礎。正是這些不為人知的細節和謎題,吸引著我們去探索游戲世界的每個角落,去尋找那些隱藏在游戲世界中的寶藏和秘密。在充滿無限可能的游戲世界中,每個人都可以成為真正的創造者。讓我們一起揭開這些游戲的神秘面紗,去領略隱藏在背后的美麗與奇跡吧! 本書將帶領讀者掌握游戲開發的全過程,即從一紙空白到最終實現充滿活力的游戲世界的每個步驟。通過學習這門課程,讀者可以了解游戲開發的核心技術和基本流程。 本書以12款經典游戲的算法為基礎,使用Unity游戲引擎,引導讀者實現多種類型的游戲。無論是輕松休閑的《打地鼠》和《俄羅斯方塊》,還是富有策略性的《推箱子》和《貪吃蛇》,抑或是富有挑戰性的《華容道》、《五子棋》和《跳棋》,讀者都可以運用編程語言和游戲引擎工具實現創意,將想象力和創新轉化為屏幕上活靈活現的游戲。 讀者可以在實踐中掌握各種基本的數據結構和算法在游戲開發中的應用,深入理解游戲運行的機制和原理。同時,讀者可以意識到游戲開發并不是一個孤立的領域,而是需要融合多種學科知識,如計算機科學、數學和物理等。這也是課程設置中強調的跨學科學習的重要性,只有掌握多方面的知識,才能在這個領域中走得更遠。 本書采用Unity游戲引擎的初衷在于它能夠讓游戲開發者更加關注游戲邏輯,而不是底層的技術細節,從而能夠更加聚焦算法本身。 通過學習本書內容,讀者不僅可以提升編程技能,還可以拓寬視野,激發創新思維,養成整體工程觀念。通過不斷地學習和實踐,讀者能夠熟練使用游戲引擎,自主創作自己的游戲世界。無論是在游戲中展示獨特創意,還是在設計中體現技術實力,都將是游戲開發者開發游戲的重要里程碑。 在這個旅程中,讓我們一起打開游戲開發的大門,邁向創意無限的未來!無論你是初入游戲開發領域的新手,還是對游戲設計充滿熱情的玩家,抑或是想要拓展技能的專業人士,本書都將為你提供深入而富有挑戰性的學習體驗。 本書包含配套教學資源,讀者可登錄華信教育資源網免費下載。讀者還可借助“中國大學MOOC”平臺,搜索并參加“一刻鐘學會:游戲開發基礎”的在線學習課程。該線上內容不僅與本書內容相互參照,還融入了更詳盡的內容,可以為讀者提供更加全面的知識體系。另外,讀者還可以在線提出疑問,本書的編寫團隊將會對每個問題予以詳細解答,確保學習過程順暢與準確。 衷心感謝浙江傳媒學院媒體工程學院的同仁,尤其是謝昊老師和吉娜燁老師給予的大力協助。另外,特別感謝褚康、鄧喬印、李婷、沈皓、邵嘉榮、湯玥、王杰、王子權和薛潤婧9位優秀學生,他們為本書提供了非常重要的幫助,協助整理了大量資料,并承擔了精細的校稿工作和關鍵的工程驗證任務。感謝浙江傳媒學院與網易公司共建的“網易產業學院”及與杭州電魂網絡科技有限公司合辦的“數字娛樂燚工作室”的鼎力支持。 由于作者水平有限,書中難免存在不足之處,歡迎廣大讀者批評指正。 |