• Notice: Undefined index: og_image_url in foundry_theme_get_sharing_urls() (line 483 of themes/custom/foundry_theme/foundry_theme.theme). foundry_theme_get_sharing_urls(Array) (Line: 641) foundry_theme_preprocess_node__case_study(Array, 'node', Array) call_user_func_array('foundry_theme_preprocess_node__case_study', Array) (Line: 287) Drupal\Core\Theme\ThemeManager->render('node', Array) (Line: 433) Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 204) Drupal\Core\Render\Renderer->render(Array, ) (Line: 242) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 580) Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 243) Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 132) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) call_user_func(Array, Object, 'kernel.view', Object) (Line: 142) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (Line: 174) Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 81) Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58) Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 50) Drupal\ban\BanMiddleware->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23) Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 718) Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
  • Notice: Undefined index: twitter_cards_description in foundry_theme_get_sharing_urls() (line 484 of themes/custom/foundry_theme/foundry_theme.theme). foundry_theme_get_sharing_urls(Array) (Line: 641) foundry_theme_preprocess_node__case_study(Array, 'node', Array) call_user_func_array('foundry_theme_preprocess_node__case_study', Array) (Line: 287) Drupal\Core\Theme\ThemeManager->render('node', Array) (Line: 433) Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 204) Drupal\Core\Render\Renderer->render(Array, ) (Line: 242) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 580) Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 243) Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 132) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) call_user_func(Array, Object, 'kernel.view', Object) (Line: 142) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (Line: 174) Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 81) Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58) Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 50) Drupal\ban\BanMiddleware->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23) Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 718) Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
  • Notice: Undefined index: twitter_cards_site in foundry_theme_get_sharing_urls() (line 485 of themes/custom/foundry_theme/foundry_theme.theme). foundry_theme_get_sharing_urls(Array) (Line: 641) foundry_theme_preprocess_node__case_study(Array, 'node', Array) call_user_func_array('foundry_theme_preprocess_node__case_study', Array) (Line: 287) Drupal\Core\Theme\ThemeManager->render('node', Array) (Line: 433) Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 204) Drupal\Core\Render\Renderer->render(Array, ) (Line: 242) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 580) Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 243) Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 132) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) call_user_func(Array, Object, 'kernel.view', Object) (Line: 142) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (Line: 174) Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 81) Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58) Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 50) Drupal\ban\BanMiddleware->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23) Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 718) Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

电影与电视

Katana加速了BenLai Pictures的制作

五位灯光艺术家。十分钟动画。三个月完成。

“一起工作,您就不会出错”,这是BenLai Pictures为学龄前儿童创作的新型教育动画《超级建设者》(Super Builders)中的口号,当然,这也是技术指导Jeremy Peng在将Katana加入制作流程后的切身体验。

Jeremy在他总部位于上海的动画工作室中,将他主要工作描述为消除技术难题,由此让艺术家自由地关注创意方面。得益于在育碧、世嘉、Konami和盛大游戏等工作室12年来的动画行业经验,Jeremy早已习惯了技术性问题。在两年前BenLai成立时,Jeremy加入了进来,目标是为中国和国际观众提供高质量的动画影片和系列作品。如今工作室的作品《功夫兄弟》已经赢得了动画系列的奖项。

Colourful blocks representing the BenLai pipeline

BenLai的流水线包括用于建模和动画的Autodesk Maya、用于PBR纹理的Quixel’s DDO和用于渲染的Pixar RenderMan,另外还有用于渲染管理的Tractor,以及搭载Intel GTX 1080显卡的基于Intel Xeon的渲染节点,用于GPU降噪。在《超级建设者》项目之前,Maya也被用于布光和视觉开发,但Jeremy希望简化生产并避免不必要的重复性工作,同时也为Benlai在竞争激烈的中国市场上从品质角度出发找到一条出路。于是,在生产开始之前就开始测试Katana,并且尽管只有唯一的技术指导,但能够在短短的三个月内建立好制作流程。有力地反驳了部署Katana需要一个程序员团队的谣言。

为了制作《超级建设者》(Super Builders)的试播片,BenLai组建了一个由20多名的艺术家的团队,其中五位从事视觉开发和照明。在Katana的帮助下,他们在短短三个月内。,就完成了10分钟的试播节目,Jeremy认为在之前的流程中这是不可能的。他将时间节约归因于Katana的几个特性:“首先,数据结构允许艺术家通过重新加载新的Alembic数据来进行频繁迭代。 “现在不必对场景做任何(额外)处理,这在以前是不可想象的。这为非常仓促的布光工作,节省了大量时间,”

The Super Builders BenLaid team

其次,对于动画电视剧而言,Jeremy认为Katana基于节点的方法特别有用,可以有效的避免他们重复工作。 “高级布光艺术家只需创建关键镜头,并且该设置能非常容易与整个灯光师团队共享,以快速完成整个需要布光工作的序列,而且无需担心大量的参数设置是否正确等等”,他解释说。 “那些原本非常复杂、重复性的技术问题早已经已被节点树的交互所取代了。”

Jeremy还认为Katana允许他们最大限度地利用现有的硬件,这不仅节省时间,而且节省金钱。 “考虑到我们为《超级建设者》Super Builders的试播集制定的预算和团队规模,存储是非常昂贵的,”他说。 “好在Katana允许我们在不首先生成RIB文件的情况下,就直接将场景提交给渲染场,而且仍然获得了原生RIB的渲染速度。这太不可思议了!”他总结道。

Jeremy描述到Katana的另一个优势:“Katana的资产管理方法为灯光艺术家,提供了一个非常干净且纯粹的照明环境。这迫使将他们确保之前的步骤遵守规则,我认为这对中国团队而言,是非常有利的!“他笑着说。尽管如此,艺术家们更喜欢新的工作流程。考虑到在剧集的生产环境中对艺术家施加的时间压力,这也是对Katana的一次响亮的认可。