Paracraft是一款免費(fèi)開源的3D動(dòng)畫與游戲創(chuàng)作軟件,使用NPL語(yǔ)言開發(fā)完成。NPL語(yǔ)言是本書作者于2004年為了解決基于相似原理的AI仿真問(wèn)題而研發(fā)的一種編程語(yǔ)言,其語(yǔ)法與主流編程語(yǔ)言兼容,NPL社區(qū)通過(guò)github開源了200多萬(wàn)行引擎與NPL類庫(kù)代碼。我們期待編程愛好者的加入。
《Paracraft編程入門》通過(guò)作者原創(chuàng)的Paracrft工具,讓讀者可以隨心所欲地創(chuàng)作出任意復(fù)雜的3D動(dòng)畫與游戲,是一本AI及編程入門教材。
《Paracraft編程入門》中作者還分享了自己從7歲開始學(xué)習(xí)編程的經(jīng)歷,30多年編程生涯的感悟及學(xué)習(xí)編程的方法論。
《Paracraft編程入門》共分三篇:上篇包含61個(gè)循序漸進(jìn)的編程項(xiàng)目,訓(xùn)練讀者通過(guò)思維實(shí)驗(yàn)解決問(wèn)題、理解AI和體驗(yàn)編程;中篇主要介紹編程理論,系統(tǒng)地講解了變量、函數(shù)等重要編程概念;下篇為參考手冊(cè),《Paracraft編程入門》中所有的編程詞匯都可以在下篇中查詢。
《Paracraft編程入門》可供7歲以上喜歡編程的大、中、小學(xué)生,以及家長(zhǎng)、教師、程序員等參考使用。
編程一直被誤解為一件很難的事情。其中一個(gè)原因是幾乎所有編程語(yǔ)言(工具、文檔、開發(fā)者社區(qū))都是英語(yǔ)文化圈下的產(chǎn)物,如果你英語(yǔ)不好,就無(wú)法真正融人其中;另一個(gè)原因是編程語(yǔ)言沒(méi)有被教育者真正當(dāng)作一種人類的語(yǔ)言去對(duì)待。
本書作為編程的入門教材,將正確的工具、學(xué)習(xí)方法介紹給希望真正掌握編程的你。本書的目標(biāo)是通過(guò)我們?cè)瓌?chuàng)的Paracraft工具,讓你隨心所欲地創(chuàng)作出任意復(fù)雜的3D動(dòng)畫與游戲。當(dāng)你具備這種入門編程能力時(shí),你仍然可以繼續(xù)使用Paracraft開發(fā)專業(yè)的計(jì)算機(jī)軟件或自學(xué)其他編程語(yǔ)言。
學(xué)習(xí)編程和學(xué)習(xí)外語(yǔ)很像,需要大量的打字練習(xí)。動(dòng)手打字就如同學(xué)習(xí)外語(yǔ)中的發(fā)音一樣重要;貞浺幌,我們從出生開始就在學(xué)習(xí)母語(yǔ)的發(fā)音,然后每天還要去使用它,長(zhǎng)大后又系統(tǒng)地學(xué)習(xí)它。一個(gè)4歲的小孩已經(jīng)能用母語(yǔ)表達(dá)自己的任何想法。相似的,本書希望營(yíng)造一個(gè)類似的學(xué)習(xí)環(huán)境,讓你可以在計(jì)算機(jī)世界中表達(dá)自已的任何想法。這也是當(dāng)代希望從事科學(xué)與創(chuàng)造性工作的人的一項(xiàng)必備技能。擁有編程的入門能力并不困難,但也需要4年的時(shí)間或打5000行以上的代碼。
1989年,7歲的我照著我父親給我的一本書編寫了我人生中的第一個(gè)程序,并從此喜歡上了編程,小學(xué)期間我完成了大量的個(gè)人編程作品,達(dá)到隨心所欲的入門狀態(tài),這要感謝我的老師。本書也希望和大家分享我的學(xué)習(xí)經(jīng)歷。
本書能夠順利出版,要感謝Paracraft的用戶,尤其是奇仔、桃子、無(wú)心和阿杰,是你們的辛勤付出讓我們的工具可以大放異彩。
感謝魔法哈奇超過(guò)500萬(wàn)注冊(cè)用戶近10年來(lái)的陪伴,很多用戶從小學(xué)升到了大學(xué),仍然沒(méi)有完全離開這款3D社區(qū)和Paracraft。
感謝我過(guò)去和現(xiàn)在的團(tuán)隊(duì),未來(lái)我們還有很長(zhǎng)的道路要走,很多中途離開的同事依然在遠(yuǎn)程參與我們的開源社區(qū)。感謝合作伙伴與多位教育工作者愿意在我們的產(chǎn)品還不完善時(shí),堅(jiān)持使用我們的產(chǎn)品。
李西峙,1982年出生于哈爾濱。2005年畢業(yè)于浙江大學(xué)計(jì)算機(jī)系(竺可楨學(xué)院)。大學(xué)期間在國(guó)內(nèi)外會(huì)議和刊物上發(fā)表游戲引擎、腳本語(yǔ)言技術(shù)、三維動(dòng)畫制作、CPU芯片設(shè)計(jì)等相關(guān)論文7篇,撰寫專著1部。2004年出于長(zhǎng)期對(duì)人工智能的興趣和研究,開發(fā)了NPL語(yǔ)言(Neural Parallel Language)和ParaEngine3D游戲引擎,至今寫了兩百多萬(wàn)行的開源代碼及工具。Paracraft也是基于NPL語(yǔ)言開發(fā)的一款3D創(chuàng)作工具。2007-2015年,先后獲得著名風(fēng)險(xiǎn)投資IDC和國(guó)內(nèi)著名企業(yè)家的投資,并出任CEO。
李鐵才,1950年出生于上海,李西峙之父。哈爾濱工業(yè)大學(xué)及深圳研究生院雙基地教授,博士生導(dǎo)師,深圳航天科技創(chuàng)新研究院科技委主任。1996年獲“航天突出貢獻(xiàn)專家”稱號(hào);1997年獲國(guó)家特殊津貼;獲國(guó)家、省部級(jí)科技成果獎(jiǎng)18次;獲中國(guó)發(fā)明專利30項(xiàng),獲美國(guó)發(fā)明專利3項(xiàng)。在國(guó)內(nèi)外發(fā)表論文50余篇。歷時(shí)30年致力于相似性原理及其應(yīng)用技術(shù)的研究,撰寫《相似性和相似性原理》,并編寫了本書第5章。
上篇 項(xiàng)目
第1章 編程項(xiàng)目
1.0 緒論
1.0.1 Paracraft是什么
1.0.2 如何學(xué)習(xí)本書中的項(xiàng)目
1.0.3 項(xiàng)目8x27:安裝Paracraft和編輯模式
1.1 幾何相似與構(gòu)建相似的虛擬世界
1.1.1 項(xiàng)目8x28:創(chuàng)建方塊
1.1.2 項(xiàng)目8x29:批量操作
1.1.3 項(xiàng)目8x34:bmax模型
1.1.4 項(xiàng)目25x85:介紹“繪圖程序”小游戲
1.2 基于編程的3D建模
1.2.1 項(xiàng)目35x127:CAD建模——桌子
1.2.2 項(xiàng)目35x129:CAD建!招牡暮凶
1.2.3 項(xiàng)目35x128:CAD建!獖W運(yùn)五環(huán)
1.2.4 項(xiàng)目35x133:CAD建!
1.3 虛擬人物與虛擬人物的運(yùn)動(dòng)
1.3.1 項(xiàng)目8x30:電影方塊
1.3.2 項(xiàng)目8x31:演員和動(dòng)畫
1.3.3 項(xiàng)目8x32:夏天游泳
1.3.4 項(xiàng)目8x33:制作簡(jiǎn)易動(dòng)畫開頭
1.3.5 項(xiàng)目8x35:簡(jiǎn)易bmax小吉他
1.3.6 項(xiàng)目8x36:簡(jiǎn)易bmax小動(dòng)畫
1.3.7 項(xiàng)目20x60:動(dòng)畫模型方塊
1.3.8 項(xiàng)目20x73:四足動(dòng)物與鏡頭抖動(dòng)效果
1.3.9 項(xiàng)目20x77:密室教學(xué)
1.3.10 項(xiàng)目20x80:bmax簡(jiǎn)易骨骼與x文件應(yīng)用
1.3.11 項(xiàng)目20x105:傳送石、電影地震鏡頭與人物表現(xiàn)
1.3.12 項(xiàng)目20x121:密室開頭設(shè)計(jì)
1.4 構(gòu)建我的電影世界使它可持續(xù)發(fā)展
1.4.1 項(xiàng)目20x132:電影方塊與過(guò)山車
1.4.2 項(xiàng)目20x134:子母電影方塊
1.5 如何賦予虛擬人物智能
1.5.1 項(xiàng)目6x18:代碼方塊教學(xué)1
1.5.2 項(xiàng)目6x19:代碼方塊教學(xué)2
1.5.3 項(xiàng)目6x20:乒乓球小游戲
1.5.4 項(xiàng)目6x22:迷宮小游戲
1.5.5 項(xiàng)目6x109:打字練習(xí)
1.5.6 項(xiàng)目26x100:曼德勃羅特集
1.5.7 項(xiàng)目17x69:飛行的小鳥
1.5.8 項(xiàng)目17x74:坦克大戰(zhàn)
1.5.9 項(xiàng)目20x79:星球運(yùn)動(dòng)仿真教學(xué)
1.5.10 項(xiàng)目6x24:雙重機(jī)關(guān)與事件
1.5.11 項(xiàng)目6x25:制作圖形界面
1.5.12 項(xiàng)目6x26:代碼方塊的輸出
1.5.13 項(xiàng)目6x21:鋼琴
1.5.14 項(xiàng)目17x120:制作鐘表
1.5.15 項(xiàng)目35x130:CAD建!皵S骰子”
1.5.16 項(xiàng)目6x37:劇E一髟E
1.5.17 項(xiàng)目36x136:臺(tái)式計(jì)算機(jī)模擬
1.5.18 項(xiàng)目36x135:狗狗陪護(hù)機(jī)器人模擬
1.6 編程中的抽象建模
1.6.1 項(xiàng)目28x107:電梯調(diào)度算法
1.6.2 項(xiàng)目28x108:由電梯調(diào)度算法了解編程思維
1.6.3 項(xiàng)目28x110:3D世界的編程模型
1.6.4 項(xiàng)目28x112:編程中的建模過(guò)程——乒乓球小游戲
1.6.5 項(xiàng)目28x114:編程中的建模過(guò)程——迷宮小游戲
1.6.6 項(xiàng)目28x115:編程中的建模過(guò)程——鋼琴
1.6.7 項(xiàng)目28x125:編程中的建模過(guò)程——飛行的小鳥
1.6.8 項(xiàng)目28x126:編程中的建模過(guò)程——坦克大戰(zhàn)
1.6.9 項(xiàng)目28x116:編程中的建模過(guò)程——跳一跳
1.6.10 項(xiàng)目28x117:復(fù)雜編程中的建模過(guò)程——電梯調(diào)度算法小游戲
1.6.11 項(xiàng)目34x123:生命游戲
1.6.12 項(xiàng)目34x124:復(fù)雜編程中的建模過(guò)程——生命游戲的制作
1.6.13 項(xiàng)目24x84:BlockBot小游戲介紹
1.6.14 項(xiàng)目24x95:復(fù)雜編程中的建模過(guò)程——BlockBot核心部分的制作
1.6.15 項(xiàng)目24x93:BlockBot小游戲——3D UI
1.6.16 項(xiàng)目24x94:BlockBot小游戲——2D UI
1.6.17 項(xiàng)目24i96:BlockBot小游戲——復(fù)雜UI設(shè)計(jì)
1.6.18 項(xiàng)目33x122:人力資源游戲
1.7 保存并分享你的作品
1.7.1 項(xiàng)目29x118:制作個(gè)人網(wǎng)站
1.7.2 項(xiàng)目23x83:創(chuàng)建課程包
……
中篇 編程理論
下篇 參考手冊(cè)
附錄
后記