• maya命令的运用。范例1。#举一反三


    1)创建一个平面Plane,Width和Height各45。

    2)创建一个球Sphere,Radius为1.5,TranslateY为1.5,TranslateZ为10。

    3)创建一个平行光DirLi1,RotateXYZ为-85,-35,50。ScaleXYZ为3。Use Depth Map Shadows开启。

    4)创建一个摄像机Cam1,TranslateXYZ为0,8,25。RotateX为-26

    5)创建一个blinn材质球,命名为shd_P,赋予给Plane。

      创建Checker棋盘格纹理,outColor连接到sha_P的color。

      创建place2dTexture节点,outUV连接到Checker的UvCoord。

    6)创建一个lambert材质球,命名为sha_S,改Color值为1,0,0。然后赋予给Sphere。

      创建两个ramp节点。名为Ramp1Ramp2

      创建两个multiplyDivide节点。命名为Mult1,Mult2

      创建一个samplerInfo节点,命名为SamInf,把SamInf的FacingRatio连接到ramp1的V Coord上。

      把lambert1的outColor连到ramp2的V Coord上。

      ramp1和ramp2的outColor分别连到Mult1的Input1和Input2上。

      Mult1的Output连到Mult2的Input1。改Input2的值为1,0,1。

      把Mult2的Output连接到sha_S的AmbientColor上。

    7)开启默认渲染器的光线追踪。(defaultRenderQuality.enableRaytracing" 1)

    8)在渲染面板中选择Cam,点击渲染吧。

    import maya.cmds as cmds
    Plane = cmds.polyPlane(n='Plane', w=45, h=45)
    
    Sphere = cmds.polySphere(n='Sphere', r=1.5)
    cmds.xform(Sphere,translation=[0,1.5,10])
    
    dirLi = cmds.directionalLight(n='DirLi1',rotation=(-85,-35,50))
    
    #这里得到的是shape节点。不知道怎么得到灯光的transform节点。
    cmds.setAttr('DirLi1.scaleX',3)
    cmds.setAttr('DirLi1.scaleY',3)
    cmds.setAttr('DirLi1.scaleZ',3)
    cmds.setAttr(dirLi+'.useDepthMapShadows',1)
    
    Cam = cmds.camera(n='Cam1')
    cmds.xform(Cam, translation=[0,8,25], rotation=[-26,0,0])
    
    #creat shader and SG node.先写节点类型。再写asShader。
    sha_P = cmds.shadingNode('blinn', asShader=True, n='shd_p_blinn')
    sha_P_SG = cmds.sets(renderable=True, noSurfaceShader=True, empty=True, name=sha_P+'_SG')
    cmds.connectAttr(sha_P+'.outColor', sha_P_SG+'.surfaceShader')
    #把面片添加到shader的SG集中
    cmds.select(Plane)
    cmds.sets(edit=True, forceElement=sha_P_SG)
    #creat checker texture and place2dTexture.
    CK = cmds.shadingNode('checker', asTexture=True, n=sha_P+'_checker')
    CK_2d = cmds.shadingNode('place2dTexture', asUtility=True, n=sha_P+'_place2dTexture')
    cmds.connectAttr(CK_2d+'.outUV', CK+'.uvCoord' )
    cmds.connectAttr(CK_2d+'.outUvFilterSize', CK+'.uvFilterSize' )
    cmds.setAttr(CK_2d+'.repeatU',4)
    cmds.setAttr(CK_2d+'.repeatV',4)
    #把棋盘格连到材质的颜色上。
    cmds.connectAttr(CK+'.outColor', sha_P+'.color')
    
    
    #creat lambert
    sha_S = cmds.shadingNode('lambert', asShader=True, n='shd_S_lambert',)
    sha_S_SG = cmds.sets(renderable=True, noSurfaceShader=True, empty=True, name=sha_S+'_SG')
    cmds.connectAttr(sha_S+'.outColor', sha_S_SG+'.surfaceShader', force=True)
    cmds.setAttr(sha_S+'.color', 1.0, 0.0, 0.0, type= 'double3')
    cmds.select(Sphere)
    cmds.sets(edit=True, forceElement=sha_S_SG)
    #add ambientColor.
    Ramp1 = cmds.shadingNode('ramp', asTexture=True, n=sha_S+'_Ramp1')
    Ramp1_2d = cmds.shadingNode('place2dTexture', asUtility=True, n=Ramp1+'_place2dTexture')
    cmds.connectAttr(Ramp1_2d+'.outUV', Ramp1+'.uv')
    cmds.connectAttr(Ramp1_2d+'.outUvFilterSize', Ramp1+'.uvFilterSize')
    
    Ramp2 = cmds.shadingNode('ramp', asTexture=True, n=sha_S+'_Ramp2')
    Ramp2_2d = cmds.shadingNode('place2dTexture', asUtility=True, n=Ramp2+'_place2dTexture')
    cmds.connectAttr(Ramp2_2d+'.outUV', Ramp2+'.uv')
    cmds.connectAttr(Ramp2_2d+'.outUvFilterSize', Ramp2+'.uvFilterSize')
    
    Mult1 = cmds.shadingNode('multiplyDivide', asUtility=True, n=sha_S+'_Mult1')
    Mult2 = cmds.shadingNode('multiplyDivide', asUtility=True, n=sha_S+'_Mult2')
    
    SamInf = cmds.shadingNode('samplerInfo', asUtility=True, n=sha_S+'_SamInf')
    
    cmds.connectAttr(SamInf+'.facingRatio', Ramp1+'.uvCoord.vCoord', force=True)
    cmds.connectAttr('lambert1.outColor.outColorR', Ramp2+'.uvCoord.vCoord', force=True)
    cmds.connectAttr(Ramp1+'.outColor', Mult1+'.input1')
    cmds.connectAttr(Ramp2+'.outColor', Mult1+'.input2')
    cmds.connectAttr(Mult1+'.output', Mult2+'.input1')
    cmds.setAttr(Mult2+'.input2Y',0)
    cmds.connectAttr(Mult2+'.output',sha_S+'.ambientColor')
    
    #打开反射。
    #keyword can't be an expression.这里要注意。
    cmds.setAttr('defaultRenderQuality.enableRaytracing',1)
  • 相关阅读:
    东南大学2020年数学分析考研试题参考解答
    东北师范大学2020年数学分析考研试题参考解答
    丁同仁常微分方程第一版习题参考解答
    电子科技大学2020年数学分析考研试题参考解答
    点集拓扑课件/作业/作业讲解
    毕业论文[博士]不可压缩流体动力学方程组的若干正则性条件
    毕业论文[本科]笛卡尔积上的拓扑学
    Ibragimov微分方程与数学物理问题习题参考解答
    Evans Partial Differential Equations 第一版第1-3章笔记及习题解答
    [Tex模板]Annales Polonici Mathematici
  • 原文地址:https://www.cnblogs.com/3lina/p/10238726.html
Copyright © 2020-2023  润新知