羅布樂思開發官方指南 從入門到實踐 Sam Teach Yourself Roblox Game Development in 24 Hours: The Official Roblox Guide

[美]羅布樂思公司(Roblox Corporation)

  • 羅布樂思開發官方指南 從入門到實踐-preview-1
  • 羅布樂思開發官方指南 從入門到實踐-preview-2
羅布樂思開發官方指南 從入門到實踐-preview-1

買這商品的人也買了...

商品描述

羅布樂思(Roblox)Studio 是融合了3D 引擎、社交、雲存儲的開發工具,是優質的游戲化教育工具,為各大編程賽事和夏令營提供技術支持。羅布樂思自2019 年被引進中國,一直深耕青少年市場,打造用戶生產內容的平臺,持續構建完全沉浸的數字社區,向著真正的“元宇宙”世界邁進。

 

本書是官方的羅布樂思開發指南。本書旨在幫助讀者學會:

(1)使用內置的地形和照明工具構建身臨其境的自然環境;

(2)建模和導入資源、模型、裝備和紋理;

(3)使用Lua 腳本編寫游戲、動畫和相機移動;

(4)為交互元素設計 GUI;

(5)通過跨平臺游戲將個人游戲分享到多個平臺。

 

本書語言簡單易懂,內容循序漸進,並在每章結尾設置常見問題及其解決方案、測驗和答案等環節,幫助讀者時刻回顧與檢驗所學知識; 並且設置練習環節,鼓勵讀者獨立練習,動手鞏固開發技能。本書尤其適合游戲開發者和教育創新者學習、使用。

 

作者簡介

罗布乐思是一家来自美国的游戏公司,也是全球多人在线创作社区。目前,全球500万的青少年开发者在使用罗布乐思开发作品。使用罗布乐思进行创作可以锻炼开发者的创新思维和动手能力,对青少年开发者具有深远的教育意义。

 

Genevieve Johnson 是罗布乐思公司的高级教学设计师。她负责教育内容方面的管理,指导世界各地的开发者使用罗布乐思循序渐进地学习编程,她的工作可以帮助学生走上企业家、工程师或设计师的道路。在进入罗布乐思公司工作之前,她是iD Tech 的教育内容经理。iD Tech 是美国一个每年有5万名以上6至18岁学生参与的技术教育科技营。在iD Tech 工作期间,她协助推出了一项成功的全女生STEAM 方案,她的团队为60多门相关技术课程开发了教育内容,并提供了从编码到机器人技术再到游戏设计等各种学科的指导。

 

目錄大綱

第 1章 是什麽讓羅布樂思與眾不同 1

1.1 羅布樂思強調社交 2

1.2 羅布樂思的用戶內容管理 3

1.2.1 用戶內容 3

1.2.2 製作創意圖片 4

1.2.3 自定義形象 4

1.3 羅布樂思支持快速開發迭代 5

1.4 輕松創作 6

1.4.1 插件 6

1.4.2 發布更新 7

1.5 羅布樂思Studio 7

1.5.1 聯網 7

1.5.2 物理特性 8

1.5.3 渲染 8

1.5.4 支持跨平臺 9

1.6 免費 9

1.7 無限可能 10

1.8 風格多元 10

總結 11

問答 11

實踐 11

練習 12

 

第 2章 使用羅布樂思Studio 13

2.1 安裝羅布樂思Studio 13

2.1.1 安裝常見問題 14

2.1.2 打開羅布樂思Studio 14

2.2 使用Studio模板 15

2.2.1 所有模板 16

2.2.2 主題模板 16

2.2.3 游戲性模板 17

2.3 使用游戲編輯器 18

2.3.1 佈局游戲編輯器的工作區 19

2.3.2 使用項目管理器窗口 20

2.3.3 創建一個部件 21

2.3.4 使用屬性窗口 22

2.4 平移、縮放和旋轉對象 23

2.4.1 平移 23

2.4.2 縮放 24

2.4.3 旋轉 24

2.4.4 變換 25

2.5 調整量 26

2.6 碰撞 26

2.7 錨固 27

2.8 保存和發布項目 27

2.8.1 保存項目 28

2.8.2 發布項目 28

2.8.3 重新打開項目 28

2.9 游戲測試 29

2.9.1 測試游戲 29

2.9.2 停止測試 30

總結 30

問答 31

實踐 31

練習 32

 

第3章 部件構建系統 33

3.1 創建部件 33

3.2 改變部件的屬性 34

3.2.1 顏色 34

3.2.2 材質 35

3.2.3 反射率和透明度 35

3.3 創建貼花與紋理 37

3.3.1 貼花 37

3.3.2 紋理 39

總結 41

問答 41

實踐 42

練習 42

 

第4章 物理構建系統 44

4.1 使用附件與約束 45

4.2 製作一扇門 47

4.3 關閉CanCollide屬性,讓玩家角色穿過門 48

4.4 增加鉸鏈和彈簧 48

4.4.1 用鉸鏈讓門可以開關 49

4.4.2 創建彈簧 52

4.4.3 使彈簧逼真 53

