maya api造球大法

利用Maya API2.0创建10000个球体,我测试花了73秒

import maya.api.OpenMaya as om2
from functools import wraps
import time


def time_counter(function):
    @wraps(function)
    def function_timer(*args, **kwargs):
        print '[Function: {name} start...]'.format(name=function.__name__)
        t0 = time.time()
        result = function(*args, **kwargs)
        t1 = time.time()
        print '[Function: {name} finished, spent time: {time:.2f}s]'.format(name=function.__name__,
                                                                                time=t1 - t0)
        return result

    return function_timer


def creat_openSphere(num):
    transform_fn = om2.MFnDagNode()
    transform_obj = transform_fn.create('transform', 'pSphere{}'.format(num + 1))

    mesh_fn = om2.MFnDagNode()
    mesh_obj = mesh_fn.create('mesh', 'pSpherShape{}'.format(num + 1), transform_obj)

    sphere_fn = om2.MFnDependencyNode()
    sphere_fn.create('polySphere')

    output_plug = sphere_fn.findPlug('output', False)
    inmesh_plug = mesh_fn.findPlug('inMesh', False)

    dg_mod = om2.MDGModifier()
    dg_mod.connect(output_plug, inmesh_plug)
    dg_mod.doIt()

    selection_list = om2.MSelectionList()
    selection_list.add('initialShadingGroup')

    set_fn = om2.MFnSet(selection_list.getDependNode(0))
    set_fn.addMember(mesh_obj)


@time_counter
def openSphere_creator(num):
    return map(creat_openSphere, range(num)) if num > 0 else None


if __name__ == '__main__':
    quantity = 10000
    openSphere_creator(quantity)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们每年都会尝试深入了解不同版本的 PHP 和 HHVM 在各种平台的性能基准。 今年,我们全面对 20 种不同平...
    summerbluet阅读 2,150评论 0 6
  • 不知道90后是不是和我一样。 童年时看过的动漫现在回忆起来,貌似是国漫居多。比如《天书奇谭》、《九色鹿》、《黑猫警...
    sansan酱阅读 463评论 0 1
  • 治疗是指局部,所以要分科; 调理是指整体,所以不分科。 明白这个道理,你就不要拿治疗和调理去做对比,更不要拿...
    平头哥镇四方阅读 304评论 1 3
  • 《论语·子罕第九》讲过一段话,叫做“子绝四,毋意,毋必,毋固,毋我。”这句话的大意是说:“孔夫子断绝了四种毛病,不...
    栩豪阅读 574评论 0 1
  • 人生三大幸事:金榜题名时;洞房花烛夜;他乡遇故知。感谢岁月与上苍的恩赐,不经意间我就被“他乡遇故知”所临幸。 前天...
    梅寒兰馨阅读 574评论 0 4