具體描述
內容簡介
《unity遊戲開發技術》共分為8章,分彆講述unity基礎介紹、unity遊戲場景創建、unity遊戲腳本介紹、unity中模型導入與材質基本概念、模型交互製作、gui圖形界麵、unity中人工智能與生命係統知識和unity遊戲輸齣。
《unity遊戲開發技術》結閤大量unity遊戲開發實例,以介紹unity遊戲實例開發為主綫涵蓋瞭unity遊戲開發過程中所需掌握的各個知識點,主要特點是注重實用性和可操作性,可作為高校學生學習網絡遊戲開發課程的教材,也可以作為網絡遊戲開發人員的學習參考書。 目錄
第1章 unity基礎介紹
1.1 安裝unity 3d
1.2 unity 3d界麵介紹
1.2.1 learning the interface學習界麵
1.2.2 customizing your workspace自定義工作區
1.3 三維導航操作
1.4 unity 3d基本概念
1.4.1 asset workflow資源工作流程
1.4.2 creating scenes創建場景
1.4.3 publishing builds編譯發布
練習題
第2章 創建遊戲基本場景
2.1 工程文件夾的創建
2.1.1 創建一個新的工程文件
2.1.2 保存文件夾中的場景文件
2.2 走動設置
2.2.1 創建地麵
2.2.2 創建燈光
2.2.3 創建走動的物體
2.2.4 場景物體重新命名
2.3 創建箱子並設定物理屬性
2.3.1 創建箱子
2.3.2 給箱子添加物理屬性
2.4 unity預設
2.4.1 預設物體的概念
2.4.2 預設物體的自定義製作
2.4.3 預設物體的應用
2.5 繪製地形
2.5.1 地麵的創建
2.5.2 平行光的添加
2.5.3 地形的抬高與降低
2.6 繪製草叢
2.6.1 添加草坪貼圖
2.6.2 添加草叢
2.7 添加樹木
2.8 天空盒子
2.9 添加霧與影子效果
練習題
第3章 腳本介紹
3.1 unity腳本介紹
3.1.1 unity腳本文件的創建
3.1.2 常用操作
3.2 變量和語法
3.2.1 變量
3.2.2 語法
3.3 函數和事件
3.3.1 函數
3.3.2 事件
3.4 運算符
3.4.1 算術運算符
3.4.2 賦值運算符
3.4.3 比較運算符
3.4.4 邏輯運算符
3.4.5 位運算符
3.4.6 運算符的優先級
3.5 if語句
3.6 switch語句和循環語句
3.6.1 switch語句
3.6.2 循環語句
3.7 unity核心類
3.8 變量作用域
3.8.1 局部變量
3.8.2 成員變量
練習題
第4章 unity中模型的導入與材質的基本概念
4.1 利用3ds max三維軟件製作3d模型及uv貼圖製作
4.1.1 利用3ds max製作3d模型
4.1.2 利用3ds max製作uv貼圖
4.1.3 normal法綫凹凸貼圖的製作
4.2 材質貼圖規範
4.3 unity中的著色器
4.4 unity中模型導入
4.5 unity中有趣的三維坐標軸
4.6 局部與全局坐標係
4.7 投擲物體實例製作
練習題
第5章 與模型的交互製作
5.1 牆體的交互動畫製作
5.1.1 為物體添加動畫
5.1.2 為動畫添加腳本
5.1.3 設置動畫開啓範圍
5.2 special effects特效
5.2.1 理解粒子係統
5.2.2 火花的點燃
5.3 武器與爆炸特效製作
5.3.1 拾取物體
5.3.2 準備手榴彈
5.3.3 手榴彈腳本編寫
5.3.4 添加爆炸
5.3.5 爆炸腳本編寫
5.4 添加音效
練習題
第6章 gui圖形用戶界麵和菜單
6.1 理解unity gui圖形用戶界麵
6.1.1 game interface elements遊戲界麵元素
6.1.2 gui scripting guide用戶圖形界麵腳本指南
6.1.3 unitygui basics圖形用戶界麵基礎
6.2 添加gui到遊戲中
6.3 gui腳本編寫
6.4 生命係統(一)
6.4.1 添加生命值gui
6.4.2 生命值腳本編寫
6.5 3d主菜單
6.5.1 添加一個3d主菜單
6.5.2 3d主菜單腳本編寫
6.6 炮塔
6.6.1 炮塔的準備和清理
6.6.2 炮塔對玩傢實現跟隨性目標注視
練習題
第7章人工智能與生命係統
7.1 ai人工智能
7.2 應用ai人工智能
7.3 槍支動畫
7.4 攻擊時間計算
7.5 生命係統(二)
7.5.1 減血係統
7.5.2 遊戲結束目錄
練習題
第8章 輸齣遊戲
8.1 build settings對話框
8.2 品質設定
8.3 玩傢設定
練習題
附錄1 unity 3d快捷鍵一覽錶
附錄2 unity 3d運算符一覽錶
附錄3 monobehaviour基類介紹 精彩書摘
6.1.3 UnityGUI Basics圖形用戶界麵基礎
Unity 3D中通常用OnGUI()函數來調用UnityGUI控件。OnGUI()包含在腳本組件中,和同樣包含在其中的Update()函數一樣,當腳本組件被激活時,在遊戲項目運行的每一幀中都會被調用。GUI控件的聲明需要包括三種必要的關鍵信息:
Type(Position,Content)
類型(定位,內容)
Type類型
Control Types控件類型為GUI類的函數,用於實現種類繁多的GUI的創建,方便用戶在Game視圖中完成各種功能。常見類型有:Label標簽、Button按鈕、RepeatButton重復按鈕、TextField文本域、TextArea文本區域、Taggle開關、Toolbar工具欄等。
注意:詳見Unity聖典組件參考手冊http://game.ceeger.com/Components/gui—Controls.html。
Position定位
GUI控件函數的第一個參數用於定位。定位參數由Rect()函數生成。Rect()定義瞭4個對應屏幕空間像素單位的Integer值屬性,分彆對應左、頂、寬、高。因為UnityGUI控件均工作在屏幕空間,所以屏幕空間嚴格對應播放器的像素分辨率。
屏幕空間坐標係基於左上角,如Rect(10,20,300,100)定XT—個從坐標(10,20)開始,到坐標(310,120)結束的方形。應該注意的是Rect的第二對值是寬和高,而不是控件結束的坐標,即例子中方形覆蓋結束的位置是(310,120)而不是(300,100)。
Content內容
GUI控件的第二個參數是在控件中實際顯示的內容。如需要在控件中顯示一些文字或圖片的情況。
案例6—2
(1)繼續上一小節的操作,打開GUItext.unity文件。
(2)在Unity菜單欄中執行Assets→Create→JavaScript命令,創建一個新的腳本文件,並重命名為“GUIText2”;在Project麵闆中雙擊該腳本文件,打開腳本編輯器,輸入以下腳本語句:
(3)按Ctrl+S組閤鍵,保存腳本。
(4)在Project麵闆中選擇GUIText2腳本對象,並將其拖拽到Hierarchy麵闆中的MainCamera攝像機對象上,即使腳本對象與場景中遊戲對象産生關聯。
…… 前言/序言
《Unity遊戲開發技術》是一本緻力於為你打開遊戲開發大門的實踐指南。本書並非僅僅羅列技術名詞,而是以一種深入淺齣的方式,帶領你一步步從零開始,掌握開發一款完整、有趣、並且具有商業潛力的Unity遊戲所必需的核心技能與流程。 為何選擇Unity? 在書籍的開篇,我們會詳細剖析Unity引擎之所以成為全球最受歡迎的遊戲開發平颱之一的關鍵原因。你將瞭解到Unity的跨平颱能力,這意味著你隻需編寫一次代碼,就可以輕鬆發布到PC、Mac、iOS、Android、主機甚至Web平颱,極大地擴展瞭遊戲的觸達範圍。同時,Unity強大的可視化編輯器、豐富的資源商店、以及活躍的社區支持,都為遊戲開發者提供瞭前所未有的便利和高效。本書將讓你深刻理解Unity的“所見即所得”開發模式,如何通過直觀的界麵進行場景搭建、物體擺放、參數調整,讓你將腦海中的創意迅速轉化為屏幕上的初步雛形。 從入門到精通:核心技能的係統構建 本書的內容設計遵循由淺入深、循序漸進的學習路徑,確保無論你是初學者還是有一定編程基礎的開發者,都能找到適閤自己的學習節奏。 C編程基礎與遊戲邏輯: 遊戲開發離不開編程。本書將提供一套針對遊戲開發的C入門教程。你無需成為編程大神,但需要理解變量、數據類型、運算符、條件語句(if-else)、循環語句(for, while)、函數(方法)等基本概念。更重要的是,我們會將這些編程概念與遊戲開發場景緊密結閤,例如如何使用C腳本控製角色的移動、跳躍,如何響應玩傢的輸入,如何實現簡單的AI行為。你將學會如何創建和掛載腳本,理解Unity中的`MonoBehaviour`生命周期函數(如`Awake`, `Start`, `Update`, `FixedUpdate`)在遊戲邏輯中的作用。 Unity編輯器精通: Unity的編輯器是你的主要工作颱。本書將深入講解編輯器的各個重要麵闆: Scene視圖: 如何在三維空間中導航、創建、編輯場景中的遊戲對象(GameObjects)。 Inspector麵闆: 理解組件(Components)的概念,學會添加、配置各種預設組件(如Transform, Mesh Renderer, Collider, Rigidbody, Animator)以及自定義腳本組件。 Hierarchy窗口: 如何組織場景中的遊戲對象,創建父子關係,管理層級結構。 Project窗口: 如何導入、管理項目中的資源(模型、貼圖、音頻、預製體等),並瞭解Unity的資源導入設置。 Console窗口: 如何查看編輯器輸齣的日誌信息,調試代碼錯誤。 2D與3D遊戲開發基礎: 本書將分彆介紹2D和3D遊戲開發的核心技術。 2D遊戲: 講解SpriteRenderer組件,如何切割Sprite圖集,實現動畫(Animation Clips, Animator Controllers), Tilemap係統用於關卡設計,2D物理(Rigidbody 2D, Collider 2D),以及2D攝像機設置。 3D遊戲: 講解3D模型導入與渲染,材質(Materials)與著色器(Shaders)的基礎概念,光照(Lighting)係統(Directional Light, Point Light, Spot Light, Baked Lightmaps),陰影(Shadows)的設置,以及3D物理(Rigidbody, Collider)的應用。 用戶界麵(UI)設計與實現: 任何遊戲都需要用戶界麵來提供信息、接收指令。本書將詳細介紹Unity的UI係統(UGUI),包括Canvas、RectTransform、Image、Text、Button、Slider等常用UI元素的創建與布局,如何響應UI事件(如按鈕點擊),以及構建復雜UI界麵的方法。 動畫與特效: 遊戲需要生動的視覺錶現。你將學習如何使用Unity的Animator係統創建角色動畫,控製動畫狀態機,實現平滑的動畫過渡。同時,本書也會介紹粒子係統(Particle System)的使用,為遊戲添加火焰、爆炸、魔法等視覺特效,讓遊戲更具錶現力。 物理引擎的應用: Unity強大的物理引擎為遊戲提供瞭真實的交互體驗。你將學習如何使用Rigidbody組件和各種Collider組件(Box Collider, Sphere Collider, Capsule Collider, Mesh Collider)來實現碰撞檢測、剛體動力學模擬,例如角色與環境的碰撞,物體的墜落,以及更復雜的物理交互。 音頻集成: 聲音是遊戲不可或缺的一部分。本書將指導你如何導入音頻素材,使用AudioSource組件播放背景音樂和音效,如何實現音量控製和3D音效。 資源管理與性能優化: 隨著項目規模的增大,資源管理和性能優化變得至關重要。你將學習如何有效地組織項目資源,如何使用Prefabs(預製體)進行復用,如何分析遊戲的性能瓶頸,以及一些基礎的性能優化技巧,以確保遊戲流暢運行。 關卡設計與場景搭建: 從簡單的場景布局到復雜的關卡結構,本書將引導你掌握使用Unity編輯器進行場景搭建的技巧,如何擺放遊戲對象,如何利用地形係統(Terrain System)創建真實感的環境。 項目驅動的學習模式 本書最大的特色在於其“項目驅動”的學習模式。我們不隻是講解單個技術點,而是通過構建一係列從小到大、由淺入深的實際遊戲項目來鞏固和應用所學知識。你將從製作一個簡單的“推箱子”遊戲開始,逐步過渡到更復雜的2D平颱跳躍遊戲,再到具有基本3D交互的射擊遊戲或冒險遊戲。每一個項目都會清晰地講解項目需求、開發步驟、關鍵技術點以及最終實現的效果。通過親手完成這些項目,你將獲得寶貴的實踐經驗,並且能夠理解一個完整的遊戲是如何從概念逐步轉化為可玩産品的。 深入理解與問題解決 在講解過程中,本書還會穿插一些關於常見問題、調試技巧以及進階概念的討論。例如,如何理解`Time.deltaTime`在`Update`函數中的作用,如何處理不同分辨率下的UI適配問題,如何在多人遊戲中處理網絡同步等(此處隻為提及進階方嚮,具體內容按本書實際編排)。我們的目標是讓你不僅僅學會“怎麼做”,更能理解“為什麼這麼做”,從而培養獨立解決問題的能力。 書籍的價值與讀者收獲 閱讀《Unity遊戲開發技術》將為你帶來: 1. 紮實的遊戲開發基礎: 係統掌握Unity引擎的核心功能與C編程在遊戲開發中的應用。 2. 完整的項目開發經驗: 通過實踐項目,親身體驗遊戲開發的完整流程。 3. 解決實際問題的能力: 學會如何分析問題、查找資料、以及運用所學知識解決開發中的挑戰。 4. 為進階學習打下堅實基礎: 理解本書內容後,你將能夠更輕鬆地學習Unity的進階技術,如Shader編程、網絡開發、VR/AR開發等。 5. 將創意變為現實的工具: 獲得將自己腦海中的遊戲創意付諸實踐的能力。 無論你是懷揣遊戲夢的學生、希望轉型遊戲開發的程序員、還是對遊戲製作充滿好奇的愛好者,本書都將是你不可或缺的夥伴。它將帶領你走進一個充滿創造力和無限可能的遊戲開發世界。
最近入手瞭《Unity遊戲開發技術》,本來隻是抱著試試看的心態,沒想到收獲頗豐。作為一名熱愛獨立遊戲開發的愛好者,我一直希望能將腦海中的創意轉化為實際的遊戲。然而,開發過程中的技術難題常常讓我望而卻步。這本書恰恰彌補瞭我在這方麵的不足。 這本書的敘事方式非常生動有趣,它不像傳統的技術書籍那樣枯燥乏味,而是通過一個個精心設計的遊戲案例,將復雜的概念變得易於理解。我尤其喜歡書中關於關卡設計和遊戲機製實現的章節。它詳細講解瞭如何利用Unity的地形工具創建宏偉的場景,如何通過觸發器和事件係統來構建豐富多樣的遊戲交互,以及如何實現玩傢的輸入響應和AI的簡單行為。 書中對UI界麵的設計和實現也做瞭深入的講解,讓我學會瞭如何利用Unity的UGUI係統創建美觀且功能強大的用戶界麵,包括按鈕、文本框、滑動條等等,並且還涉及到如何通過腳本來動態控製UI元素的顯示和交互。這對於提升遊戲的整體用戶體驗至關重要。 更讓我興奮的是,書中還介紹瞭一些關於遊戲音效和音樂的集成技巧,以及如何利用Unity的動畫係統來實現角色的動作和錶情,讓遊戲角色更加生動。這些細節的補充,讓我的遊戲項目在視覺和聽覺上都得到瞭顯著的提升。 《Unity遊戲開發技術》就像一個經驗豐富的遊戲開發嚮導,它不僅教會瞭我“如何做”,更讓我明白瞭“為什麼這麼做”。它用一種循序漸進的方式,引導我從零開始構建一個完整的遊戲原型,並在過程中不斷解決遇到的技術難題。 這本書讓我對獨立遊戲開發充滿瞭信心,它是我實現遊戲夢想道路上不可或缺的夥伴。