4.5 使用電機 54

總結 56

問答 56

實踐 57

練習 57

 

第5章 創建地形 59

5.1 使用地形工具生成地形 60

5.2 使用編輯選項卡 62

5.2.1 使用增加工具添加地形 63

5.2.2 使用減少工具改變地形 63

5.2.3 使用增長工具提升地形 64

5.2.4 使用侵蝕工具移除地形 65

5.2.5 使用平滑工具細化地形 65

5.2.6 使用展平工具展平地形 66

5.2.7 使用繪制工具修改材質 67

5.2.8 使用海平面工具創建水 68

5.3 區域選項卡 69

5.3.1 使用選擇工具選擇地形 69

5.3.2 使用移動工具移動地形 69

5.3.3 使用調整尺寸工具縮放地形 71

5.3.4 使用復制、粘貼和刪除工具 72

5.3.5 使用填充工具填充區域 73

5.4 高度圖和顏色圖 74

5.4.1 高度圖 74

5.4.2 顏色圖 74

總結 75

問答 76

實踐 76

練習 77

 

第6章 光照環境 79

6.1 全局光照屬性 80

6.1.1 Appearance屬性 81

6.1.2 Data和Exposure屬性 83

6.2 光照效果 83

6.3 聚光源、點光源、面光源 86

6.3.1 聚光源 86

6.3.2 點光源 87

6.3.3 面光源 87

總結 88

問答 88

實踐 88

練習 89

 

第7章 大氣 91

7.1 Atmosphere對象的屬性 92

7.1.1 密度 92

7.1.2 偏移 93

7.1.3 霧度 94

7.1.4 顏色 95

7.1.5 眩光 96

7.1.6 衰變色 97

7.2 自定義天空盒 98

7.2.1 製作天空盒 98

7.2.2 自定義天體 100

7.2.3 調整光照顏色 100

總結 102

問答 102

實踐 102

練習 103

 

第8章 效果環境 104

8.1 粒子 104

8.1.1 自定義粒子 105

8.1.2 改變粒子的顏色 106

8.1.3 粒子發射器的屬性 107

8.2 光帶 107

8.2.1 彎曲 109

8.2.2 平滑 110

8.2.3 寬度 110

8.2.4 使用光帶在光線上添加射線效果 111

總結 112

問答 112

實踐 113

練習 113

 

第9章 導入資源 116

9.1 上傳和插入免費模型 116

9.1.1 上傳模型 117

9.1.2 查看上傳的模型 119

9.1.3 插入模型 119

9.2 導入網格 120

9.3 導入紋理 123

9.4 導入音頻 125

總結 125

問答 125

實踐 126

練習 126

 

第 10章 游戲構成與協作 128

10.1 為游戲添加場景 128

10.2 在羅布樂思Studio中協作 130

10.2.1 打開組隊創作 130

10.2.2 在組隊創作中添加和管理用戶 130

10.2.3 查看組隊創作游戲 132

10.2.4 使用羅布樂思Studio聊天 132

10.2.5 關閉組隊創作 133

10.3 在羅布樂思Studio中創建與查看包 133

10.3.1 把對象轉換為包 133

10.3.2 在工具箱中查看包 135

10.3.3 在素材管理器中查看包 135

10.3.4 更新包 136

總結 137

問答 137

實踐 137

練習 138

 

第 11章 Lua概述 139

11.1 使用編程工作區 139

11.2 使用變量修改屬性 141

11.2.1 變量概述 141

11.2.2 創建變量 142

11.2.3 製作半透明炸彈 142

11.3 給代碼添加註釋 143

11.4 使用函數與事件 144

11.4.1 創建函數 145

11.4.2 使用函數引爆炸彈 145

11.4.3 使用事件 146

11.4.4 使用事件控制觸碰時引爆部件 146

11.5 使用條件語句 147

11.6 理解數組和字典 148

11.7 使用循環 149

11.7.1 while循環 149

11.7.2 wait() 149

11.7.3 repeat-until循環 150

11.7.4 for循環 150

11.7.5 ipairs()與pairs() 151

11.8 作用域 152

11.9 創建自定義事件 152

11.10 調試代碼 154

11.10.1 使用字符串調試 154

11.10.2 Lua調試器 154

11.10.3 日誌文件 155

總結 156

問答 156

實踐 157

練習 157

 

第 12章 碰撞、人形 159

12.1 碰撞介紹 159

12.1.1 碰撞保真度 160

12.1.2 顯示和改進碰撞幾何體 160

12.1.3 使用碰撞組編輯器 161

12.1.4 手動使用碰撞組編輯器 162

12.1.5 通過腳本修改碰撞組 162

12.2 檢測碰撞 163

12.2.1 使用.Touched 164

12.2.2 防抖 164

12.3 Humanoid介紹 167

12.3.1 Humanoid所處的層級結構 167

12.3.2 Humanoid的屬性、函數和事件 168

總結 175

問答 175

實踐 176

練習 177

 

第 13章 GUI交互 178

13.1 創建GUI 179

13.1.1 玩家GUI 179

13.1.2 SurfaceGui 181

