游戏设计师和程序技术艺术家Roahith Rajendiran谈到了他与Houdini和UE4一起工作以及设计程序工具,想法的开发,照明实验,工作中具有挑战性的方面以及针对它们的解决方案的经验。 在接受了本科教育之后,我决定全职从事游戏开发,我试图找出一个好的游戏开发流程来制作游戏。因此,我花了一年时间尝试学习可以在互联网上找到的所有可能的软件和实践。我研究并询问了人们使用什么以及如何制作游戏。 我能够区分几个不同的学科和工作流程-构想,概念,建模,纹理,设计,音频和声音,编程等。 我试图对游戏开发的各个方面有一个很好的了解,弄清楚我对制作的哪个部分感兴趣,并从长远来看自己。我在3ds Max中练习了建模,在Substance Designer和Painter中构造了纹理,在C++ DirectX和Unreal Engine中进行了编程。那时我遇到了Houdini。 学习Houdini的途径很多。但是,我总是更喜欢通过实验学习和边做边学。进入Houdini环境并玩耍确实可以帮助我自己解决问题。架子工具是一个很好的起点。他们为您提供了一个足够小的网络,可以尝试去理解,打破和即兴创作。 Houdini是一款软件,可以完成从模拟功能全面的汽车发动机到运行美国国家航空航天局(NASA)的行星模拟等所有操作。我知道我不会完全探索该软件的所有方面。因此,我选择了引起我兴趣的东西。我对设计过程系统和过程建模非常感兴趣。这就是我现在在项目中使用Houdini的方式。 在高中时,我专攻计算机科学,在那里我学习了编程和数据库管理。在这段时间里,我也对VFX的好莱坞电影着迷,并决定自学所需的技能。因此,在高中期间,我学习了如何使用Cinema 4D,Blender,Adobe Flash,Premiere Pro和After Effects。 大约2年后,即我本科学习的第一年,我被录入了一个名为WebArch的多媒体学生俱乐部的VFX部门。在这段时间里,我受到VFX领导的指导,他的支持和鼓励对我来说非常重要。我有雄心勃勃地以3D形式重建大学校园,在他的支持下,我们能够实现我们的目标。我也被创意团队招募到Google学生俱乐部。那是我的第一批成功。 那年过后不久,我成为视觉特效部门的负责人和GSC的创意负责人。我继续担任这两个职位三年。在这段时间里,我和我的团队处理并领导了校园内各个小组的创意项目,以及一些用于商业广告和活动促销的商业客户项目。 在本科学习的最后几年中,我开始玩电子游戏。刺客信条,古墓丽影2013,《使命召唤》,《战地风云》等。在这段时间里,我对视频游戏开发产生了兴趣。 我认为,虽然最初的目标是制作Marvel和ILM之类的VFX电影是伟大的,但成为一个世界的一部分的吸引力却太大了。在我的叙述中,这是我心目中的“下一个”逻辑步骤。为了能够生活在其中,在其中行事,影响行动和决策。那对我来说就是游戏,而这种吸引力使我着迷。在研究视频游戏开发时,我很惊讶地发现,动态图形和VFX到视频游戏内容生产领域之间有许多技能,实践和工作流程重叠。 我的计算机科学和软件工程师背景使我可以很轻松地进行游戏编程。就像我对创造力和讲故事的热情正在与我的技术技能融为一体。艺术与科技的结合。 正是在这段时间里,我选择了Unreal和Unity游戏引擎。在那之后,我花了大约一年的时间试图了解游戏开发的各个方面。一年后,我申请了南加州大学的游戏计划。 灵感来自很多地方。有时,它是视频,电影,歌曲或音乐的背景中的配乐。有时候,这是一个短语,是我在阅读中引用的引语。有时,这是我关注的人在社交媒体上发布的作品。我发现我经常在视觉上和空间上思考。当我听音乐时,根据类型,我会看到风景,形状,矛盾和空间形式。冥想的时候,我经常会在脑海中遇到这些图像。 我将来自ArtStation,Twitter,Instagram,Reddit的多个位置的参考图像收集到参考桩文件夹中。 对我来说,一个项目要立即执行。我脑子里有了一个主意,然后我直接跳到Houdini和Unreal中,开始将它们放在一起。一个非常粗糙,粗糙的实现。这样,我将脑海中的原始想法转化为具体的东西。这是让我确定我的想法是否有吸引力,可行或可行。对于Houdini,几乎总是如此。一旦弄清楚了它的非常粗糙的过程,就将其转换为HDA或将其导出到Unreal Engine。在虚幻引擎中,我要做的第一件事就是照亮一切。仅仅是因为那是最让我兴奋的事情,并亲自将想法付诸实践。当我照明时,我开始着手合成形状,阴影和灯光。 这是充实想法并捕捉我所见的第一个练习。它可能不是完美的或抛光的。我什至以后可能会完全更改它。但是,这使我可以将自己的想法倒在一个地方-就像初稿一样。我从学习如何编写我们经常将所有想法的文本转储到哪里,然后进行编辑和完善的过程中采用了这种做法。 抛弃想法后,我会通过参考堆来了解什么适合当前想法。这样,我从不同时间点与我产生共鸣的事物中汲取信息和想法。 之后,我上网寻找参考图像。我也研究了这个想法。我的大部分工作是环境工作,这促使我提出一些问题。 ● 谁来这里?谁在这个空间互动? ● 人们住在这里吗?这是工作场所吗?家?公共场所? ● 它能到这里多挤?它是私人的吗?它是打开? ● 这是一个僻静的地方吗?住在这里的人内向吗? 对于这些问题,我几乎没有回答。这使我能够进行一些世界性的建设,这也有助于我在收集参考文献的同时搜索特定的想法。 我将它们收集在一个文件夹中,并在它们的心智图上附加不同的注释。这些注释标识了我喜欢的图像或与该想法相关的图像的各个方面。我会继续构建思维导图,并经常跳出这个主意,从更大的角度出发。这就是通常为我启动项目的方式。 虚幻和Houdini的组合最适合我的兴趣。Houdini允许我自由关联我可能拥有的所有想法。我主要在Houdini中使用过程建模,这使我能够提出逻辑和算法来以过程方式构建自己的想法。 一旦有了系统的第一次迭代,就可以从中制作出HDA,并将其带入UE4。Houdini有一个名为HEngine的UE4插件,该插件允许HDA在UE4内部运行。这使我可以将在Houdini中构建的所有逻辑和系统带入UE4。然后,正如我之前提到的,我开始对场景进行照明并对其进行合成以获得一种感觉。 然后,我尝试改进Houdini中的HDA资产。我给它增加了更多的复杂性,增加了更多的模块,公开了在Unreal中进行控制的任何参数。然后回到虚幻并测试HDA。我以这种方式在Houdini和Unreal之间来回走动。在Houdini中设计系统,并在Unreal中进行测试和实施。 照明是我在UE4中的兴趣之一,它使我能够设计和制作具有很高电影品质的形状,阴影和构图。 从Houdini引进HDA之后,我会在现场四处寻找有趣的观点。这使我可以构图并进行一些基本的合成。我在发现有趣的地方创建了一个相机,然后转到另一个镜头/位置。 然后,我开始照明过程。我基本上清除了所有现有的照明,天窗,定向光,雾气,后期处理以及所有内容。 我添加一个后处理以限制暴露水平。这使我可以用某种空白的画布来制作照明。接下来,如果是室外/白天设置,则添加定向光,并添加天窗以照亮阴影区域。这就像绘画的基础层。然后,我继续添加单个灯光。 当我添加灯光以获得良好的构图时,它使我可以确定图像的方向性。我图像中的灯光通常具有具体的形式或来源-总是发光。它是光的柱子,还是从某物后面发出的光,总是有清晰的光源。如果是漫射照明,我可以结合使用诸如雾或颗粒之类的东西来实现。手动添加灯光的这一步骤会创建阴影,使我能够创建方向性和形式。 然后,我添加指数高度雾,以增加图像的深度。我还打开了体积雾,以获取光源的光线。光线,清晰的阴影以及明暗的值都有助于图像的构图。然后,调整天窗和定向光,以增加/减少图像阴影区域的亮度。 当我对整体环境的外观感到满意后,我将返回到每个摄像头并调整地图和环境中的各个点以进一步完善图像。这就像固定环境。 我在UE4中启用了电影渲染质量,切换到电影视口,然后打开3x3网格以建立并捕获具有良好构图的屏幕截图。 程序工具一直让我着迷。它们就像小型系统一样,全面而紧凑,可以解决问题或有所作为。在学习Houdini的过程中,我开始看到过程系统的优点,尤其是在过程建模方面。 我曾经传统上进行练习和建模,这在当时是很有治疗效果的。但是,一旦我开始在Houdini中进行过程建模,就无法返回。我不能放弃自由结社和扩展想法的自由。 随着时间的推移,我开始设计要在Houdini中使用的程序工具和系统。我从楼梯,窗户,桌子和其他道具之类的小东西开始,现在致力于以地形精确的道路,河流,树叶等来生成整个城市。 当我确实有要解决的问题时,我尝试在Houdini中开始设计。这通常会阻碍我,因为我无法将整个系统牢记在心。当我放下一个节点并创建尽可能最小的运行系统时,我发现我的脑子随后开始外推和设计该系统的所有可能的变体和组合。很快,我发现自己对Houdini的最爱-不胜枚举的机会和自由的结社。我努力完成任何事情。 在我的上一次实习期间,Paul Ambrossiusen建议我先设计想法的最小迭代,然后再进行程序化设计。由于Houdini是基于节点的软件,因此我们始终可以返回到过程的任何部分,并向任何方向扩展它。 因此,尽管令人兴奋,但使其立即成为程序,却使思想思路偏离了轨道。不仅是因为很难使最初的想法保持焦点,而且因为即使是一个很小的系统,要做很多不同的有趣的事情,以至于它在后台丢失了。 我几乎是传统上首先使用Houdini的节点开始设计解决方案。这使我可以开始构思的初稿/迭代。我返回组成系统的不同节点(或一堆节点),并逐步对其进行程序化。这样,我不仅可以走出去查看结果或整体情况,还可以深入研究并扩展系统的任何部分。然后,我进入虚幻并对其进行光照并添加材质。 我还使用实例向它们添加了蓝图功能。在这里,我的游戏设计师开始参与其中并开始设计虚幻引擎中的关卡和互动。 我最大的障碍之一就是构建解决方案。这是我一直在努力的事情。 当我确实有一个解决方案时,这个问题通常会变成跟踪各种级别的复杂性。Wes McDermott在他的《物质设计》教程之一中提供了有见地的工作流程建议。他说的话与Paul告诉我的非常相似-制作解决方案的初稿,而不必担心将其程序化。将解决方案视为几个不同的抽象层。 最底层是它的第一个草稿迭代。它确实可以完成工作,没有打磨,不完全是过程性的(可能会有点),但是它有助于确定解决方案的界限以及其他子系统需要使用的大块状形状。 然后,我们开始研究下一层信息。我们遍历整个系统并在此过程中添加细节和子系统的地方。 Wes在Designer中设计过程纹理的工作流程效果很好,并且类似于Paul在设计过程系统方面的建议。 除此之外,外部挑战之一就是为此付出时间。由于我还设计游戏,因此我不必花很多时间来设计和测试程序工具,而要设计和测试游戏性。对我而言,这就是我的兴趣所在,我在这些过程的所有部分中都感到高兴和高兴。 Houdini的另一个挑战是,有时我发现自己花了几个小时试图找出解决方案(通常是在vex中),却发现在OdForce或SideFx论坛上的其他人已经解决了该问题。在花了很多时间和精力之后,您意识到自己只是在重新发明轮子。有时可能会令人沮丧,但是我从这些经验中学到了一些非常重要的东西。 我个人认为,重新发明轮子会是非常丰富的经验。我以自己的方式学习和探索解决问题的方法。它可能不是最好的,最优化的和时间敏感的解决方案。但是,在探索解决方案时,我发现并发现了一些有价值的东西。有时这些位很小,有时是冗余的,有时不存在。 但是,每当我在网上找到另一个可以做得更好的解决方案时,我都会立即采用它。通过实践,我学会了不看待和判断我的解决方案或任何其他人的解决方案。有人的解决方案可能会打动我。但是,我经常将自己在解决方案中发现的一些点点滴滴纳入其中。进入我在网上找到的解决方案。或相反。 我想要完成的事情之一就是设计和创建一个从Houdini到Unreal的完全程序化的地形系统。这是我个人设定的目标和个人目标。我知道,几年前,育碧和几个人已经在Houdini中完成了这项工作。 但是对于当时(大约一年前)的我来说,这似乎令人生畏。设计一个世界以及其中的所有子系统的想法对我来说很有吸引力。我认为,如果我要学习如何设计这样一个复杂而庞大的系统,我将学到一些非常好的程序工作流程策略。 因此,该项目的回报或目标不是最终环境。目的是学习和练习设计包含多个子系统的大型,复杂系统的设计。 因此,我开始在Houdini和Unreal中设计一个完全程序化的开放世界级别。在不久的将来,我打算完善自己已掌握的技能。我想在Houdini中设计更多系统,并使其在UE4中可玩。Houdini的Houdini引擎得到了改进,从而暴露了UE4中更多的Houdini功能。作为程序技术艺术家和游戏设计师,这让我感到兴奋。这缩小了Houdini和Unreal之间的差距,我始终赞赏Houdini程序系统的自由。将其与虚幻的电影渲染和生活相结合是一个梦想成真。 我一直在自我完善,并在Houdini学习新事物。新的解决方案,新的思维方式以及为新问题设计解决方案。我想完善我的工作流程和设计工具的流程,并在UE4中实现它们,并设计交互式游戏系统。 至于其他技能,我真的很喜欢素描。到目前为止,我一直在草拟抽象的形状和设计,几乎没有方向或构图。我想学习如何在笔和纸上传统地素描。我不仅要追求我的兴趣,而且我相信这也将有助于成为一个整体上更好的设计师和创造力的个人。