登录 发表新帖
  • 首页
  • 图片
  • 视频
  • 环物
  • 画廊
  • 大师
  • 直播
  • 信息
  • 《曼达洛人》为电影人开辟制片新道路


    我在Epic Games做了15年的游戏工程师和技术主管,亲身体会到快速的反馈循环对于成功的创作协作至关重要。密切合作带来的快速迭代、自发性和共同使命感是不可替代的。在Epic,我们会大力确保创作团队在一起工作的时间尽可能长。
    (本视频转载自YouTube:视频原址)

    所以当我开始进一步了解电影制作时,就惊讶地发现,在传统的视觉效果大片制作中,关键部门分散工作竟然是司空见惯的。从主创人员完成现场工作,到后期制片工作全面实现设想,可能要经过数周乃至数月时间。看来这是实时游戏引擎技术可以真正带来变革的机会。幸运的是,乔恩·费儒是个远远走在时代前面的人。他对《曼达洛人》的摄制提出的开创性设想为我们提供了颠覆传统电影制作模式的机会。


    我们第一次和乔恩会面时,他就对让制片过程重获实时交互和协作的想法兴奋不已。显然他愿意试验新的工作流程,并承担实现该目标的风险。这些初期的对话最终发展为一套颠覆性的虚拟制片方法:在用巨大LED幕墙围起来的舞台上拍摄这部剧集,幕墙上显示动态的数字化布景,而创作人员在实时制片过程中还能够对这些数字化内容作出实时反应和操作。我们与工业光魔合作制定了将各种技术综合起来的计划。由此产生了一个雄心勃勃的新系统和一套技术,它们将以前人从未尝试过的规模实现部署,以适应电视连续剧制作的快节奏。


    当拍摄开始时,有4台同步的PC运行虚幻引擎,实时驱动LED幕墙上的像素。另一方面,三名虚幻操作者可以同时操纵幕墙上的虚拟场景、光照和效果。LED幕墙内的工作人员也能用iPad远程控制场景,与导演和DP并肩合作。这种虚拟制片工作流程被用于拍摄《曼达洛人》第1季的过半镜头,使电影人不再需要外景地拍摄,可以利用摄像机中的准确光照和反光拍摄大量复杂的视觉特效镜头,并且在片场共同对场景进行实时迭代。虚幻引擎的实时能力与沉浸式LED屏幕相结合,实现了以前无法想象的创作灵活性。

    《曼达洛人》不仅是一次振奋人心的挑战,也是用于开发生产级工具的强大试验场,最终全体虚幻引擎用户都将从中获益。我们的多用户协作工具在其中发挥了重要作用,nDisplay系统使得一组机器能够同步地实时渲染超大画幅,实时合成系统则让电影人能够实时观看预览。我们也特别重视引擎与外部来源的对接能力,例如将镜头数据记录到Sequencer中,或从iPad操纵LED幕墙环境。所有这些功能都已在4.24版中提供或即将随4.25版推出。



    最后,参与《曼达洛人》第1季的制作是我职业生涯中的高光时刻之一——我们通过实时技术实现的成果范围之广是我以前参与的任何项目都无法比拟的。我们为乔恩·费儒、执行制作人兼导演Dave Filoni、视觉效果主管Richard Bluff、摄影师Greig Frazier和Barry Baz Idoine以及分集导演等电影人提供了随时做出创作决定的自由和机会,促进了各部门之间的实时协作,让所有人都能在几秒钟之内就看到自己的创作设想得到充分实现,这真是一次令人心满意足的体验。工业光魔、Golem Creations、Lux Machina、Fuse、Profile、ARRI和所有参加这一项目的优秀协作者都在合作过程中令我深受鼓舞,我为自己是这个项目的一分子而感到自豪。不过更令人激动的是,我们为《曼达洛人》开发的技巧和技术还只是冰山一角——我迫不及待地想看到它所预示的未来。

  • 漫画家浅野一二〇用虚幻创作实时背景


    你思考漫画作品背后的创作过程时,首先想到的恐怕不会是实时游戏引擎技术。但是某一天,乍现的灵光却引出了高人气漫画家浅野一二〇的一个问题:“假如……会怎样?”经过一些试验,他的努力带来了一种创新的技法,专门用于为漫画场景创作引人入胜、富有感染力的背景。如今他将虚幻引擎纳入绘画过程,用于创作他的连环漫画《恶魔的破坏》,这部作品正在漫画杂志《Big Comic Spirits》上连载。“以前每当要创作写实背景时,我就需要涂改照片,然后把它画成漫画,”浅野解释说。“可是这样干了10多年以后,我开始觉得这种技法有点过时了。我还意识到,我只会使用从我自己喜欢的角度拍摄的照片。”

    他开始期望有更多的创作自由,也是在这个时候,他开始思考使用3D模型。“虽然我好多年前就知道虚幻引擎,但我总认为它就是个游戏引擎,”他说。“作为一个漫画家,起初我觉得它和我的工作没有多少交集。然后有一天,我萌生了研究一下虚幻引擎的想法,然后就发现它是免费的!”使用3D可视化的实验性漫画
    既然没有准入门槛,浅野便决定下载引擎试一下。他就在此时初次体验到了实时渲染的威力。“在3D空间里移动很容易,调整光照和色彩也很方便。”他回忆说,“阴影也很逼真,比我手绘的还强。我可以回头再参考这些资源,做一些手绘调整。”

    浅野发现只要使用虚幻商城中的资源就可以在引擎中创作出整个故事的背景。“虽然我觉得建筑物比较好画,可植物和野生动物却比其他任何东西都难画。”他说,“虚幻商城里有许多作为构件出售的植物资源,因此只要用鼠标点击几下,就能非常轻松地创作出一片森林。我意识到可以用我创建的这些环境画出一个故事背景。在使用虚幻引擎时,为了让画面像手绘漫画,我其实降低了渲染质量。”
    实时技术开辟新的创作道路
    随着浅野对实时技术的深入研究,他发现了更多改进画作的方法——其中有些是他以前无福消受的。“有了虚幻引擎,我就开始尝试以前觉得太麻烦而不愿尝试的东西。”他说,“如果一个场景中缺少什么东西,我就会买一些资源,把它们放在屏幕上。通过这种方式,我可以在比较短的时间里,布置出完全符合我的期望的环境。”

    浅野发现,3D模型的另一个优势在于,它不像漫画只能用一次,而是可以从不同角度复用或绘制。这意味着他花钱买来的资源更加物有所值,因为有机会将资源复用于日后的绘画。

    浅野对实时技术的探索开辟了一片充满创作可能的新天地,催生了一些激动人心的新创意。“我想试试彻底颠覆我的创作过程,在虚幻引擎里构建一整座城市,然后画一部表现城市里发生的各种事件的漫画,”他解释说。这位成名已久的艺术家现在强烈支持这类实验性创作,他相信会有更多艺术家通过钻研实时可视化而获益。“经过最近10年的发展,现在任何人都有可能使用虚幻引擎创作美术作品。”他说,“既然这些工具都是免费的,我想人人都应该接受它们,让创意的实现变得比以往任何时候都容易。”

  • 一飞冲天:航天设计软件SkyReal Suite


    近年来,我们看到飞机及其他载具的工业设计正越来越多地采用虚拟现实技术。但是,航空航天工程师们虽然能理解在VR中进行设计的好处,可还是倾向于把自己的才能用在刀刃上:高效地开发优质的飞机和航天器。花时间学习新的VR工具可能被他们视作不必要的杂务。这就为SkyReal提供了商机。这家总部设在巴黎的公司为空中客车、阿丽亚娜集团和STELIA Aerospace等航空航天业客户构建基于虚幻引擎的定制VR解决方案,工程师们借助这些解决方案,不需要特别的培训就能让他们以非常直观的方式编辑设计、试验和协作。“对于这类大规模的项目,实体原型机可能是复杂而昂贵的,但是工程师和其他相关利益方都希望能真切感受和触摸设计。”SkyReal的首席执行官兼创始人Hugo Falgarone说,“在VR中,他们不需要原型机就能得到同样的体验。”

    除了提供准确的测试和试验平台外,SkyReal还减少了设计师与相关利益方之间的迭代,使设计周转时间缩短达30%。“他们不需要建造任何类型的微缩模型、原型机或实体机。”Falgarone说,“可以构建日常的数字化原型取而代之。”使VR迭代成为自发行为
    要打造一款既能有效实现复杂大规模虚拟设计又易于使用的工具绝非易事。Falgarone和SkyReal的首席技术官Benjamin Ray最初都在空中客车公司开发VR解决方案,他们参与的是一些内部项目。大约10年后,团队自立门户生产SkyReal Suite,这是一种可以提供给空客集团以外公司的独立产品。

    “如果你的工作就是设计发射台、汽车或船,你肯定不想把时间花在构建或操作复杂VR系统上。”Falgarone说,“你只想看到设计的最新修改,单击运行并和同事一起迭代。那就是我们构建SkyReal Suite的目的。”SkyReal Suite由三个模块组成:一个用于准备和导入CAD数据,另一个用于将数据存储在用户可以探索的“空间”中,第三个用于提供VR界面和环境。这个系统设计为按1:1的比例展示模型。

    虚幻引擎的导入工具集Datasmith推出已有一段时间,因此CAD数据到虚幻引擎资源的转换并不新鲜。SkyReal Suite的特点在于能将复杂的系统无缝转换为引擎中的高级VR体验,后者还能重新转换成CAD数据。这种复杂系统的提取对于实时大规模设计特别重要,在这类设计项目中的对象数量很可能达到100000以上,多边形数量往往超过200万。也许最重要的是,当工程师在虚拟现实中更改一个部件时,更改会自动传回CAD软件,再也不需要手动导出/导入循环。这套软件的设计目的就是让用户能够在其中自发地工作,不需要接受关于数据管理或虚拟现实开发的培训,也不需要在每次更新设计时借助外部或定制服务。“我们提供的不仅是技术,还有促成每次设计迭代的能力。”Falgarone说,“这意味着他们每星期或每天都能自己重现这种体验。”
    不仅是航空航天
    SkyReal工作流程的另一个优点是,制造团队可以利用为设计流程创建的资源。在这之后,这些资源还可以进一步被再利用于销售、支持和培训。因为资源都在虚幻引擎中,所以培训工具可以利用游戏逻辑,根据实际设计实现丰富的VR培训环境,而材质和光照可以用于创建达到广告要求的营销和销售用模型。

    由于SkyReal Suite按1:1的比例展示模型,它可以用于任何大规模设计项目——已经有客户用它对地面载具、船只乃至工厂机械背后的工程设计进行可视化。更重要的是,它能帮助工程师及早发现设计问题,以免它们产生昂贵成本乃至使设计全面失败。“通过使用SkyReal,我们的合作伙伴可以在很早的阶段就发现和验证错误,最终找到解决问题的方法。”?KP的高级顾问Jan B?rre Rydningen说。他的公司将SkyReal用于船舶建造:“他们能够避免和预测可能给项目造成致命影响的连锁错误。”
    虚幻引擎:实现完整解决方案的工具
    在开发SkyReal Suite时,Falgarone和Ray考虑了多种实时引擎,最终还是看中了虚幻引擎丰富的功能。“在SkyReal内部,协作非常重要,而虚幻通过复制图表等工具很好地支持了协作。”Ray,“我们也需要支持远程访问和控制的引擎。”他还指出,准确模拟物理规律的功能也是许多项目中必不可少的方面。不仅如此,虚幻引擎的nDisplay技术使他们的客户能够方便地使用多屏幕和多投影仪显示VR,例如投影墙和CAVE。虽然SkyReal可以创建他们自己的自定义源代码分支——任何虚幻引擎开发者都可以免费使用这一方法——但SkyReal选择始终使用最新发行版本,同时提供用于工程的专用体验。这样做的好处是,SkyReal总是能获得最新的功能,而且在虚幻引擎的每个重要版本发行时都能用这些功能更新他们的软件。当被问及SkyReal Suite最重要的目标时,Falgarone迅速作出回答。“可靠性!无论项目多大,我们都要做到100%可靠。”他说,“我们的客户总在挑战极限——他们想把越来越多的模型放进同一个模拟里。“我们必须善于创新才能跟上他们的需求。”他接着说,“虚幻引擎为我们提供了创新的条件。”

  • KA DesignWorks使用Twinmotion精修建筑可视化设计


    KA DesignWorks拥有14年的建筑设计和室内装潢经验。这家总部设在科罗拉多州阿斯彭近郊Roaring Fork Valley的建筑工作室从事包括商业建筑和建筑翻新在内的各种设计项目,尤其擅长定制住宅设计。KA DesignWorks的团队使用交互式建筑可视化工具Twinmotion已有三年,他们将这种软件与HTC VIVE结合来发挥其强大的VR能力。“静态图片的渲染很棒。”KA的建筑可视化/VR专员Andrew Chaloupka说,“视频也很棒。但这两者都无法像VR那样表现出空间感和尺度感。”最近这家公司从事的项目是翻新一座能够饱览洛基山美景的漂亮建筑。团队利用Twinmotion的力量使客户的评审速度以几何级数提高——并运用这款软件令人信服的VR功能对设计做出了在2D渲染中可能被忽视的改进。
    (本视频转载自Vimeo:视频原址)通过VR以全新视角评审设计
    White Horse Springs Lane项目的核心是一座因设计独特而在当地广为人知的房子。这座房子坐落于一条乡村公路附近,最初是在1990年代按照Ricardo Legorreta的风格设计的,其结构与周边环境格格不入。KA DesignWorks为这个物业提出的新设计最初是个概念项目,后来发展为改造该建筑的开发提案。这一物业具有不少有趣的特色,包括由同一平面上的各个厢房组成的多处外部空间以及令人惊叹的山景,这也意味着它有巨大的开发潜力。

    工作室为该物业提出的方案旨在开阔房屋视野以便饱览壮观山色,通过一套新的材质和纹理使它与环境更好地融合,并充分利用室外空间来增加物业的使用面积。交付的成果包括静态图像以及视频,主要用于介绍室内设计方向,以及激发投资人对项目的兴趣。KA在从事所有项目时,都会首先使用Graphisoft的ARCHICADBIM软件构建一个非常精细和协调的3D模型。然后团队可以使用ARCHICAD直接链接将这一模型导入Twinmotion中用于VR设计评审,该链接实现了Twinmotion与ARCHICAD的一键同步。Twinmotion使建筑设计师们不需要任何专业技术知识就能从3D模型转入VR,让每个人都能体验引人入胜的沉浸式演示,无论他们以前有无VR经验。“功能按钮非常直观,结果是令人惊叹而且立等可取的,根本不需要大量的培训工作。”Chaloupka证实。

    这个团队总是使用3D软件制作渲染和动画,但是因为它们缺乏VR功能,所以还需要另一种软件才能使项目更上一层楼。“在查看2D渲染图或楼层平面图时,客户往往觉得自己已经对看到的东西有了很好的理解。”Chaloupka解释说,“可当他们带上头显后,就会立刻提出各种反馈,比如说某个窗户太大了,某条走廊太窄了,或者某个天花板太高了。这样的反馈在2D环境下是不可能得到的。”暴露找出有待改进的区域
    以真人尺度在沉浸式环境中评估设计的功能最终对White Horse Springs Lane项目产生了巨大影响。比如,设计师们评估了房屋的一个独立单元中对玻璃的运用,该单元原本是看门人的住所。最初的设计仅仅要求更换现有窗户。“使用Twinmotion的VR功能就能明显看出,换用更大块的玻璃可以使它气派得多。”Chaloupka说,“通过增加玻璃并将该单元与主建筑相连,我们设计出了一个令人眼前一亮的多层spa。”

    在一次二级评审会上,相关利益方对泳池进行了评估。在最初的设计中,那只是一个简单的小型健身游泳池,但是通过在VR中的体验可以明显看出,它还需要一些东西。“最终的设计增加了一个一体式热水浴缸,还让泳池有了多个层次,”Chaloupka说。“我们真正地‘进入泳池’来布置和缩放各种元素,就好像亲临现场一样。”改进ROI和减少反馈循环
    除了改进最终设计,将VR用于客户和相关利益方评审还对KA的项目的财务底线产生了正面影响——工作室和客户双双获益。“我们不需要为某些细节跟客户反复折腾,在VR中演示一次项目就能立刻暴露出所有问题,然后就能当场解决。”工作室的首席建筑设计师Kenneth Adler说,“这显然节省了大量时间,而这又为客户和我们自己节省了金钱。”

    不仅如此,客户对于体验这种VR演示的热情也日益高涨。“我们注意到,只要试过一次,在以后的会议里就有很大一部分客户不用头显不肯走了。”Chaloupka说,“他们一旦看到它的潜力,就被迷住了。”甚至有人来联系工作室,为其他对流程、硬件和软件感兴趣的建筑师事务所安排演示。在Chaloupka看来,VR用于建筑设计的最令人激动的方面之一就是技术的快速发展——以及准入门槛的降低。“现在的硬件其实已经能以合理的成本跟上设计师的想法了,所以它就成了人们渴望已久的工具。”他说,“不远的将来都已经如此激动人心,我对于10年或20年以后的工作流程就只能抱以想象了,而且我已经迫不及待了。”

  • 将虚幻集成到苹果的Mac生态系统中


    嗨,大家好!我是Kyle Erf,在Moving Pieces Interactive担任技术总监,这是一家位于纽约布鲁克林的小工作室。我们创作了《Dodo Peak》,这是一款1980年代的高人气街机平台跳跃游戏的现代版。

    今年早些时候,《Dodo Peak》有幸作为苹果新的Arcade订阅服务的首发作品之一发行。苹果Arcade的主要卖点之一是,游戏可以在包括Mac在内的各种设备上运行。为了在苹果Arcade上发行《Dodo Peak》,我们必须与苹果的Mac应用商店生态系统以及iCloud和Game Center等苹果服务集成。任何打算发行Mac版游戏的人都应该考虑做这样的集成,这有很好的理由:
    在Mac应用商店,你的游戏可以有组织地吸引到那些不习惯去偏重游戏的数字商城的玩家。
    使用iCloud或Game Center处理排行榜和云存储之类的事务,意味着你可以依靠免费可信的第一方服务,而不必将第三方基础结构集成到你的应用。
    苹果Arcade需要Game Center和iCloud,这是它允许跨设备访问云存储的承诺的一部分。

    你将会高兴地发现,虚幻为iOS目标提供对Game Center和iCloud的现成支持。坏消息是,针对macOS的构建版没有内置同样的支持。直到最近,以Mac应用商店作为虚幻游戏的发行目标仍然是比较少见的用例。好在任何人都可以自己动手来绕过这些功能鸿沟。最近几个月里,我无意中成了在Mac上将虚幻游戏与苹果服务集成的专家,我愿意将我的知识倾囊相授,让你不必自行摸索。本指南将介绍如何将你的Mac游戏与苹果服务集成,以及如何针对Mac应用商店打包你的游戏。
    在苹果开发者门户中设置你的Mac应用
    要让你的游戏能够利用苹果服务并在Mac应用商店上架,第一步是在苹果的后端中配置你的应用。许多指南都会告诉你怎么做这一步,但是为了完整起见,下面简单列出你必须执行的操作:
    加入苹果开发者计划(年费是99美元)。
    通过“证书、标识和配置文件(Certificates, Identifiers Profiles)”页面上的“标识(Identifiers)”部分创建你的应用。
    给你的应用提供一个有用的包标识,例如“com.mycompany.mygame”。
    启用iCloud和Game Center功能,以及你需要的其他任何功能。
    注:如果你的游戏的iOS版已经有一个在使用的应用标识,你可以从iOS应用标识的设置中选择“Mac”功能来自动生成Mac标识。
    在“证书、标识和概要文件(Certificates, Identifiers Profiles)”页面的“证书(Certificates)”部分中创建你的帐户证书。
    Mac开发
    Mac应用分发
    Mac安装程序分发
    在本地创建一个证书签名请求。
    使用它创建和下载用于下列用途的证书:
    在“证书、标识和概要文件(Certificates, Identifiers Profiles)”页面的“设备(Devices)”部分中添加你拥有的任何测试或开发Mac。
    你可以通过系统报告功能找到Mac UDID。
    (可选)通过“证书、标识和概要文件(Certificates, Identifiers Profiles)”页面的“标识(Identifiers)”部分创建一个iCloud容器。
    编辑你的应用标识,使用iCloud功能旁边的按钮指定该容器。
    创建和下载相关配置概要文件。
    一定要选择你新创建的应用标识、证书和设备。
    创建一个Mac开发配置概要文件。
    创建一个Mac应用商店配置概要文件。
    在应用商店连接中创建一个新的macOS应用,选择你的新包标识。
    在虚幻引擎中打开你的项目。在项目设置中,转到“平台(Platforms) iOS”,然后将包标识设置为新的包标识。

    这是很无聊的部分。但是以后当你打包或测试游戏时,这些操作都会给你提供方便。下一节将介绍怎样围绕Game Center和iCloud等功能编写代码。
    将Mac游戏与苹果API集成
    由于虚幻引擎没有让游戏在macOS上与iCloud或Game Center通话的挂钩,所以你必须自己实现它们。快速浏览苹果文档后我们发现,要砸开其操作系统API的外壳,吃到营养丰富的核心,唯一的办法就是使用Objective-C或Swift。这听起来有点吓人,因为虚幻使用的是C++。那么你要怎么做?打算千辛万苦地编译和链接静态库吗?不!你可以使用虚幻引擎源代码所用的方法来绕过这个障碍:使用一种功能强大但鲜为人知的Xcode功能,它叫做Objective-C++。什么是Objective-C++?
    顾名思义,Objective-C++就是在你的C++内部内联Objective-C代码(反之亦可)的功能。C++和Objective-C都是C的超集,也就是说它们支持原版C语言的所有语法,还有附加的功能。虽然这两种语言在有些情况下会冲突,但大多数时候,在Xcode中同时使用它们是行之有效的。对那些想看更深入的Objective-C++指南的人,我推荐Medium的这篇文章。Objective-C采用基于引用计数的内存管理,有一些相关的风险需要避免,不过大多数时候不会出问题。现在来看你最想从本文得到的东西:代码范例。在Mac上支持Game Center
    苹果有关于如何针对Game Center编码的官方指南,简单来说就是这样:
    对玩家进行身份验证
    使用通过身份验证的玩家,对成就、排行榜等进行调用

    要编译以下任何代码,你需要先通过虚幻的构建系统向你的软件包公开必需库。在游戏的Build.cs文件中,向构造函数添加下列逻辑:

    if(Target.Platform==UnrealTargetPlatform.Mac){PublicFrameworks.AddRange(newstring[]{GameKit});}

    这里是一个使用Objective-C++验证玩家身份的范例。请注意,我将一个Objective-C回调函数传递到authenticateHandler,但是这个回调函数中的代码可以包含C++。

    #includeGameKit/GameKit.hvoidUMyBlueprintFunctionLibrary::GameCenterSignIn(){#ifWITH_EDITOR//donotrunineditor#elifPLATFORM_MAC//asynchronouslylogintoGameCenter.InyourcodeIrecommendwiringthisup//withdelegatesorUBlueprintAsyncActionBasesothatyoucanhandlecases//whereloggingintakesawhile.dispatch_async(dispatch_get_main_queue(),^{[[GKLocalPlayerlocalPlayer]setAuthenticateHandler:^(NSViewController*_NonnullviewController,NSError*error){if([[GKLocalPlayerlocalPlayer]isAuthenticated]){//Successreturn;}if(error){//Failure}elseif(viewController){//displayloginGKDialogController*presenter=[GKDialogControllersharedDialogController];presenter.parentWindow=[NSAppkeyWindow];[presenterpresentViewController:(NSViewController*_Nonnull)viewController];}}];});#endif}

    这里是一些解锁成就的示例代码。

    #includeGameKit/GameKit.hvoidUMyBlueprintFunctionLibrary::WriteAchievement(FStringID,floatPercent){#ifPLATFORM_MACif(![[GKLocalPlayerlocalPlayer]isAuthenticated])return;//convertFStringtoNSStringNSString*nsID=[NSStringstringWithUTF8String:TCHAR_TO_ANSI(*ID)];GKAchievement*achievement=[[GKAchievementalloc]initWithIdentifier:nsID];achievement.percentComplete=Percent;achievement.showsCompletionBanner=YES;[GKAchievementreportAchievements:@[achievement]withCompletionHandler:^(NSError*error){if(error!=nil){NSLog(@%@,[errorlocalizedDescription]);}}];#endif}

    这里是调用Game Center的排行榜API的代码。

    #includeGameKit/GameKit.hvoidUMyBlueprintFunctionLibrary::WriteScoreToLeaderboard(FStringLeaderboardID,intInteger){#ifPLATFORM_MACif(![[GKLocalPlayerlocalPlayer]isAuthenticated])return;//convertFStringtoNSStringNSString*nsID=[NSStringstringWithUTF8String:TCHAR_TO_ANSI(*LeaderboardID)];GKScore*score=[[GKScorealloc]initWithLeaderboardIdentifier:nsID];score.value=Integer;[GKScorereportScores:@[score]withCompletionHandler:^(NSError*error){if(error!=nil){NSLog(@%@,[errorlocalizedDescription]);}}];#endif}

    这是最后的警告:在虚幻编辑器中从你的代码调用Game Center函数可能导致一些奇怪的行为,所以我建议你把Game Center代码打包在#if WITH_EDITOR宏中,或用其他方式在游戏的解包版本中禁用这些功能。
    使用iCloud实现云存档
    本指南不会解释iCloud的所有奥秘。苹果有一些基础教程,你应该先阅读它们,再着手使用iCloud为你的作品添加云存档支持。根据你的用途,可以将iCloud视作一个很大的键-值存储,玩家可以对它进行读写。有几种方法可以为iCloud建模存档数据:
    将存档对象的每个字段作为它在iCloud中的自有字段(例如,玩家的等级字段将是一个名为“Level”的整数,而他们的角色名称将是名为“Name”的字符串,等等)。
    将存档对象序列化为二进制数据,并将整个存档作为一个二进制Glob(###)上传到一个iCloud字段。

    对于《Dodo Peak》,我的团队决定采用第2种选择,因为这允许我们使用虚幻用来将存档写出至磁盘的那种序列化逻辑。还是一样,在运行代码之前,我们必须先告诉构建系统使用CloudKit库:

    if(Target.Platform==UnrealTargetPlatform.Mac){PublicWeakFrameworks.Add(CloudKit);}

    这里是一些序列化SaveGame对象并将其上传至iCloud的示例代码:

    #includeCloudKit/CloudKit.h#includeGameFramework/SaveGame.h#includeKismet/GameplayStatics.h#includeSerialization/MemoryReader.h#includeSerialization/MemoryWriter.h#includeSerialization/ObjectAndNameAsStringProxyArchive.hvoidUMyBlueprintFunctionLibrary::WriteSaveToCloud(USaveGame*MySave){TArrayuint8ObjectBytes;FMemoryWriterMemoryWriter(ObjectBytes,true);FObjectAndNameAsStringProxyArchiveAr(MemoryWriter,false);MySave-Serialize(Ar);CKContainer*defaultContainer=[CKContainercontainerWithIdentifier:@iCloud.unrealtutorial.mygame];if(defaultContainer==nil){//initializationfailedreturn;}else{CKDatabase*DB=[defaultContainerprivateCloudDatabase];CKRecordID*recordId=[[[CKRecordIDalloc]initWithRecordName:@save_game_id]autorelease];//RecordTypeSaveGameisconfiguredinApplesonlineiClouddashboardCKRecord*record=[[CKRecordalloc]initWithRecordType:@SaveGamerecordID:recordId];//ConvertUnrealdataarraytoNSDatabytesNSData*data=[NSDatadataWithBytes:ObjectBytes.GetData()length:ObjectBytes.Num()];record[@SaveData]=data;//useCKModifyRecordsOperationtoallowupdatingexistingrecordsCKModifyRecordsOperation*modifyRecords=[[CKModifyRecordsOperationalloc]initWithRecordsToSave:@[record]recordIDsToDelete:nil];modifyRecords.savePolicy=CKRecordSaveAllKeys;modifyRecords.qualityOfService=NSQualityOfServiceUserInitiated;modifyRecords.perRecordCompletionBlock=^(CKRecord*results,NSError*error){if(error!=nil){NSLog(@icloudsaveerror:%@,error);}else{NSLog(@icloudsavesuccess:%@,results);}};[DBaddOperation:modifyRecords];}}

    这里是从iCloud加载SaveGame数据并将二进制数据读取到新的SaveGame对象的示例代码:

    #includeCloudKit/CloudKit.h#includeGameFramework/SaveGame.h#includeKismet/GameplayStatics.h#includeSerialization/MemoryReader.h#includeSerialization/MemoryWriter.h#includeSerialization/ObjectAndNameAsStringProxyArchive.hUCustomSaveGame*UMyBlueprintFunctionLibrary::LoadFromCloud(){CKContainer*defaultContainer=[CKContainercontainerWithIdentifier:@iCloud.unrealtutorial.mygame];if(defaultContainer==nil){returnnullptr;}else{NSPredicate*predicate=[NSPredicatepredicateWithFormat:@TRUEPREDICATE];CKDatabase*publicDatabase=[defaultContainerprivateCloudDatabase];CKRecordID*recordID=[[CKRecordIDalloc]initWithRecordName:@save_game_id];__blockNSData*data=nil;//holdontoresultsinthisblocktokeepdatafrombeingGCdfromunderus__blockCKRecord*holdResults;//NOTE:thisshouldbesynchronizedusingdelegates,semaphores,orsomeothermeans[publicDatabasefetchRecordWithID:recordIDcompletionHandler:^(CKRecord*results,NSError*error){holdResults=results;if(error!=nil){NSLog(@icloudloaderror:%@,error);}else{NSLog(@icloudloadsuccess:%@,results);data=[[NSDataalloc]initWithData:(NSData*)results[@SaveData]];}}];//DONOTSYNCHRONIZEWITHASLEEP--thisisforexamplepurposesonlyusleep(3000000);//waitforasyncload//readdataintoasaveobjectTArrayuint8ObjectBytes;ObjectBytes.AddUninitialized(data.length);FMemory::Memcpy(ObjectBytes.GetData(),data.bytes,data.length*sizeof(uint8));FMemoryReaderMemoryReader(ObjectBytes,true);FObjectAndNameAsStringProxyArchiveAr(MemoryReader,true);UCustomSaveGame*LoadedSave=CastUCustomSaveGame(UGameplayStatics::CreateSaveGameObject(UCustomSaveGame::StaticClass()));LoadedSave-Serialize(Ar);returnLoadedSave;}}

    以上代码只是给你提供一个起点。每个人的需求都是不同的,要为你的游戏完全实现云存档,你必须考虑的事项包括:
    你的游戏存档频率有多高?你读档的频率有多高?你应该在每次存读档时都与云端通信,还是只在有些时候这样做?
    你是否需要支持多种设备读写同一个iCloud记录?
    你怎样处理离线进度?
    你的游戏将如何处理玩家的本地存档与云端数据冲突的情况?

    请注意,如果你从编辑器或在导出你的应用之后尝试运行任何Mac iCloud代码,你的游戏将会抛出异常,抱怨缺少授权。和Game Center一样,我建议你不要让任何iCloud代码在编辑器中运行。下一节概述如何在你的开发构建版板中真正运行那些iCloud代码。
    签名和打包你的游戏
    该把所有这些东西打包了。只要翻过旅途中的最后一个山头,你就能让你的虚幻游戏使用苹果API并把它上传到Mac应用商店了。为此你需要配置游戏的代码签名、授权和Plist。光是这些话题就可以写一篇博文,这里仅作快速总结。
    代码签名是苹果确保可执行文件代码真正出自原作者之手而且未经篡改的方法。在这里可以了解更多信息。
    授权是在代码签名时嵌入到应用中的键值对,它指示了你的应用可以利用的某些安全操作系统功能,例如iCloud。在这里可以了解更多信息。
    信息属性列表(即“Info.plist”)包含对你的应用以及应用商店必不可少的配置数据,包括应用图标的位置或支持的语言等信息。在这里可以了解更多信息。

    如果你熟悉虚幻引擎如何使用针对iOS的配置概要文件和证书打包的话,那么这个过程和它很相似,只不过你必须自己执行通常虚幻和Xcode为你代劳的步骤。用于本地开发的打包和签名
    你知道,在将游戏推送到应用商店之前,你很可能需要确保它能运行。那么怎样制作一个可以本地运行的构建版?前面提到过,如果你尝试调用iCloud函数,而没有用iCloud授权对你的应用程序签名,游戏将会崩溃。所以让我们来补上这些缺失的授权。这个过程简单直接,但很麻烦。要将新的授权引入Mac应用程序中,你需要为该应用提供一个配置概要文件,然后用必要的授权对它签名。下面是操作方法。在虚幻引擎中,将你的游戏打包。然后在一个终端上,导航到包含新导出的应用的目录。创建开发配置概要文件的副本,然后将它重命名为“embedded.provisionprofile”。将这个配置概要文件复制到“YourGame.app/Contents/embedded.provisionprofile”。要为它提供新的代码签名,首先你必须创建一个XML文件,其中应有你要添加到应用程序的授权。该文件可能类似于以下示例:

    ?xmlversion=1.0encoding=UTF-8?!DOCTYPEplistPUBLIC-//Apple//DTDPLIST1.0//ENhttp://www.apple.com/DTDs/PropertyList-1.0.dtdplistversion=1.0dictkeycom.apple.application-identifier/keystringTEAMID.com.mycompany.mygame/stringkeycom.apple.developer.icloud-container-environment/keystringDevelopment/stringkeycom.apple.developer.icloud-services/keyarraystringCloudKit/string/arraykeycom.apple.developer.icloud-container-identifiers/keyarraystringiCloud.com.mycompany.mygame/string/arraykeycom.apple.developer.game-center/keytrue/keycom.apple.security.app-sandbox/keytrue//dict/plist

    确保更改以上XML,使得:
    你的com.apple.application-identifier就是你的完整应用包标识(重要信息:确保包标识以你的团队标识开头,它是字母和数字组成的字符串,类似于“3Y1CL48M1K”)。
    更改com.apple.developer.icloud-container-identifiers数组,使其包含你的iCloud容器标识。

    将这个文本文件另存为“entitlements.plist”。(顺便说一下,你可以使用codesign -dv --entitlements - AppName.app来查看任何应用程序的授权,这个命令在调试时很方便。)为了正确为应用签名,你还必须先为所有可执行文件代码签名,然后才能为应用本身签名。你可以使用一个命令来执行所有这些签名:

    codesign--deep-f-v-s3rdPartyMacDeveloper:--entitlementsentitlements.plistMyGame.app

    这就行了!在Finder中双击你的应用,这时你应该就能玩游戏并提出iCloud和Game Center请求了!
    用于分发的打包和签名
    将应用发送到Mac应用商店须遵循同样的步骤,但略微复杂一些。请手动将下面的步骤执行一遍来理解它们,然后编写你自己的自动执行脚本。首先,将你的游戏作为启用分发的发售软件包导出。然后,编辑你的plist,添加可能要发送到商店页面的任何附加信息。例如,你可以通过GCSupportedGameControllers列出游戏支持的控制器,使用CFBundleLocalizations设置游戏支持的语言(应用商店无法自动检测虚幻的本地化支持),并且手动编辑版本号和包标识。必须设置应用的LSApplicationCategoryType,使它能被Application Loader接受。复制你的分发配置概要文件,然后将它重命名为“embedded.provisionprofile”。将该配置概要文件复制到“YourGame.app/Contents/embedded.provisionprofile”。现在,和分发构建版签名不同的是,我们必须对导出的.app做些小清理,才能让它被Mac应用商店批准。首先,Mac应用商店不支持32位可执行文件代码(macOS 10.15版和更高版本也不支持)。虚幻会自动将一些包含32位代码的动态音频库与你的游戏捆绑到一起,所以我们必须删除那些代码。好在这是计算机科学史上相当常见的问题,因此有专门做这些操作的工具。你可以利用lipo命令,运行:

    lipoMyGame.app/Contents/UE4/Engine/Binaries/ThirdParty/Ogg/Mac/libogg.dylib-removei386-outputMyGame.app/Contents/UE4/Engine/Binaries/ThirdParty/Ogg/Mac/libogg.dyliblipoMyGame.app/Contents/UE4/Engine/Binaries/ThirdParty/Vorbis/Mac/libvorbis.dylib-removei386-outputMyGame.app/Contents/UE4/Engine/Binaries/ThirdParty/Vorbis/Mac/libvorbis.dyliblipoMyGame.app/Contents/UE4/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_16/osx32/libopenvr_api.dylib-removei386-outputMyGame.app/Contents/UE4/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_16/osx32/libopenvr_api.dylib

    其次,虚幻会将一个子组件添加到你导出的游戏,而它已经有自己的包标识,这会让Application Loader抓狂。这个组件是“RadioEffectUnit.component”。据我所知,这是一个音频效果,但是我不能确定为什么构建系统要这样处理它。好在如果你不使用RadioEffectUnit,就可以直接从应用删除它:

    rm-rfMyGame.app/Contents/Resources/RadioEffectUnit.componentrm-rfMyGame.app/Contents/UE4/Engine/Build

    完成这些清理以后,我们就可以继续为构建版签名了。为了准备代码签名,首先你必须创建一个XML文件,其中应有你要添加到应用程序的授权。该文件可能类似于以下示例:

    ?xmlversion=1.0encoding=UTF-8?!DOCTYPEplistPUBLIC-//Apple//DTDPLIST1.0//ENhttp://www.apple.com/DTDs/PropertyList-1.0.dtdplistversion=1.0dictkeycom.apple.application-identifier/keystringTEAMID.com.mycompany.mygame/stringkeycom.apple.developer.icloud-container-environment/keystringProduction/stringkeycom.apple.developer.icloud-services/keyarraystringCloudKit/string/arraykeycom.apple.developer.icloud-container-identifiers/keyarraystringiCloud.com.mycompany.mygame/string/arraykeycom.apple.developer.game-center/keytrue/keycom.apple.security.app-sandbox/keytrue//dict/plist

    确保更改以上XML,使得:
    你的com.apple.application-identifier就是完整应用包标识(重要信息:确保包标识以你的团队标识开头,它是字母和数字组成的字符串,类似于“3Y1CL48M1K”)。
    更改com.apple.developer.icloud-container-identifiers,使其包含你的iCloud容器标识。

    将这个文本文件另存为“entitlements.plist”。现在该签名了!为了进行分发,你必须为游戏二进制文件和所有动态库签名,最后还要为.app本身签名。我们的做法是:

    codesign-f-v-s3rdPartyMacDeveloperApplication:--entitlementsentitlements.plistMyGame.app/Contents/MacOS/MyGame

    这个命令会使用find为文件中的所有动态库(.dylib)签名:

    findMyGame.app/Contents/|grep.dylib|xargscodesign-f-v-s3rdPartyMacDeveloperApplication:--entitlementsentitlements.plist

    然后为整个应用签名:

    codesign-f-v-s3rdPartyMacDeveloperApplication:--entitlementsentitlements.plistMyGame.app/

    全部签名完毕后,我们可以打包应用了。要生成可上传的.pkg,运行:

    productbuild--componentMyGame.app//Applications--sign3rdPartyMacDeveloperInstaller:MyGame.pkg

    现在打开你系统上的Application Loader应用。单击“选择(choose)”按钮,然后选择你的新.pkg文件。Application Loader会扫描你的软件包中有无错误,然后将它上传到应用商店连接门户。

  • 实时模拟改变英国铁路的维护规划


    近年来,我们看到飞机及其他载具的工业设计正越来越多地采用虚拟现实技术。但是,航空航天工程师们虽然能理解在VR中进行设计的好处,可还是倾向于把自己的才能用在刀刃上:高效地开发优质的飞机和航天器。花时间学习新的VR工具可能被他们视作不必要的杂务。这就为SkyReal提供了商机。这家总部设在巴黎的公司为空中客车、阿丽亚娜集团和STELIA Aerospace等航空航天业客户构建基于虚幻引擎的定制VR解决方案,工程师们借助这些解决方案,不需要特别的培训就能让他们以非常直观的方式编辑设计、试验和协作。“对于这类大规模的项目,实体原型机可能是复杂而昂贵的,但是工程师和其他相关利益方都希望能真切感受和触摸设计。”SkyReal的首席执行官兼创始人Hugo Falgarone说,“在VR中,他们不需要原型机就能得到同样的体验。”

    除了提供准确的测试和试验平台外,SkyReal还减少了设计师与相关利益方之间的迭代,使设计周转时间缩短达30%。“他们不需要建造任何类型的微缩模型、原型机或实体机。”Falgarone说,“可以构建日常的数字化原型取而代之。”使VR迭代成为自发行为
    要打造一款既能有效实现复杂大规模虚拟设计又易于使用的工具绝非易事。Falgarone和SkyReal的首席技术官Benjamin Ray最初都在空中客车公司开发VR解决方案,他们参与的是一些内部项目。大约10年后,团队自立门户生产SkyReal Suite,这是一种可以提供给空客集团以外公司的独立产品。

    “如果你的工作就是设计发射台、汽车或船,你肯定不想把时间花在构建或操作复杂VR系统上。”Falgarone说,“你只想看到设计的最新修改,单击运行并和同事一起迭代。那就是我们构建SkyReal Suite的目的。”SkyReal Suite由三个模块组成:一个用于准备和导入CAD数据,另一个用于将数据存储在用户可以探索的“空间”中,第三个用于提供VR界面和环境。这个系统设计为按1:1的比例展示模型。

    虚幻引擎的导入工具集Datasmith推出已有一段时间,因此CAD数据到虚幻引擎资源的转换并不新鲜。SkyReal Suite的特点在于能将复杂的系统无缝转换为引擎中的高级VR体验,后者还能重新转换成CAD数据。这种复杂系统的提取对于实时大规模设计特别重要,在这类设计项目中的对象数量很可能达到100000以上,多边形数量往往超过200万。也许最重要的是,当工程师在虚拟现实中更改一个部件时,更改会自动传回CAD软件,再也不需要手动导出/导入循环。这套软件的设计目的就是让用户能够在其中自发地工作,不需要接受关于数据管理或虚拟现实开发的培训,也不需要在每次更新设计时借助外部或定制服务。“我们提供的不仅是技术,还有促成每次设计迭代的能力。”Falgarone说,“这意味着他们每星期或每天都能自己重现这种体验。”
    不仅是航空航天
    SkyReal工作流程的另一个优点是,制造团队可以利用为设计流程创建的资源。在这之后,这些资源还可以进一步被再利用于销售、支持和培训。因为资源都在虚幻引擎中,所以培训工具可以利用游戏逻辑,根据实际设计实现丰富的VR培训环境,而材质和光照可以用于创建达到广告要求的营销和销售用模型。

    由于SkyReal Suite按1:1的比例展示模型,它可以用于任何大规模设计项目——已经有客户用它对地面载具、船只乃至工厂机械背后的工程设计进行可视化。更重要的是,它能帮助工程师及早发现设计问题,以免它们产生昂贵成本乃至使设计全面失败。“通过使用SkyReal,我们的合作伙伴可以在很早的阶段就发现和验证错误,最终找到解决问题的方法。”?KP的高级顾问Jan B?rre Rydningen说。他的公司将SkyReal用于船舶建造:“他们能够避免和预测可能给项目造成致命影响的连锁错误。”
    虚幻引擎:实现完整解决方案的工具
    在开发SkyReal Suite时,Falgarone和Ray考虑了多种实时引擎,最终还是看中了虚幻引擎丰富的功能。“在SkyReal内部,协作非常重要,而虚幻通过复制图表等工具很好地支持了协作。”Ray,“我们也需要支持远程访问和控制的引擎。”他还指出,准确模拟物理规律的功能也是许多项目中必不可少的方面。不仅如此,虚幻引擎的nDisplay技术使他们的客户能够方便地使用多屏幕和多投影仪显示VR,例如投影墙和CAVE。虽然SkyReal可以创建他们自己的自定义源代码分支——任何虚幻引擎开发者都可以免费使用这一方法——但SkyReal选择始终使用最新发行版本,同时提供用于工程的专用体验。这样做的好处是,SkyReal总是能获得最新的功能,而且在虚幻引擎的每个重要版本发行时都能用这些功能更新他们的软件。当被问及SkyReal Suite最重要的目标时,Falgarone迅速作出回答。“可靠性!无论项目多大,我们都要做到100%可靠。”他说,“我们的客户总在挑战极限——他们想把越来越多的模型放进同一个模拟里。“我们必须善于创新才能跟上他们的需求。”他接着说,“虚幻引擎为我们提供了创新的条件。”

    与10年前相比,如今英国铁路每天运送的旅客数量增加了50%,日客运量已达400万人左右。鉴于这些数字必然会继续增长,为了提供更高效、安全、可靠的服务,在尽量减少对旅客干扰的前提下对线路进行现代化改造就势在必行。对于负责维护英国众多铁路的国有基础设施管理商Network Rail来说,这就意味着必须精心规划和设计线路大修工程,避免造成严重的服务中断。现在为了实现这一目标,设计线路大修工程的工程团队使用了索尔福德大学的THINKlab开发的一种采用UE4技术的虚拟工具。通过在虚拟模拟环境中评估铁路工作,Network Rail得以显著改善项目的效率、成本和交付时间。“过去我们要花整整一周时间来规划一个周末的工作量。”Network Rail South Alliance的转型主管Steve Naybour说,“现在有了新工具,这些规划工作可以缩短到几个小时。”
    (本视频转载自Vimeo:视频原址)发挥BIM和实时模拟的威力
    THINKlab属于索尔福德大学的科学工程与环境学院(SEE),是个先进的“未来中心”。它引领着众多领域的研究,包括用于城市复兴、工程和智能城市应用的ICT平台,而且特别强调产业与跨学科协作。THINKlab开发的模拟工具使Network Rail能够依靠多种数据源构建任何工地的3D模型。他们可以根据CAD或激光扫描的轨道数据将虚拟铁轨放到3D数字化地形上;或是导入架空线路设备、道碴、枕木、铁轨和信号装置的建筑信息建模(BIM)模型,获得更准确的实际工地表示。他们还可以使用工地设备资源库,其提供可包含在模拟中的打洞机和挖掘机。

    用户可以定义完成项目所需的资源,并构建各种活动的时间轴,映射任务相关性。软件中的成本计算功能让用户准确了解各种选择对财务的影响。随着用户做出规划决定和输入数据,该软件会自动模拟工作,提供多种摄像机角度的视图,还能按不同的放大级别和速度显示。规划输入的任何更改都会立即在模拟中表现出来。这使得反馈循环比传统的计算机建模方法大大缩短,因为工程师、设计师和规划师不必依靠计算机建模专家就能看到计划更改的影响。

    实践证明,这种工具在为Network Rail的大修工程分配适量资源方面具有重大价值。“虽然我们可能曾使用五台设备来做某项工作,但通常只需要两三台。”SC Alliance South East的开发主管Stephen Kearney说,“有了这套软件,我们就能提前预见并验证自己需要哪些设备。”利用蓝图提高工作流程效率
    虚幻引擎几乎是THINKlab所有可视化工作的首选解决方案。“UE4公开发行后不久,我们就开始把大部分项目迁移到UE4中,因为它提供立等可取且大大优于其他引擎的图像质量,而且大大方便和加快了场景的迭代。”THINKlab的首席开发员Michal Cieciura说,“许可证模式真是太棒了,我们几乎以零成本获得了一款顶级引擎。”

    通过访问引擎的源代码,该团队的开发者熟悉框架的速度显著加快,这使他们在早期就能更大程度地优化机制。他们还充分利用了蓝图可视化脚本系统,这种脚本语言使通常只有程序员才能使用的工具也能为设计师和其他非程序员所用。“蓝图系统不仅使得原型设计和试验性设计对程序员变成小菜一碟,还让不会编程的团队成员也有了更强的独立工作能力,因为他们可以自己构建所需的功能部件。”Cieciura说,“而这又使我们的工作流程总体上变得更高效。”

    这个项目的团队成员都曾在各自的建模软件包中使用过基于节点的界面,他们发现虚幻引擎的材质编辑器很容易掌握。“而且,PBR材质——与虚幻引擎的光照解决方案相结合——不仅实时提高了视觉逼真度,还省去了离线渲染的需求。”Cieciura说。通过交互式工作流程改进ROI和交付时间
    Network Rail的基础设施大修工程在转型时正好赶上英国政府启动一系列计划,这些计划旨在使用数字化技术振兴英国的建筑部门。

    这些计划的关键目标之一是促进BIM的采用,从而更好地规划、建设、维护和使用基础设施。通过利用实时模拟以及BIM模型的力量,THINKlab开发的这种虚拟模拟环境为这一数字化转型运动的下一步发展指明了方向。对Network Rail来说,实践已证明这种创新的价值堪比黄金。“这种工具减少了增加额外成本和延长工作交付时间的风险。”Network Rail的项目经理Ameet Masania说,“它正在成为我们完成铁路工作时必不可少的工具。”

  • YAGER如何打造PVPVE射击游戏《The Cycle》


    当你想到在线多人游戏的时候,脑海中最先涌现的会是什么?可能是PVP向的游戏,玩家在这类游戏中要相互竞争来赢得奖励。也可能是更讲究合作的游戏,比如PVE的体验,玩家在追求生存或荣耀的过程中要组队合作来对抗蜂拥而至的敌人。《The Cycle》则是这两种思路的混合产物,同时它本身绝对是独一无二的。由YAGER开发的《The Cycle》具有“PVPVE”的独特混合式玩法,既要求玩家在一个外星球上与危险的怪物搏斗,又要求他们完成合同并躲避毁灭性的异常天灾。为了解这家柏林的工作室如何不断推陈出新、改进竞技性在线游戏,我们采访了YAGER的创意总监Torkel Forner和执行制作人Jonathan Lindsay。这两人介绍了《The Cycle》背后的创作灵感,并深入讲解了帮助团队实现这款游戏的工具。
    (本视频转载自YouTube:视频原址)
    《The Cycle》具有非常独特的设定,让玩家在一个外星球上用武力争夺资源。这个概念的灵感是怎么来的?最初的玩法灵感来自我们过去玩《魔兽世界》的经历——特别是第一次进入PVP区域的时候。因为其他敌对玩家的存在而增加的紧张感使原本就引人入胜的体验变得更加难忘。至于我们想要打造的世界观、设定和感觉,则是从西部题材和科幻作品中汲取灵感,力求打造一个让玩家念念不忘的世界。我们的另一大灵感来源则是典型的MOBA游戏主循环,【它要求你】每场比赛都从零开始,让你的角色快速升级并获得装备,然后加入与其他玩家对抗的最后决斗。我们致力于在射击游戏中实现类似的循环,创造一种充满战术要素和刺激感的体验。你们对《The Cycle》的期望是什么?你们想吸引哪一类玩家?我们想要创造的游戏和体验是面向希望自由尝试、探索和表达的玩家——在一场竞争激烈的比赛中让他们享受这些。我们想打造一款能包容不同玩法的游戏,而我们认为一款竞技性沙盒游戏就是达成这一目标的最佳选择。当然,我们还想吸引经验丰富的玩家,因为游戏中的竞技元素是很强的;聪明的头脑和精湛的枪法肯定能帮助你赢得比赛。

    在游戏的开发或概念化过程中,团队是否有过茅塞顿开的顿悟时刻?在开发过程中,这样的时刻有很多——我们团队每天都会试玩游戏。即使在项目早期,某些时刻和某些比赛都会让我们觉得自己达成了目标。但是,我们还在不断努力改进这款游戏。每当我们觉得自己已经做到最佳水平时,就会把目标定得更高,希望能做得更好。团队的规模有多大?我们大概有60个开发人员,全都在位于德国柏林克罗伊茨贝格区的工作室工作。

    能谈谈团队使用虚幻的体验吗?我们原先用的是自制引擎,在2004年改用虚幻3。后来我们成了UE4的早期采用者。我们一直使用虚幻是因为这款引擎超级好用,能让我们以惊人的速度进行迭代。虚幻为什么适合制作《The Cycle》?我们非常看重编辑器的易用性和让团队中每个人都能制作玩法的功能。另外,虚幻广泛的视觉效果潜力在业界是无与伦比的。多年来,这个特点帮助我们以各种方式为玩家和客户提供体验。在过去的15年中,我们得到了Epic虚幻团队专业且强有力的支持。现在,我们工作室运用虚幻的水准非常之高,以至于再寻找替代引擎已经毫无意义,因为我们用虚幻进行开发肯定快得多也好得多。

    团队有特别喜欢的虚幻引擎工具吗?对我们来说,蓝图脚本是主要的助推器,它使我们整个团队都能创作玩法体验,从而让我们能更快地试验各种玩法。此外,引入实时编码也大大帮助了我们的玩法工程小组。作为一款不断进步的游戏,有没有什么重要的工具帮助团队创作定期更新的内容?借助包括自动LOD生成、纹理管理/流送和易于使用的材质编辑器在内的【虚幻】精简导入流程,我们不需要创建【自定义】流程就能不断添加内容,因为【已经】有现成的流程了。

    虚幻是否帮助你们实现过什么原本很难实现的概念?如果没有虚幻的联网子系统,我们现在开发的好友、部落和排行榜等功能实现起来就会难得多,更何况我们还计划让《The Cycle》登陆多种平台。

  • 交互式VR培训


    直到不久以前,建筑业对变革还是抱着保守的态度。随着工业4.0技术带来在降低成本的同时提高效率、质量和安全性的前景,许多管理咨询公司预言,实行快速数字化和颠覆性变革的时机已经成熟。数字化平台TwinSite就是处于这一变革前沿的创新之一。由欧洲最大的租赁施工设备提供商Ramirent/Loxam推出的TwinSite是一种以交互式建筑工地及其周边为背景的虚拟场景。

    该平台由实时媒体和制片工作室One Reality在虚幻引擎中构建,为建筑工地上的人员提供沉浸式的交互式学习环境。“TwinSite将会逐步发展,包含许多不同类型、不同阶段的建筑工地,”One Reality的董事长Magnus Arfors说。“它将成为众多品牌的虚拟营销沟通和创新平台,旨在提高建筑业的工地安全性、业务效率和可持续性。”
    (本视频转载自YouTube:视频原址)改进知识传递的VR学习
    欧洲各地都有法规要求租赁公司在出租各种设备前进行关于健康和安全的培训。不过即使在法律没有明确要求的地方,许多公司为了支持他们的客户也会提供这种服务,因为后者需要承担达到严格安全标准的义务。

    在这种情况下,数字化平台TwinSite就可以帮助降低成本并促进知识传递。“TwinSite能帮助人们更广泛地理解被我们称作‘临时工厂’的设备的风险、总体功能和设计,”Ramirent的业务发展经理Anders Vikmyr解释说。“临时工厂是为了建造建筑物或结构而临时需要的一切设施的组合,例如吊车、起重机、脚手架、临时采暖设施和更衣室。”TwinSite不必在异地培训设施中开展培训,而是可以在建筑工地中就地设置和使用,既可以使用传统的平面屏幕2D形式,也可以通过虚拟现实提供更有沉浸感的逼真体验。

    可以安排工地上的工人们在某个时间学习教学课程,包括操作程序和安全说明。交互式VR环境可以准确再现真实世界中的情境,人们发现它的沉浸性比起传统教学方法更善于传递知识,而且还能为实操人员提供安全而经济的训练场。

    目前TwinSite上提供两套培训课程:Cutter VR和Silica Dust VR,可以通过该平台的主要虚拟建筑工地上的Concrete Room访问。Concrete Room是一个包含多个工作站的虚拟环境,受训者在每个课程中都需要完成工作站中的任务。
    (本视频转载自YouTube:视频原址)
    在Cutter VR中,用户将学习Husqvarna混凝土切割机的正确操作程序和处理方法。他们将学会如何为每种作业挑选正确类型的刀片,如何对设备进行维护检查。混凝土切割机在现实中可能是很危险的,因为它们有反弹的风险。课程中以虚拟方式再现了这种风险,带来震撼性教育的同时却不会危及用户。

    在Silica Dust Vr课程中,用户将通过一系列交互式课程了解硅尘——当今建筑工人面临的最大健康危害之一。有部分课程让人缩小到微观尺度,体验硅尘对肺部的肺泡和纤毛的剧烈影响。迄今为止这个课程已经让大约400人了解到硅尘的危害和缓解该风险的方法,用户们的反馈好评如潮。
    用于提高ROI的实时培训
    与传统方法相比,实时培训有更显著的ROI效益。传统的由教师主导的培训要求工地人员离开建筑工地半天或更长时间来完成一个课程。这还没有考虑往返时间和出行成本。有了TwinSite,Ramirent就不必一次派10个人去某家培训机构,而是可以直接去客户那里设置VR套件,往往是在建筑工地上的某个工棚里。One Reality和Ramirent估计,在工地上进行VR培训的经济性可能是传统异地培训的四倍。“每个受训者都可以预约一个小时的培训,就像预约看牙医一样,”Vikmyr说。“这节省了大量的时间,几乎不会干扰工地上的日常活动。”不仅如此,事实还证明沉浸式培训的效率远高于传统培训。Ramirent发现,受训者只需要不到一个小时就能完成课程的学习部分和后续测验部分。它的知识传递效果也是显著的,受训人员在测验中的平均分超过了90%。

    它带来的效益还不光是降低培训成本和增进知识。“除了培训外,TwinSite还可以作为虚拟的沟通和创新中心来降低成本,”Arfors说。“例如,Husqvarna的产品在教学和演示中出现了一次又一次,Husqvarna的代表甚至不必到现场宣传。”依靠蓝图,以少数程序员实现更高产出
    One Reality从2016年起就一直使用虚幻引擎创作虚拟场景和体验。“我们使用它是因为我们欣赏它出色的性能和灵活性,”Arfors说。

    工作室的团队在引擎中构建了TwinSite虚拟环境,并参与开发现有虚拟基础结构的新虚拟学习模块。考虑到这个团队相对较小的规模,他们交出的工作成果就更令人印象深刻。“我们依靠蓝图,以相对较少的C 程序员做出了这些内容,”Arfors说。虚幻引擎中的蓝图可视化脚本系统为设计师提供了快速高效地使用各种工具的途经,而这些工具通常只有程序员能用。他们不必一行行地写代码,一切工作都可以通过可视化的方式完成:拖放节点,在UI中设置属性,以及拖拉连线。除了利用蓝图的功能,团队还在这个项目中创造了动作捕捉的创新用法。“我们设置了自己的动作捕捉系统来加快制作动画所用的时间,”Arfors解释说。“我们还在一台真的混凝土切割机上放了跟踪装置来创作关于真实机器的高端体验,多亏了UE4,这个工作很轻松。”交互式可视化推动建筑业的变革
    Vikmyr预计TwinSite这样的沉浸式和交互式环境会对建筑业产生变革性的形象。“建筑业在总体效率方面遇到了严重挑战。”他说,“它对雇员来说也是最危险的行业之一。TwinSite将会凭借高效地对大批人员进行高质量知识传递的能力,在这些方面发挥正面作用,帮助这个行业在这一过程中提高可持续性。”

    Arfors还相信这个平台有潜力推动全行业的真正变革。“我们有理由相信,我们正在改变人们的态度,大家开始严肃对待风险了,”他说。不仅如此,他还称赞通过虚幻引擎达到的逼真度在这方面起了关键作用。“有些用户在看到混凝土切割机冒出尘雾时,甚至会不由自主地开始咳嗽,”他说。“这就是在UE4中构建的优质体验带来的结果。”随着数字化策略在设计、工程和施工流程中得到采用,未来还会产生更大的协同效应。一旦你有了某个产品或项目的虚拟表示,将它用于流程不同部分的增量工作就会轻松得多。用于销售和营销的混凝土切割机的数字化资源可以成为用于培训和维护的数字化资源。虽然这还远远没有成为惯例,但是在各种任务中使用实时资源正是这个行业的发展趋势。

  • 未来的开放汽车平台与数据模式


    当前我们正在经历第四次工业革命,技术正在模糊物理、数字和生物世界的界限。在汽车业,实时技术是这种已带来显著改变的转型的脉络之一。如今它作为一种创新已趋于成熟,从辅助驾驶研究到基于AR的服务培训,在汽车业工作流程中交互式工具已经成为司空见惯的事物。我们正站在实时技术时代的下一阶段的门槛上,届时这种技术将得到强化,发挥它真正的潜力。我们预测未来大大改进的汽车生产流程将会利用基于一种开放平台的工具,这种平台是免许可费的,而且允许用户直接访问源代码。未来的数据模式
    当今汽车业数据模式的基本理念是设计数据集中化,通过第三方工具访问来分析和显示结果。由于每种工具都会产生各自的数据,从不同来源汇集数据的灵活性就受限于工具共享数据能力的缺陷。不仅如此,通过数据协作、体验、可视化和交互的过程也受限于每种工具的能力。最终,这意味着你有效工作的能力要由一群尝试预测你的需求的供应商来决定。但是如果你能够控制和管理用于流程和问题的数据工作方式,又会如何呢?这就是我们对于汽车业流程下一步发展的设想。一个全面的开放平台,从头到尾覆盖整个流程,从初始设计可视化,到工程阶段的审查、测试和培训,最后到创建漂亮的营销渲染器和照片般逼真的配置程序。本着开放数据的宗旨,我们将建立起一个充满可能性的新世界,为OEM提供改变汽车业工作方式的机会。

    未来的数据模式仍然不会超出一款游戏引擎的范畴,在一个完全开放的平台上已经有了你需要的功能和工具,你不必在不同软件包之间切换,因而也不必在每次处理特定用例时都把数据和元标签重做一遍。开放式平台的做法将会取代分别用不同工具进行曲面细分、数据修复和建模的数据推送过程,摆脱这些传统工具的限制,提供方便地将它们串联起来的方法,解锁更多工作方式。多种影响当今业界的趋势意味着现在正适合推行一种真正实现开放式汽车数字化映射的平台——而且必须根据几种考虑因素来决定它的发展思路。相关性
    要让一种端到端的汽车工作流程平台获得成功,那么它提供的每种流程和工具都必须是相关的。在决定如何开发功能时,最重要的考虑因素应该是“这会如何使用户有能力影响产品?”开发路线图上的功能将直接取决于汽车制造商的需求。对选定开发的功能起到决定性影响的将是他们的日常任务和正在从事的项目。我们相信,与使用这些工具的社区保持密切关系必须是一条指导原则。

    合成现实
    在合成现实的时代,先进的可视化工具有望具备沉浸式功能。正如虚拟制片正在越来越多地推动电影制作的各个阶段的创新,交互式工具也有潜力改变汽车生产管道中传统的工作流程,对业界造成积极的颠覆式影响,根本地改变内容的创作方式。实时渲染所实现的照片般真实的可视化和交互式环境意味着技术是这一范式的核心。后数字化工具
    汽车业已经经历了一个前所未有的变革时期。互联、自主、共享和电动(CASE)的车辆以及出行服务(MaaS)解决方案已经来临,而且正在迅猛发展。这个行业即将迎来后数字化时代。各大厂商需要的不仅是它们最近获得的数字化工具——还需要新的工具。掌握包括分布式总账技术、人工智能、扩展现实和量子计算在内的技术将是成功的关键。

    工业4.0
    用一套AI驱动的新工具武装起来的几家汽车业关键合作伙伴将率先实现工业4.0:数据主导的制造,可以利用来自产品生命周期中每一阶段的信息以更快节奏打造更高质量的、经济划算的产品。游戏引擎技术将使汽车数字化映射更上一层楼,汇集物联网(IoT)、3D模拟工具和预测分析的关键技术,提供在问题发生前就加以解决的数据分析和系统监控。数字化变革和推广
    这些聚合的技术趋势意味着汽车业的厂商正处于十字路口。数字化变革的大潮必定会改变传统管道和工作流程,使它们变得更智能、更快捷和更经济。实时游戏引擎的核心功能意味着它将成为这种数字化转型的重要支柱。

    已在3A级游戏制作领域得到生产验证的虚幻引擎是为高性能而打造的,提供照片般真实的可视化,而且其内核具备交互协作性。蓝图可视化脚本系统和材质编辑器等对美术友好的工具使工作流程对非技术人员开放,让更多人能够发挥其才干。对技术源代码的公开访问和免费使用的事实意味着各团队可以根据自己的特定需求改编技术,并立即实现ROI增加的效益。这些与生俱来的能力意味着虚幻引擎可以作为汽车业的标准数据模拟和可视化平台,在数字化转型、扩展现实和数字化协作方面发挥关键作用。为行业构建首选汽车平台和数据模式的工作已在进行。我们首先把重点放在协作、可视化和模拟方面,正在开发将取代传统内容流程的工具。

    初步的工作成果包括一种新的HDRI工作流程,让你能更简单地使用取自真实环境的影像设置虚拟车辆的光照;变体管理器,让你能设置资源的多种不同配置并在运行时切换它们;在线配置程序的像素流送,将提供交付交互式应用程序的新方法。

  • Upon Reflection, 3D Artist Creates Realistic Renders with NVIDIA Quadro RTX


    For artists working on product designs and visualizations, time is an important factor — they want to quickly iterate and deliver results without waiting hours for renders to complete.
    This is why 3D artistDavid Baylischose NVIDIA Quadro RTX graphics to create high-quality renders for his clients.
    He’s able to cut rendering times on his visualizations, with projects that range fromwinter cabin architectural designsto a virtual recreation of comedian and former Tonight Show hostJay Leno’s garagefeaturing Formula One champion Michael Schumacher’s F2004 and other automotive memorabilia.
    Baylis’ visualizations typically require high-resolution textures and polygons. He uses Unreal Engine to render the graphics and create interactive experiences for his clients. But getting realistic details for building designs and car models requires a powerful GPU. When Baylis upgraded to theQuadro RTX 6000, he found the horsepower and speed he was looking for.
    Video Player
    It wasn’t just the rendering performance in Unreal Engine that got major speedups. With Quadro RTX, Baylis saw accelerated workflows throughout his design process.
    He was able to edit content and encode videos more smoothly when Adobe Premiere Pro was running on the GPU. And in Substance Painter, the time for baking textures in 4K reduced from 30 seconds on the CPU down to 18 seconds, which makes a considerable difference when doing multiple objects.
    Baylis also saw performance speedups using the latest NVIDIA GPU-accelerated rendering feature in KeyShot 9. With traditional rendering on a CPU, the results were 72 samples in 90 seconds. When Baylis switched to the Quadro GPU, he was able to render 1,033 samples in 30 seconds — over 40x faster.
    After achieving cinematic-quality images with almost no wait time, Baylis experienced how RTX real-time ray tracing gives 3D artists a big advantage in creative workflows.

    Quadro-powered coziness: an architectural visualization by David Baylis.RTX Keeps It Real With New Levels of Detail
    The details make all the difference when it comes to taking designs from concept to reality. With Quadro RTX, Baylis is able to create photorealistic images and bring extra fidelity to his renders. It’s especially noticeable in automotive visualizations, where Baylis heavily relies on real-time reflections.
    When creating the virtual scene of Leno’s garage, Baylis used the ray-tracing features of Quadro RTX 6000 to achieve the realistic lighting and accurate reflections on the Formula One race car showcased in the environment.


    Using his iPhone, he controlled the camera fromUnreal Engineand was able to walk around in the virtual scene as if he were standing next to the car. This provided live feedback in real time — Baylis could look at the scene, make edits and then wait as little as 20 minutes for a scene to render in 4K.
    “With Quadro RTX 6000, I have been pushing the boundaries of real-time ray tracing at a level I couldn’t achieve previously,” said Baylis. “RTX is a huge leap in the CG industry and I simply cannot work without it anymore.”
    Learn more aboutNVIDIA Quadro RTXor check out a few ofBaylis’ projects.

  • 1
  • 2
  • 3
  • 4
  • 5
  • ...
  • 微信:vix_cn
  • 微博:未兮信息
  • 手机:18321832064
  • 固话:021-56153505
  • 邮箱:master@vix.cn
  • 服务客户
  • 技术支持
  • 广告商务
  • 版权法律
  • 关于我们
  • 地产漫游
  • 在线看房
  • 工业仿真
  • 场馆展览
  • 博物馆藏
  • 室内设计
  • 数字城市
  • 汽车仿真
  • 虚拟产品
  • 文物古迹
  • 油田矿井
  • 道路桥梁
  • 水利电力
  • 地质灾害
  • 应急预案
———— 友情链接 ————
PLOY steamVR 微软MR Veer 英伟达 虚幻引擎
Copyright©上海未兮信息科技有限公司 2016-2022 沪ICP备17036572号