ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

在Blender中用程式化生成Animation_Nodes动画01

2021-07-27 10:33:25  阅读:263  来源: 互联网

标签:inputs 01 particleSystemParticlesData links curveObjectOutput ng Animation new N


用如下代码可以自动在Blender中生成AnimationNodes动画。效果如附图。

 

    bpy.ops.mesh.primitive_monkey_add(location=(0,4,10))
    msource = bpy.context.object

    if len(mssource.particle_systems) == 0:
        bpy.context.view_layer.objects.active = mssource
        mssource.modifiers.new("part", type='PARTICLE_SYSTEM')
        part = mssource.particle_systems[0]
        
        settings = part.settings
        settings.count=200
        settings.frame_end=120
        settings.lifetime=100
        settings.effector_weights.gravity=0
    
    bpy.data.node_groups.new("NodeTree","an_AnimationNodeTree")
    bpy.data.node_groups['NodeTree'].name='MyNodeTree'
    ng = bpy.data.node_groups['MyNodeTree']    
    
    particleSystemsFromObject = ng.nodes.new("an_ParticleSystemsFromObjectNode")
    particleSystemsFromObject.location=(-600,0)
    particleSystemsFromObject.inputs[0].object=mssource
    
    
    particleSystemParticlesData = ng.nodes.new("an_ParticleSystemParticlesDataNode")
    particleSystemParticlesData.location=(-400,0)

    
    findClosePoints = ng.nodes.new("an_FindClosePointsNode")
    findClosePoints.location=(-200,0)
    
    
    splinesFromEdges = ng.nodes.new("an_SplinesFromEdgesNode")
    splinesFromEdges.location=(100,0)   
    splinesFromEdges.algorithmType='BRANCH'
    
    
    curveObjectOutput= ng.nodes.new("an_CurveObjectOutputNode")
    curveObjectOutput.location=(400,0)  
    curveObjectOutput.inputs[1].isUsed=True
    curveObjectOutput.inputs[2].isUsed=True
    curveObjectOutput.inputs[0].createObject()
    curveObjectOutput.inputs[2].value=0.5
    #add link
    ng.links.new(particleSystemsFromObject.outputs[0],particleSystemParticlesData.inputs[0])
    ng.links.new(particleSystemParticlesData.outputs[0],findClosePoints.inputs[0])
    #ng.links.new(particleSystemParticlesData.outputs[0],combineMesh.inputs[0])
    ng.links.new(findClosePoints.outputs[0],splinesFromEdges.inputs[1])
    ng.links.new(particleSystemParticlesData.outputs[0],splinesFromEdges.inputs[0])
    ng.links.new(splinesFromEdges.outputs[0],curveObjectOutput.inputs[1])

 

标签:inputs,01,particleSystemParticlesData,links,curveObjectOutput,ng,Animation,new,N
来源: https://blog.csdn.net/weixin_44772014/article/details/119136624

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有