最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

星球大战与Python之间的那些事

来源:懂视网 责编:小采 时间:2020-11-27 14:35:07
文档

星球大战与Python之间的那些事

星球大战与Python之间的那些事:Python与星球大战背后的工业光魔 提起Python语言,很多人会想起系统运维、Web开发等工作。很少有人会知道Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作。 星战之父乔治·卢卡斯于1975年创建了工业光魔(全称:Indus
推荐度:
导读星球大战与Python之间的那些事:Python与星球大战背后的工业光魔 提起Python语言,很多人会想起系统运维、Web开发等工作。很少有人会知道Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作。 星战之父乔治·卢卡斯于1975年创建了工业光魔(全称:Indus
Python与星球大战背后的工业光魔

提起Python语言,很多人会想起系统运维、Web开发等工作。很少有人会知道Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作。

星战之父乔治·卢卡斯于1975年创建了工业光魔(全称:Industrial Light and Magic),从第一部《星球大战》起便参与了电影的特效制作。据Python官网介绍,工业光魔从1996年起开始使用Python语言,取代了此前的Unix shell脚本。工业光魔做出这个决定的原因,在于Python的学习难度低,开发速度快。当时,Python还只是1.4版本。

电影特效行业竞争十分激烈,制作公司会不断地寻找更加优秀的编程语言,提高工作效率。工业光魔也是一直在评估Python语言的使用,但是近20年以来,还没有找到一个更好的替代品。

工业光魔的资深技术总监Tommy Burnette曾经这样评价道:

  • Python在我们的生产流程中扮演了至关重要的作用。如果没有它,像《星球大战》第二部这样的大项目就很难完成。从集体渲染到批量处理再到影片合成,Python将所有步骤都紧密的粘合在了一起。
  • 由此可见Python的强大。

    Star Wars API

    你知道《星球大战》系列大战中出现了多少个种族,多少种飞船吗?这些答案都可以在Star Wars API中找到。

    据开发者介绍,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开发的星战相关游戏,希望大家喜欢。

    这个游戏类似现在的跑酷,通过上下左右方向键控制。

    是不是很酷!很赞!很期待!

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    星球大战与Python之间的那些事

    星球大战与Python之间的那些事:Python与星球大战背后的工业光魔 提起Python语言,很多人会想起系统运维、Web开发等工作。很少有人会知道Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作。 星战之父乔治·卢卡斯于1975年创建了工业光魔(全称:Indus
    推荐度:
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top