在整个行业都在高呼“农业学大寨,流程学xx”的大背景下,你想推出一个新的更好的流程有着极大的难度。

在2014年的时候行业内大部分公司就有了资产的概念,会成立资产部门去专门创建资产,供后续环节多次重用,提升单一项目的效率,甚至会供后续其他项目多次使用。由此可见资产的概念已经广为接受,但提出概念容易,要让概念落地就不是一回事了。

       如何整理资产的组织逻辑,如何建立基于资产组织逻辑的配套工具在国内依然缺乏成熟的框架。

近年Pixar为了提升流程的灵活程度,推出了USD这样一个稳定可伸缩的资产组织工具,这个工具充分考虑到了资产组织过程中会涉及的各个节点,对后续资产的复用也提供了任意粒度的重写机制。基于USD如此多的优点,我们来看一下USD是如何组织资产的。

简单举四个例子:

  1. 资产部门创建了一匹马,这匹马有低中高三个不同精度的模型,USD提供了variant功能来支持这种需求;
  2. 资产部门创建了一匹马,马会有多套skin shading network供后续环节选择使用,skin shading network就是马的材质部分,USD提供了reference-layer功能来支持这种需求;
  3. 资产部门创建了一匹马,马鞍是马的道具部分,与马的材质部门分属两个不同层面的粒度,现在马鞍也希望有多套版本供后续环节使用,USD变通地提供了reference-asset功能来涵盖这种需求;
  4. 当资产部门创建的这匹马地可替换部分无法满足后续环节需求的时候呢?USD提供了override机制来化解,你可以inherit这匹马,修改之后发布。

USD通过一套成系统的概念及关系网络来实现这四种特例,是不是很心动?

然而现实很残酷,USD对Maya的支持是有限的,即使是对Presto的支持也是有限的。很多USD中的概念在Maya中并无对应的节点,.usd文件中的层级关系导入到Maya后只能用Group来替代,Maya制作体系中要采用USD是难以覆盖全部环节的。很多人认为USD对Presto是全面支持的,这是一个误解,在Pixar中USD依然是作为Cache使用的,只不过这个Cache更为高级,具备丰富的组织能力。

话题回到Maya,Maya作为国内三维制作中普及率最高的软件,在大多数公司中的绝对位置不容撼动,而当前大部分基于Maya的配套流程工具都采用Maya-Cache-XML-Katana的混合方案,这种方案有几种非常明显的缺点:

  1. 这种方式并未对资产概念做充分实践,大抵还是model->shade->rig->layout->animation->lighting的套路,没有把资产环节单独提炼出来独立设计,粒度不清晰,在资产复用时,这种方案缺少力度。
  2. 装配环节过于简陋,将多个场景文件的配置信息记录在xml中再组装起来的过程层级过于单一,并未形成装配网络的概念体系。
  3. 即使个别公司实现了多层的装配网络,每一个层级也并未组件化,更遑论成熟的配套工具了。

实际上这种方案的极限可以参考Golaem,该插件将XML的方案用到的了极致,并提供了一系列配套工具来构建资产,使用资产,但这个级别的开发可能国内所有视效公司都是望尘莫及的。

那么公司内部的Maya自研流程真的就到极限了吗?显然不是,我下一篇文章将会介绍如何在Maya中成体系的快速建立资产体系,将资产环节的问题一劳永逸的解决!

闲话Pipeline In Maya的更多相关文章

  1. cg tut

    Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?p ...

  2. redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作

    前段时间在做用户画像的时候,遇到了这样的一个问题,记录某一个商品的用户购买群,刚好这种需求就可以用到Redis中的Set,key作为productID,value 就是具体的customerid集合, ...

  3. 将MPM雪模拟移植到Maya

    同事实现了一个迪士尼的MPM雪模拟论文,我将其移植到Maya中 论文题目是 A material point method for snow simulation 代码在这里: https://git ...

  4. 从Maya中把模型搬运至网页的过程

    虽然利用threejs来在网页中渲染3d模型不是第一次折腾了,但是还是遇到了各种问题.总结下我所遇到的问题,希望能给正在使用threejs的小伙伴一个帮助. 一.所使用的软件与开发环境 Maya201 ...

  5. Building the Testing Pipeline

    This essay is a part of my knowledge sharing session slides which are shared for development and qua ...

  6. Scrapy:为spider指定pipeline

    当一个Scrapy项目中有多个spider去爬取多个网站时,往往需要多个pipeline,这时就需要为每个spider指定其对应的pipeline. [通过程序来运行spider],可以通过修改配置s ...

  7. 图解Netty之Pipeline、channel、Context之间的数据流向。

    声明:本文为原创博文,禁止转载.       以下所绘制图形均基于Netty4.0.28版本. 一.connect(outbound类型事件)  当用户调用channel的connect时,会发起一个 ...

  8. 初识pipeline

    1.pipeline的产生 从一个现象说起,有一家咖啡吧生意特别好,每天来的客人络绎不绝,客人A来到柜台,客人B紧随其后,客人C排在客人B后面,客人D排在客人C后面,客人E排在客人D后面,一直排到店面 ...

  9. jcFeather Maya 羽毛插件

    jcFeather 2.8.6 插件持续更新地址为:http://www.jerrykon.com/jcFeather.html 和 http://www.creativecrash.com/maya ...

随机推荐

  1. python基础15上_迭代器_生成器

    # 迭代器和生成器 # 迭代器: # 双下方法 : 很少直接调用的方法.一般情况下,是通过其他语法触发的 # 可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir ...

  2. Java的URL类(二)

    转:https://www.cnblogs.com/brokencolor/p/8575440.html Java的URL类(二) 实例: Java 通过HttpURLConnection Post方 ...

  3. L2-014 列车调度 (25 分)

    L2-014 列车调度 (25 分)   火车站的列车调度铁轨的结构如下图所示. 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.每趟列车从入口可以选择 ...

  4. Ajax的分析

    I.what is Ajax? Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术. A ...

  5. redis客户端(三)

    redis客户端 一.>redis自带的客户端 启动 启动客户端命令:[root@ming bin]# ./redis-cli -h xxx.xxx.xx.xxx-p 6379 注意: -h:指 ...

  6. git教程:删除文件

    在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交: $ git add test.txt $ git commit -m "add test. ...

  7. RxJS核心概念之Subjet在angular2+上的应用

    Subject,在RxJS中是一类特殊的Observable(可观察对象),它可像多个Observer(观察者)推送值.每一个Subject也可以作为Observer(观察者) Subject同样也是 ...

  8. Struts功能详解——ActionMapping对象

    Struts功能详解——ActionMapping对象 ActionMapping描述了struts中用户请求路径和Action的映射关系,在struts中每个ActionMapping都是通过pat ...

  9. calculate TajimaD in perl

    #!/usr/bin/perl use strict; use warnings; =pod--------------------------------------- this perl scri ...

  10. pycharm汉化补丁

    将压缩包内容复制到 x:\xxx\JetBrains\PyCharm Community Edition 2019.1\lib 目录下 链接:https://pan.baidu.com/s/1TLEP ...