羅布樂思(Roblox)Studio 是融合了3D 引擎、社交、云存儲的開發(fā)工具,是優(yōu)質(zhì)的游戲化教育工具,為各大編程賽事和夏令營提供技術(shù)支持。羅布樂思自2019 年被引進中國,一直深耕青少年市場,打造用戶生產(chǎn)內(nèi)容的平臺,持續(xù)構(gòu)建完全沉浸的數(shù)字社區(qū),向著真正的元宇宙世界邁進。
本書是官方的羅布樂思開發(fā)指南。本書旨在幫助讀者學(xué)會:
(1)使用內(nèi)置的地形和照明工具構(gòu)建身臨其境的自然環(huán)境;
(2)建模和導(dǎo)入資源、模型、裝備和紋理;
(3)使用Lua 腳本編寫游戲、動畫和相機移動;
(4)為交互元素設(shè)計 GUI;
(5)通過跨平臺游戲?qū)人游戲分享到多個平臺。
本書語言簡單易懂,內(nèi)容循序漸進,并在每章結(jié)尾設(shè)置常見問題及其解決方案、測驗和答案等環(huán)節(jié),幫助讀者時刻回顧與檢驗所學(xué)知識; 并且設(shè)置練習(xí)環(huán)節(jié),鼓勵讀者獨立練習(xí),動手鞏固開發(fā)技能。本書尤其適合游戲開發(fā)者和教育創(chuàng)新者學(xué)習(xí)、使用。
1.羅布樂思公司官方出品,羅布樂思全國創(chuàng)作大賽(RNA大賽)指定用書,元宇宙之旅的探索之書。
2.詳細介紹羅布樂思Studio 各個功能在國內(nèi)的使用方法,以及一款游戲從零到發(fā)布的全流程,幫助初級開發(fā)者迅速上手游戲制作,并將自己的優(yōu)質(zhì)創(chuàng)意變成現(xiàn)實。
3.每章結(jié)尾設(shè)置常見問題及其解決方案、測驗和答案等環(huán)節(jié),幫助讀者時刻回顧與檢驗所學(xué)知識;設(shè)置練習(xí)環(huán)節(jié),鼓勵讀者獨立練習(xí),動手鞏固開發(fā)技能。
4.全彩印刷,增大字號與行距,青少年也可以輕松閱讀。
5.掃碼觀看B站羅布樂思新手視頻教程(入門篇、物理篇、代碼初學(xué)篇、進階篇)。
6.羅布樂思開發(fā)者關(guān)系副總裁段志云、Multi-Metaverse 公司CEO許怡然作序推薦!
羅布樂思是一家來自美國的游戲公司,也是全球多人在線創(chuàng)作社區(qū)。目前,全球500萬的青少年開發(fā)者在使用羅布樂思開發(fā)作品。使用羅布樂思進行創(chuàng)作可以鍛煉開發(fā)者的創(chuàng)新思維和動手能力,對青少年開發(fā)者具有深遠的教育意義。
Genevieve Johnson 是羅布樂思公司的高級教學(xué)設(shè)計師。她負責(zé)教育內(nèi)容方面的管理,指導(dǎo)世界各地的開發(fā)者使用羅布樂思循序漸進地學(xué)習(xí)編程,她的工作可以幫助學(xué)生走上企業(yè)家、工程師或設(shè)計師的道路。在進入羅布樂思公司工作之前,她是iD Tech 的教育內(nèi)容經(jīng)理。iD Tech 是美國一個每年有5萬名以上6至18歲學(xué)生參與的技術(shù)教育科技營。在iD Tech 工作期間,她協(xié)助推出了一項成功的全女生STEAM 方案,她的團隊為60多門相關(guān)技術(shù)課程開發(fā)了教育內(nèi)容,并提供了從編碼到機器人技術(shù)再到游戲設(shè)計等各種學(xué)科的指導(dǎo)。
第 1章 是什么讓羅布樂思與眾不同 1
1.1 羅布樂思強調(diào)社交 2
1.2 羅布樂思的用戶內(nèi)容管理 3
1.2.1 用戶內(nèi)容 3
1.2.2 制作創(chuàng)意圖片 4
1.2.3 自定義形象 4
1.3 羅布樂思支持快速開發(fā)迭代 5
1.4 輕松創(chuàng)作 6
1.4.1 插件 6
1.4.2 發(fā)布更新 7
1.5 羅布樂思Studio 7
1.5.1 聯(lián)網(wǎng) 7
1.5.2 物理特性 8
1.5.3 渲染 8
1.5.4 支持跨平臺 9
1.6 免費 9
1.7 無限可能 10
1.8 風(fēng)格多元 10
總結(jié) 11
問答 11
實踐 11
練習(xí) 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 布局游戲編輯器的工作區(qū) 19
2.3.2 使用項目管理器窗口 20
2.3.3 創(chuàng)建一個部件 21
2.3.4 使用屬性窗口 22
2.4 平移、縮放和旋轉(zhuǎn)對象 23
2.4.1 平移 23
2.4.2 縮放 24
2.4.3 旋轉(zhuǎn) 24
2.4.4 變換 25
2.5 調(diào)整量 26
2.6 碰撞 26
2.7 錨固 27
2.8 保存和發(fā)布項目 27
2.8.1 保存項目 28
2.8.2 發(fā)布項目 28
2.8.3 重新打開項目 28
2.9 游戲測試 29
2.9.1 測試游戲 29
2.9.2 停止測試 30
總結(jié) 30
問答 31
實踐 31
練習(xí) 32
第3章 部件構(gòu)建系統(tǒng) 33
3.1 創(chuàng)建部件 33
3.2 改變部件的屬性 34
3.2.1 顏色 34
3.2.2 材質(zhì) 35
3.2.3 反射率和透明度 35
3.3 創(chuàng)建貼花與紋理 37
3.3.1 貼花 37
3.3.2 紋理 39
總結(jié) 41
問答 41
實踐 42
練習(xí) 42
第4章 物理構(gòu)建系統(tǒng) 44
4.1 使用附件與約束 45
4.2 制作一扇門 47
4.3 關(guān)閉CanCollide屬性,讓玩家角色穿過門 48
4.4 增加鉸鏈和彈簧 48
4.4.1 用鉸鏈讓門可以開關(guān) 49
4.4.2 創(chuàng)建彈簧 52
4.4.3 使彈簧逼真 53
4.5 使用電機 54
總結(jié) 56
問答 56
實踐 57
練習(xí) 57
第5章 創(chuàng)建地形 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 使用繪制工具修改材質(zhì) 67
5.2.8 使用海平面工具創(chuàng)建水 68
5.3 區(qū)域選項卡 69
5.3.1 使用選擇工具選擇地形 69
5.3.2 使用移動工具移動地形 69
5.3.3 使用調(diào)整尺寸工具縮放地形 71
5.3.4 使用復(fù)制、粘貼和刪除工具 72
5.3.5 使用填充工具填充區(qū)域 73
5.4 高度圖和顏色圖 74
5.4.1 高度圖 74
5.4.2 顏色圖 74
總結(jié) 75
問答 76
實踐 76
練習(xí) 77
第6章 光照環(huán)境 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
總結(jié) 88
問答 88
實踐 88
練習(xí) 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 調(diào)整光照顏色 100
總結(jié) 102
問答 102
實踐 102
練習(xí) 103
第8章 效果環(huán)境 104
8.1 粒子 104
8.1.1 自定義粒子 105
8.1.2 改變粒子的顏色 106
8.1.3 粒子發(fā)射器的屬性 107
8.2 光帶 107
8.2.1 彎曲 109
8.2.2 平滑 110
8.2.3 寬度 110
8.2.4 使用光帶在光線上添加射線效果 111
總結(jié) 112
問答 112
實踐 113
練習(xí) 113
第9章 導(dǎo)入資源 116
9.1 上傳和插入免費模型 116
9.1.1 上傳模型 117
9.1.2 查看上傳的模型 119
9.1.3 插入模型 119
9.2 導(dǎo)入網(wǎng)格 120
9.3 導(dǎo)入紋理 123
9.4 導(dǎo)入音頻 125
總結(jié) 125
問答 125
實踐 126
練習(xí) 126
第 10章 游戲構(gòu)成與協(xié)作 128
10.1 為游戲添加場景 128
10.2 在羅布樂思Studio中協(xié)作 130
10.2.1 打開組隊創(chuàng)作 130
10.2.2 在組隊創(chuàng)作中添加和管理用戶 130
10.2.3 查看組隊創(chuàng)作游戲 132
10.2.4 使用羅布樂思Studio聊天 132
10.2.5 關(guān)閉組隊創(chuàng)作 133
10.3 在羅布樂思Studio中創(chuàng)建與查看包 133
10.3.1 把對象轉(zhuǎn)換為包 133
10.3.2 在工具箱中查看包 135
10.3.3 在素材管理器中查看包 135
10.3.4 更新包 136
總結(jié) 137
問答 137
實踐 137
練習(xí) 138
第 11章 Lua概述 139
11.1 使用編程工作區(qū) 139
11.2 使用變量修改屬性 141
11.2.1 變量概述 141
11.2.2 創(chuàng)建變量 142
11.2.3 制作半透明炸彈 142
11.3 給代碼添加注釋 143
11.4 使用函數(shù)與事件 144
11.4.1 創(chuàng)建函數(shù) 145
11.4.2 使用函數(shù)引爆炸彈 145
11.4.3 使用事件 146
11.4.4 使用事件控制觸碰時引爆部件 146
11.5 使用條件語句 147
11.6 理解數(shù)組和字典 148
11.7 使用循環(huán) 149
11.7.1 while循環(huán) 149
11.7.2 wait() 149
11.7.3 repeat-until循環(huán) 150
11.7.4 for循環(huán) 150
11.7.5 ipairs()與pairs() 151
11.8 作用域 152
11.9 創(chuàng)建自定義事件 152
11.10 調(diào)試代碼 154
11.10.1 使用字符串調(diào)試 154
11.10.2 Lua調(diào)試器 154
11.10.3 日志文件 155
總結(jié) 156
問答 156
實踐 157
練習(xí) 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所處的層級結(jié)構(gòu) 167
12.3.2 Humanoid的屬性、函數(shù)和事件 168
總結(jié) 175
問答 175
實踐 176
練習(xí) 177
第 13章 GUI交互 178
13.1 創(chuàng)建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
總結(jié) 190
問答 190
實踐 191
練習(xí) 191
第 14章 動效 193
14.1 使用位置和旋轉(zhuǎn) 193
14.1.1 把對象從A點移動到B點 194
14.1.2 使用CFrame旋轉(zhuǎn)部件 196
14.2 使用漸變讓對象平滑移動 199
14.2.1 兩點之間的漸變 200
14.2.2 EasingStyle和EasingDirection 201
14.3 移動整個模型 202
總結(jié) 204
問答 204
實踐 204
練習(xí) 205
第 15章 聲音 207
15.1 創(chuàng)建聲音 207
15.2 導(dǎo)入音頻資源 208
15.3 創(chuàng)建環(huán)境聲音 209
15.4 使用代碼觸發(fā)聲音 210
15.5 聲音組 211
總結(jié) 212
問答 212
實踐 213
練習(xí) 213
第 16章 使用動畫編輯器 215
16.1 動畫編輯器介紹 216
16.1.1 了解模型要求 216
16.1.2 打開動畫編輯器 217
16.2 創(chuàng)建姿勢 217
16.3 保存并導(dǎo)出動畫 220
16.4 緩動 222
16.5 使用逆向運動工具 222
16.5.1 啟用IK 223
16.5.2 固定部件 224
16.6 動畫設(shè)置 224
16.6.1 循環(huán) 225
16.6.2 優(yōu)先級 225
16.7 使用動畫事件 225
16.7.1 添加事件 226
16.7.2 移動和刪除事件 226
16.7.3 復(fù)制事件 227
16.7.4 在腳本中實現(xiàn)事件 227
16.7.5 替換默認動畫 228
總結(jié) 229
問答 229
實踐 230
練習(xí) 230
第 17章 裝備、傳送、數(shù)據(jù)存儲 232
17.1 裝備介紹 232
17.1.1 裝備的基礎(chǔ)知識 233
17.1.2 創(chuàng)建裝備 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的常用函數(shù) 243
17.3.2 獲取placeId 244
17.3.3 客戶端示例 244
17.3.4 服務(wù)器端示例 245
17.4 使用持久數(shù)據(jù)存儲 247
17.5 數(shù)據(jù)存儲函數(shù) 251
17.6 防范與處理錯誤 252
17.6.1 pcall 253
17.6.2 防止數(shù)據(jù)丟失 253
總結(jié) 253
問答 254
實踐 254
練習(xí) 255
第 18章 多人游戲編程和客戶端-服務(wù)器模型 256
18.1 客戶端-服務(wù)器模型 256
18.1.1 Script和LocalScript 257
18.1.2 復(fù)制 257
18.2 RemoteFunction和RemoteEvent 257
18.2.1 使用RemoteFunction和RemoteEvent 259
18.2.2 創(chuàng)建RemoteEvent 259
18.3 服務(wù)器驗證 261
18.4 隊伍 262
18.4.1 添加隊伍 262
18.4.2 自動把玩家分配到隊伍中 263
18.4.3 手動把玩家分配到隊伍中 263
18.5 網(wǎng)絡(luò)所有權(quán) 264
總結(jié) 265
問答 265
實踐 265
練習(xí) 266
第 19章 模塊腳本 268
19.1 了解模塊腳本 268
19.1.1 了解模塊腳本的結(jié)構(gòu) 269
19.1.2 編寫可被調(diào)用的代碼 269
19.1.3 使用模塊腳本 270
19.2 了解客戶端與服務(wù)器的模塊腳本 272
19.3 使用模塊腳本:游戲循環(huán) 273
19.3.1 使用配置來控制游戲循環(huán) 274
19.3.2 創(chuàng)建可復(fù)用的回合函數(shù) 274
19.3.3 創(chuàng)建主流程:游戲循環(huán) 275
總結(jié) 277
問答 277
實踐 278
練習(xí) 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
總結(jié) 290
問答 291
實踐 291
練習(xí) 291
第 21章 優(yōu)化 293
21.1 提升游戲性能 293
21.1.1 內(nèi)存使用情況 293
21.1.2 優(yōu)化場景構(gòu)建 294
21.1.3 減少物理計算 295
21.1.4 內(nèi)容串流 296
21.1.5 雜項調(diào)整 296
21.2 優(yōu)化腳本 297
21.2.1 設(shè)置對象的父級 297
21.2.2 不過度依賴服務(wù)器或客戶端 298
21.2.3 謹(jǐn)慎使用循環(huán) 298
21.3 適配手機設(shè)備 298
21.3.1 顯示 298
21.3.2 控制 299
21.3.3 模擬手機設(shè)備 300
總結(jié) 301
問答 301
實踐 301
練習(xí) 302
第 22章 全球化 303
22.1 全球合規(guī) 303
22.2 隱私政策:GDPR、CCPA 304
22.2.1 常規(guī)條款 304
22.2.2 刪除玩家數(shù)據(jù) 304
總結(jié) 306
問答 306
實踐 307
附錄A Lua腳本編程參考 308
附錄B Humanoid的屬性、函數(shù)和事件 311