幫助中心 | 我的帳號 | 關於我們

Unity3D腳本編程(使用C#語言開發跨平台遊戲)

  • 作者:陳嘉棟
  • 出版社:電子工業
  • ISBN:9787121297182
  • 出版日期:2016/09/01
  • 裝幀:平裝
  • 頁數:389
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

內容大鋼
    陳嘉棟編著的《Unity3D腳本編程(使用C#語言開發跨平台遊戲)》以Unity 3D的跨平台基礎Mono以及其遊戲腳本語言C#為基礎進行講解。全面系統地剖析了Unity 3D的跨平台原理以及遊戲腳本開發的特點。
    第1章主要介紹了Unity 3D引擎的歷史以及編輯器的基本知識;第2章主要介紹了Mono,以及Unity 3D利用Mono實現跨平台的原理,並且分析了C#語言為何更加適合Unity 3D遊戲開發;第3章到第10章主要介紹了Unity 3D遊戲腳本語言C#在使用Unity 3D開發過程中的知識點,包括Unity 3D腳本的類型基礎、數據結構、在Unity 3D腳本中使用泛型、使用委託和事件打造自己的消息系統、利用定製特性來拓展Unity 3D的編輯器、Unity 3D協程背後的秘密——迭代器以及可空類型和序列化在Unity 3D中使用的相關知識;第11章到第14章,則主要介紹了Unity 3D的資源管理以及優化和編譯的內容。
    無論是初次接觸Unity 3D腳本編程的新人,還是有一定經驗的老手,相信都可以借本書來提高自己在Unity 3D方面的水平。

作者介紹
陳嘉棟
    陳嘉棟,畢業於大連海事大學,目前任光字在線客戶端高級開發工程師。博客園推薦博客作者,微軟2015年度Visual Studio and DevelopmentTechnologies最有價值專家(Most ValuableProfessional)。認為編程首先是愛好,其次才是職業。專註前沿技術,熱愛開源,深信代碼改變世界。     沒有值得吹噓的項目,只有不斷前行的動力。

目錄
第1章  Hello Unity 3D
  1.1  Unity 3D 遊戲引擎進化史
  1.2  Unity 3D 編輯器初印象
    1.2.1  Project 視圖
    1.2.2  Inspector 視圖
    1.2.3  Hierarchy 視圖
    1.2.4  Game 視圖
    1.2.5  Scene 視圖
    1.2.6  繪圖模式
    1.2.7  渲染模式
    1.2.8  場景視圖控制
    1.2.9  Effects 菜單和Gizmos 菜單
  1.3  Unity 3D 的組成
  1.4  為何需要遊戲腳本
  1.5  本章總結
第2章  Mono 所搭建的腳本核心基礎
  2.1  Mono 是什麼
    2.1.1  Mono 的組成
    2.1.2  Mono 運行時
  2.2  Mono 如何扮演腳本的角色
    2.2.1  Mono 和腳本
    2.2.2  Mono 運行時的嵌入
  2.3  Unity 3D 為何能跨平台?聊聊CIL
    2.3.1  Unity 3D 為何能跨平台
    2.3.2  CIL 是什麼
    2.3.3  Unity 3D 如何使用CIL 跨平台
  2.4  腳本的選擇,C# 或 JavaScript
    2.4.1  最熟悉的陌生人——UnityScript
    2.4.2  UnityScript 與 JavaScript
    2.4.3  C#與UnityScript
  2.5  本章總結
第3章  Unity 3D 腳本語言的類型系統
  3.1  C#的類型系統
  3.2  值類型和引用類型
  3.3  Unity 3D 腳本語言中的引用類型
  3.4  Unity 3D 遊戲腳本中的值類型
    3.4.1  Vector2、Vector3 以及Vector4
    3.4.2  其他常見的值類型
  3.5  裝箱和拆箱
  3.6  本章總結
第4章  Unity 3D 中常用的數據結構
  4.1  Array 數組
  4.2  ArrayList 數組
  4.3  List<T>數組
  4.4  C#中的鏈表——LinkedList<T>
  4.5  隊列(Queue<T>)和棧(Stack<T>)
  4.6  Hash Table(哈希表)和Dictionary<K,T>(字典)
  4.7  本章總結
第5章  在Unity 3D 中使用泛型
  5.1  為什麼需要泛型機制

  5.2  Unity 3D 中常見的泛型
  5.3  泛型機制的基礎
    5.3.1  泛型類型和類型參數
    5.3.2  泛型類型和繼承
    5.3.3  泛型介面和泛型委託
    5.3.4  泛型方法
  5.4  泛型中的類型約束和類型推斷
    5.4.1  泛型中的類型約束
    5.4.2  類型推斷
  5.5  本章總結
第6章  在Unity 3D 中使用委託
  6.1  向Unity 3D 中的SendMessage 和BroadcastMessage 說拜拜
  6.2  認識回調函數機制——委託
  6.3  委託是如何實現的
  6.4  委託是如何調用多個方法的
  6.5  用事件(Event)實現消息系統
  6.6  事件是如何工作的
  6.7  定義事件的觀察者,實現觀察者模式
  6.8  委託的簡化語法
    6.8.1  不必構造委託對象
    6.8.2  匿名方法
    6.8.3  Lambda 表達式
  6.9  本章總結
第7章  Unity 3D 中的定製特性
  7.1  初識特性——Attribute
    7.1.1  DllImport 特性
    7.1.2  Serializable 特性
    7.1.3  定製特性到底是誰
  7.2  Unity 3D 中提供的常用定製特性
  7.3  定義自己的定製特性類
  7.4  檢測定製特性
  7.5  親手拓展Unity 3D 的編輯器
  7.6  本章總結
第8章  Unity 3D 協程背後的迭代器
  8.1  初識Unity 3D 中的協程
    8.1.1  使用StartCoroutine 方法開啟協程
    8.1.2  使用StopCoroutine 方法停止一個協程
  8.2  使用協程實現延時效果
  8.3  Unity 3D 協程背後的秘密——迭代器
    8.3.1  你好,迭代器
    8.3.2  原來是狀態機
    8.3.3. 狀態管理
  8.4  WWW和協程
  8.5  Unity 3D 協程代碼實例
  8.6  本章總結
第9章  在Unity 3D 中使用可空型
  9.1  如果沒有值
  9.2  表示空值的一些方案
    9.2.1  使用魔值
    9.2.2  使用標誌位

    9.2.3  借助引用類型來表示值類型的空值
  9.3  使用可空值類型
  9.4  可空值類型的簡化語法
  9.5  可空值類型的裝箱和拆箱
  9.6  本章總結
第10章  從序列化和反序列化看Unity 3D 的存儲機制
  10.1  初識序列化和反序列化
  10.2  控制類型的序列化和反序列化
    10.2.1  如何使類型可以序列化
    10.2.2  如何選擇序列化的欄位和控制反序列化的流程
    10.2.3  序列化、反序列化中流的上下文介紹及應用
  10.3  Unity 3D 中的序列化和反序列化
    10.3.1  Unity 3D 的序列化概覽
    10.3.2  對Unity 3D 遊戲腳本進行序列化的注意事項
    10.3.3  如何利用Unity 3D 提供的序列化器對自定義類型進行序列化
  10.4  Prefab 和實例化之謎——序列化和反序列化的過程
    10.4.1  認識預製體Prefab
    10.4.2  實例化一個遊戲對象
    10.4.3  序列化和反序列化之謎
  10.5  本章總結
第11章  移動平台動態讀取外部文件
  11.1  假如我想在編輯器里動態讀取文件
  11.2  移動平台的資源路徑問題
  11.3  移動平台讀取外部文件的方法
  11.4  使用Resources 類載入資源
  11.5  使用WWW類載入資源
    11.5.1  利用WWW類的構造函數實現資源下載
    11.5.2  利用 WWW.LoadFromCacheOrDownload 方法實現資源下載
    11.5.3  利用WWWForm 類實現POST 請求
  11.6  本章總結
第12章  在Unity 3D 中使用AssetBundle
  12.1  初識AssetBundle
  12.2  使用AssetBundle 的工作流程
    12.2.1  開發階段
    12.2.2  運行階段
  12.3  如何使用本地磁碟中的AssetBundle 文件
  12.4  AssetBundle 文件的平台兼容性
  12.5  AssetBundle 如何識別資源
  12.6  本章總結
第13章  Unity 3D 優化
  13.1  看看Unity 3D 優化需要從哪裡著手
  13.2  CPU 方面的優化
    13.2.1  對DrawCall 的優化
    13.2.2  對物理組件的優化
    13.2.3  處理內存,卻讓CPU 受傷的GC
    13.2.4  對代碼質量的優化
  13.3  對GPU 的優化
    13.3.1  減少繪製的數目
    13.3.2  優化顯存帶寬
  13.4  內存的優化

    13.4.1  Unity 3D 的內部內存
    13.4.2  Mono 的托管內存
  13.5  本章總結
第14章  Unity 3D 的腳本編譯
  14.1  Unity 3D 腳本編譯流程概覽
  14.2  JIT 即時編譯
    14.2.1  使用編譯器將遊戲腳本編譯為托管模塊
    14.2.2  托管模塊和程序集
    14.2.3  使用JIT 編譯執行程序集的代碼
    14.2.4  使用JIT 即時編譯的優勢
  14.3  AOT 提前編譯
    14.3.1  在Unity 3D 中使用AOT 編譯
    14.3.2  iOS 平台和Full-AOT 編譯
    14.3.3  AOT 編譯的優勢
  14.4  誰偷了我的熱更新?Mono、JIT 還是iOS
    14.4.1  從一個常見的報錯說起
    14.4.2  美麗的JIT
    14.4.3  模擬JIT 的過程
    14.4.4  iOS 平台的自我保護
  14.5  Unity 3D 項目的編譯與發布
    14.5.1  選擇遊戲場景和目標平台
    14.5.2  Unity 3D 發布項目的內部過程
    14.5.3  Unity 3D 部署到Android 平台
    14.5.4  Unity 3D 部署到iOS 平台
  14.6  本章總結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032