13.2 GUI基本元素 184

13.3 編寫可交互的GUI 184

13.4 漸變 186

13.5 佈局 187

13.6 製作一個倒計時GUI 189

總結 190

問答 190

實踐 191

練習 191

 

第 14章 動效 193

14.1 使用位置和旋轉 193

14.1.1 把對象從A點移動到B點 194

14.1.2 使用CFrame旋轉部件 196

14.2 使用漸變讓對象平滑移動 199

14.2.1 兩點之間的漸變 200

14.2.2 EasingStyle和EasingDirection 201

14.3 移動整個模型 202

總結 204

問答 204

實踐 204

練習 205

 

第 15章 聲音 207

15.1 創建聲音 207

15.2 導入音頻資源 208

15.3 創建環境聲音 209

15.4 使用代碼觸發聲音 210

15.5 聲音組 211

總結 212

問答 212

實踐 213

練習 213

 

第 16章 使用動畫編輯器 215

16.1 動畫編輯器介紹 216

16.1.1 瞭解模型要求 216

16.1.2 打開動畫編輯器 217

16.2 創建姿勢 217

16.3 保存並導出動畫 220

16.4 緩動 222

16.5 使用逆向運動工具 222

16.5.1 啟用IK 223

16.5.2 固定部件 224

16.6 動畫設置 224

16.6.1 循環 225

16.6.2 優先級 225

16.7 使用動畫事件 225

16.7.1 添加事件 226

16.7.2 移動和刪除事件 226

16.7.3 復制事件 227

16.7.4 在腳本中實現事件 227

16.7.5 替換默認動畫 228

總結 229

問答 229

實踐 230

練習 230

 

第 17章 裝備、傳送、數據存儲 232

17.1 裝備介紹 232

17.1.1 裝備的基礎知識 233

17.1.2 創建裝備 233

17.1.3 裝備的Handle部件 234

17.1.4 裝備的外觀 235

17.1.5 在游戲中使用裝備 235

17.2 傳送 239

17.2.1 在場景中傳送 240

17.2.2 場景之間傳送 242

17.2.3 游戲宇宙 242

17.3 TeleportService 243

17.3.1 TeleportService的常用函數 243

17.3.2 獲取placeId 244

17.3.3 客戶端示例 244

17.3.4 服務器端示例 245

17.4 使用持久數據存儲 247

17.5 數據存儲函數 251

17.6 防範與處理錯誤 252

17.6.1 pcall 253

17.6.2 防止數據丟失 253

總結 253

問答 254

實踐 254

練習 255

 

第 18章 多人游戲編程和客戶端-服務器模型 256

18.1 客戶端-服務器模型 256

18.1.1 Script和LocalScript 257

18.1.2 復制 257

18.2 RemoteFunction和RemoteEvent 257

18.2.1 使用RemoteFunction和RemoteEvent 259

18.2.2 創建RemoteEvent 259

18.3 服務器驗證 261

18.4 隊伍 262

18.4.1 添加隊伍 262

18.4.2 自動把玩家分配到隊伍中 263

18.4.3 手動把玩家分配到隊伍中 263

18.5 網絡所有權 264

總結 265

問答 265

實踐 265

練習 266

 

第 19章 模塊腳本 268

19.1 瞭解模塊腳本 268

19.1.1 瞭解模塊腳本的結構 269

19.1.2 編寫可被調用的代碼 269

19.1.3 使用模塊腳本 270

19.2 瞭解客戶端與服務器的模塊腳本 272

19.3 使用模塊腳本:游戲循環 273

19.3.1 使用配置來控制游戲循環 274

19.3.2 創建可復用的回合函數 274

19.3.3 創建主流程:游戲循環 275

總結 277

問答 277

實踐 278

練習 279

 

第 20章 攝像機 280

20.1 攝像機介紹 280

20.1.1 攝像機屬性 282

20.1.2 基本的攝像機操作 282

20.2 使攝像機移動 283

20.3 使用渲染步驟 285

20.4 移動攝像機 285

20.4.1 永久連接到渲染步驟 288

20.4.2 deltaTime 289

總結 290

問答 291

實踐 291

練習 291

 

第 21章 優化 293

21.1 提升游戲性能 293

21.1.1 內存使用情況 293

21.1.2 優化場景構建 294

21.1.3 減少物理計算 295

21.1.4 內容串流 296

21.1.5 雜項調整 296

21.2 優化腳本 297

21.2.1 設置對象的父級 297

21.2.2 不過度依賴服務器或客戶端 298

21.2.3 謹慎使用循環 298

21.3 適配手機設備 298

21.3.1 顯示 298

21.3.2 控制 299

21.3.3 模擬手機設備 300

總結 301

問答 301

實踐 301

練習 302

 

第 22章 全球化 303

22.1 全球合規 303

22.2 隱私政策:GDPR、CCPA 304

22.2.1 常規條款 304

22.2.2 刪除玩家數據 304

總結 306

問答 306

實踐 307

 

附錄A Lua腳本編程參考 308

附錄B Humanoid的屬性、函數和事件 311