星球大戰(zhàn)與Python之間的那些事

星球大戰(zhàn)第七部:原力覺醒

闊別十年時光,全球矚目的第七部星球大戰(zhàn)電影《原力覺醒》將于2016年1月9日在國內(nèi)上映。它將重新燃起那段神秘的太空歲月與具有原力的宇宙時光。但是,星球大戰(zhàn)和Python編程語言又有什么關(guān)系呢?

Python與星球大戰(zhàn)背后的工業(yè)光魔

提起Python語言,很多人會想起系統(tǒng)運維、Web開發(fā)等工作。很少有人會知道Python也能夠用于電影視覺特效的制作,其中就包括了《星球大戰(zhàn)》某些電影特效的制作。

星戰(zhàn)之父喬治·盧卡斯于1975年創(chuàng)建了工業(yè)光魔(全稱:Industrial Light and Magic),從第一部《星球大戰(zhàn)》起便參與了電影的特效制作。據(jù)Python官網(wǎng)介紹,工業(yè)光魔從1996年起開始使用Python語言,取代了此前的Unix shell腳本。工業(yè)光魔做出這個決定的原因,在于Python的學習難度低,開發(fā)速度快。當時,Python還只是1.4版本。

工業(yè)光魔公司的Logo

電影特效行業(yè)競爭十分激烈,制作公司會不斷地尋找更加優(yōu)秀的編程語言,提高工作效率。工業(yè)光魔也是一直在評估Python語言的使用,但是近20年以來,還沒有找到一個更好的替代品。

工業(yè)光魔的資深技術(shù)總監(jiān)Tommy Burnette曾經(jīng)這樣評價道:

Python在我們的生產(chǎn)流程中扮演了至關(guān)重要的作用。如果沒有它,像《星球大戰(zhàn)》第二部這樣的大項目就很難完成。從集體渲染到批量處理再到影片合成,Python將所有步驟都緊密的粘合在了一起。

由此可見Python的強大。

Star Wars API

你知道《星球大戰(zhàn)》系列大戰(zhàn)中出現(xiàn)了多少個種族,多少種飛船嗎?這些答案都可以在Star Wars API中找到。

星球大戰(zhàn)API

據(jù)開發(fā)者介紹,Star Wars API是全球首個量化的、可供編程使用的星戰(zhàn)數(shù)據(jù)集。開發(fā)者經(jīng)過漫長的搜集和整理,匯總了星戰(zhàn)系列電影中的人物、種族、星球、飛船等詳細數(shù)據(jù)。目前,這個API中已經(jīng)收錄了《原力覺醒》中的新數(shù)據(jù)。API的作者還用Python開發(fā)了一個helper庫。

我們來看看可以用這個庫做些什么。

將所有星球按大小排列:

import swapi
for planet in swapi.get_all("planets").order_by("diameter"):
    print(planet.name)

查看哪些人開過1艘以上的飛船:

import swapi
for people in swapi.get_all("people").iter():
    if len(people.starships) > 1:
        print(people.name)

檢索Jar Jar Binks是否在電影中出現(xiàn):

import swapi
pm = swapi.get_film(4)
jj = swapi.get_person(36)
for c in pm.get_characters().iter():
    if c.name == jj.name:
        print("Why George, why.")

Python編寫的Star Wars小游戲

最后,再與大家分享一個國外開發(fā)者用Python開發(fā)的星戰(zhàn)相關(guān)游戲,希望大家喜歡。

starwars.py

這個游戲類似現(xiàn)在的跑酷,通過上下左右方向鍵控制。

stars wars跑酷游戲,Python開發(fā)

歡迎掃描下方二維碼關(guān)注我的公眾號“編程派”,謝謝大家的支持!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,146評論 25 708
  • 這幾天在看《電影特效行業(yè)基礎(chǔ)講壇視頻教程》,第一集講的就是與ILM藝術(shù)大師們的對話。我們看到的許多電影大片大都有這...
    Zonlily閱讀 704評論 0 3
  • 作者: 齊翠霞指導(dǎo)老師: 劉艷 鄭鵬 袁浩 導(dǎo)圖心得:讀取一段正能量的文字,不由自主的就想到思維導(dǎo)圖,文...
    平凡_31c3閱讀 492評論 0 1
  • 盛開 他們說我是個謎, 多想葬在我的心底, 看看那里是黑是紅, 還是已經(jīng)腐爛的希冀, 我時常思考, ...
    七百的路閱讀 271評論 6 3
  • 素有鬼才導(dǎo)演的徐克和功夫皇帝李連杰合作的黃飛鴻系列是影迷心中的經(jīng)典。而且李連杰也成為了黃飛鴻的代言人。好多影迷喜歡...
    電影聚焦閱讀 1,008評論 3 10

友情鏈接更多精彩內(nèi)容