日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

星球大戰與Python之間的那些事

系統 2148 0

Python與星球大戰背后的工業光魔

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

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

星球大戰與Python之間的那些事_第1張圖片

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

工業光魔的資深技術總監Tommy Burnette曾經這樣評價道:

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

由此可見Python的強大。

Star Wars API

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

星球大戰與Python之間的那些事_第2張圖片

據開發者介紹,Star Wars API是全球首個量化的、可供編程使用的星戰數據集。開發者經過漫長的搜集和整理,匯總了星戰系列電影中的人物、種族、星球、飛船等詳細數據。目前,這個API中已經收錄了《原力覺醒》中的新數據。API的作者還用Python開發了一個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是否在電影中出現:

            
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小游戲

最后,再與大家分享一個國外開發者用Python開發的星戰相關游戲,希望大家喜歡。

星球大戰與Python之間的那些事_第3張圖片

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

是不是很酷!很贊!很期待!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 三都| 镶黄旗| 贞丰县| 黄陵县| 阳原县| 东阳市| 闽侯县| 织金县| 札达县| 绥阳县| 胶州市| 昌都县| 三门峡市| 正阳县| 綦江县| 双鸭山市| 三台县| 历史| 杨浦区| 肥西县| 平果县| 松桃| 历史| 湘西| 齐齐哈尔市| 正安县| 台前县| 莒南县| 肇州县| 宁城县| 汾西县| 西乡县| 谷城县| 延吉市| 建湖县| 当雄县| 启东市| 九寨沟县| 太原市| 巧家县| 灵丘县|