Hoodwinker's VFX (Hoodwinker.egloos.com) / e-Mail: iamlovem@dreamwiz.com
이글루스 로그인
Gnomon_Maya Training Video -Dynamic_VI -Goals

01. Omni Type의 Emitter를 생성해 놓고, Locator를 하나 생성해 따로 배치해 놓은 다음,
     Particle을 먼저 선택하고 Shift키를 누른 상태Locator를 선택한 후,
     Particles\Goal 옵션을 열어 Goal weight =0.5 그대로 두고, Use transform as goal체크한 다음 적용한다.
     ☞ Use transform as goal 을 켜게 되면 Locator의 Pivot을 중심으로 Particle들이 모여들게 된다.
     ★★★ Locator대신 Polygon Sphere를 생성해 놓고 Goal로 적용시,
               Use transform as goal켜 놓고 적용하면, Polygon Sphere의 Pivot 중심으로 Particle들이 Goal적용 되지만,
               Use transform as goal을 꺼 놓고 적용하면, Polygon Sphere의 Vertex 위치로 Particle들이 Goal적용된다.

     Goal을 적용하고나면 particle1노드속성창에서 particleShape1탭에 있던 Goal Weights and Objects탭
     기존에는 Goal Smoothness(=0.3) 항목만 있었으나, locator1 과  Goal Active 속성 이외에 /PParticle Goal Weights
     /Goal Point Positions /Goal Point Normals /Goal Point TangentUs /Goal Point TangentVs 등의 속성이 추가된다.


(Maya Help)
   Goal Smoothness -Effective goal weight
   - Goal Smoothness기본값은 3인데(아래 가운데 그래프),
     값이 1일 경우에는 아래 제일 왼쪽 그래프처럼 Goal Weight effect가 Goal Weight가 증가함에 따라 비율적으로 증가한다.
     높은 값의 Goal Smoothness일 수록 Goal Weight effect는 값에서 증가해 1에 가까워 질 수록 천천히 증가한다.



02. Particle들이 Object의 Vertext 위치Vertex 갯수와 동일하게 Goal된 다음, Field의 영향을 받게 할 수 있는데,
     를 들어 Polygon SphereOmni Emitter생성해 놓고, Particle을 먼저 선택하고 Shift키를 누른 상태Object를 선택한 후,
     Particles\Goal 옵션을 열어 Goal weight =0.5 그대로 두고, Use transform as goal 놓고 적용한다.
     ★ Use transform as goal을 켜 놓고 적용하면, Polygon Sphere의 Pivot 중심으로 Particle들이 Goal적용 되지만,
         Use transform as goal을 꺼 놓고 적용하면, Polygon Sphere의 Vertex 위치로 Particle들이 Goal적용된다.

     Vertex 갯수Particle 갯수를 일치 시키기 위해, 먼저 Poly Count켜 놓은 상태Object를 선택Vertex의 숫자를 파악하고,
     Particle의 Max Count값에 Vertex의 갯수를 입력한다.
     +Particle 갯수필요한 만큼 제한해 놓았으므로, 순간적으로 수많은 Particle들이 생성되도록 Emitter를 선택하고,
      Rate값에 10000을 입력1 Frame에서 Key를 주고, 다시 0을 입력10 Frame정도에서 Key를 준다.
      + +기본 상태에서는 출렁거리다가 점점 진동이 감쇠하면서 Particle Sphere가 Vertex의 위치로 Goal되면서 자리잡게 되는데,
          Particle의 goalWeight값을 기본 0.5에서 1높이면, 움직임을 느낄 수 없을 정도로 순간적으로 Goal되어 자리잡게 된다.
     ★★ 그런데, goalWeight값이 최대값1.0일 경우에는 Turbulence Field가 있어도 영향을 받지 못하므로,
            Particle들 Object의 Vertex에 자리잡고 나서는goalWeight 값을 낮추고 Key를 줘 Turbulence의 영향을 받도록 해 주면,
            Object에 먼지액체 같은게 덮여 있다가, 날아가는 것 같은 모션을 만들 수 있다.
            + Object의 형태에 관계 없이 Polygon이나 Nurbs동일하게 적용할 수 있고,
               Lattice등으로 인해 형태가 변형되는 Animation이 적용되어 있는 Object에도 가능하다.

    (Expression)
    vector $position = particleShape1.worldPosition;

    if($position.y > goal_control.ty)    //goal_control =Locator
        particleShape1.goalPP =0;

    else
        particleShape1.goalPP =.7;



03. Nurbs Object를 이용할 경우에는 CV들이 Surface표면보다 약간 거리를 두고 위치하며,
     표면에 액체가 흘러 내린다든지, 땅위를 기어가는 거미떼 등을 표현할 수 있다.

   ☞ Sphere쌓였다 날아가는 Particle
   - Nurbs Sphere를 생성하고, Channel Box의 Inputs에 있는 makeNurbSphere1에서 Sections와 Spans를 이용하든지,
     Attribute창의 makeNurbSphere1탭에 있는 Sphere History탭을 확장해 Section =10 /Spans =10 으로 설정한다.

     Omni Type의 Emitter를 생성Sphere위로 배치한 다음, Attribute창을 열고 particleShape1탭으로 이동해
     Render Attributes탭에서 Particle Render TypeSphere로 바꾸고, Current Render Type을 클릭Radius를 조절한다.
     +Add Dynamic Attribute탭에서 Color버튼을 클릭Add Per Object Attribute방식으로 적용하고,
      Color Green만 1.0으로 바꿔 초록색으로 바꾼다.


   - Particle을 먼저 선택하고, Shift키를 누른 생태로 Shpere를 선택한 다음, Particles\Goal 옵션을 열고,
     Particle들이 Pivot중심이 아니라, CV의 위치로 Goal되도록 Use transform as goal이 꺼진 기본상태 그대로 적용한다.

     Simulation해 보면, Particle Shpere들이 진동모션을 보이며 CV위치로 달라 붙게 되며,
     goalWeight[0] 값을 0.5에서 1로 높이면진동은 하지 않고 아래쪽 0번 CV부터 마지막 CV까지 빠른 속도로 순서대로 달라붙게 된다.


   - Particle Sphere들을 CV 위치가 아닌 Surface에 제대로 위치 시키기 위해서, Add Dynamic Attributes탭에서 General을 클릭
     Particle탭으로 이동한 다음, goalUgoalV추가하고 Simulation해 보면, goalUgoalV모두 0 이기 때문에,
     0번 CV의 위치에만 Particle Sphere들이 몰리게 된다.

     Nurbs Sphere의 Attribute창을 열어 nurbsSphereShape1으로 이동한 다음, NURBS Surface History를 확인해 보면,
     Spans UV10 /10이고, Min Max Range U =0 ~ 10 /Min Max Range V =0 ~ 10 인걸 확인할 수 있는데,
     Min Max Range U/V =0 ~ 1 값을 가지도록 Nurbs Sphere를 선택하고 Edit Nurbs\Rebuild Surface 옵션을 연 다음,
     Rebuild type을 Uniform /Parameter range를 0 to 1 /Direction을 U and V를 KeepNubSpans로 체크한 다음 적용한다.


   - 아직Simulation해 봐도 변화가 없는데, Particle Sphere의 중심Surface에 위치하면서
     Sphere 전체에 걸쳐 무작위로 Particle들이 생성되도록 하기 위해 Particle을 선택하고 아까 추가한 Goal V 속성에서
     RMB\Creation Expression으로 Expression Editor창을 열고 아래의 Expression을 적용한다.
                    particleShape1.goalU = rand(0,1);   //rand(0.5, 1)로 하면 중간 CV위치부터 U방향으로 끝 CV위치까지 절반만 생성
                    particleShape1.goalV = rand(0,1);
     Simulation해 보면 Particle생성될 때부터 UV방향으로 0 ~ 1 범위의 랜덤한 위치값을 가지고 생성된다.


   - Emitter를 선택하고 1 Frame에서 Rate에 1000입력한 다음 Key를 주고, 20 Frame에서 Rate에 0입력해 다시 Key를 준다.
     +Particle을 선택하고 속성창Lifespan Attributes (see also per-particle tab)에서 Lifespan ModeConstant로 바꾸고,
      5초동안 살아 있도록 Lifespan을 5.0으로 설정한다.


   - 현재goalWeight1.0 이라서 다른 Field를 적용해도 영향을 받지 않으므로, 속성에서 Per Particle (Array) Attributes탭에 있는
     Goal PPRamp를 적용하고, Edit창에서 가운데 색을 없앤 다음 아래쪽(시작)에서 절반까지 흰색(goalWeidht =1)으로 하고,
     중간지점에서 젤 위쪽(끝)까지 검정색(goalWeidht =0)으로 설정해 놓은 다음, Particle을 선택하고 Uniform FIeld를 적용한다.

     Simulation해 보면, 20 Frame동안 빠르게 Particle들이 Sphere 윗쪽 절반에 분포해 배치 된 다음,
     Lifespand의 절반인 2.5초가 지나면서 goalWeight가 줄어들며, Uniform Field의 영향으로 X축으로 날아가게 된다.


   - 현재Particle Sphere들이 Nurbs Sphere를 뚫고 X축으로 날아가게 되므로
     Particle을 먼전 선택하고, Shift키를 누른 상태Sphere를 선택한 다음, Particles\Make Collide 옵션창을 열고,
     Resilience(탄성) /Friction(마찰) /Offset모두 0으로 설정해 적용한다.
     +Particle SphereNurbs Surface와의 충돌 인식률을 높이기 위해Particle을 선택하고, 옵션창geoConnector1탭으로 이동해
      Tessellation FactorDefault값 200에서 2000으로 높인다.


   - Particle Sphere를 Object로부터 일정거리 띄워놓고 싶을 경우Add Dynamic Attributes탭에서 General클릭Particle탭에서
     goalOffset추가 후 RMB\Creation Expression으로 Expression Editor창을 열고 아래의 Expression을 적용한다.
                    particleShape1.goalOffset = <<0, 5, 0>>   //Particle Sphere가 Y축으로 5 Unit만큼 Offset된 위치에 배치된다.

     +각각의 Particle Sphere램덤한 거리를 두고 띄워놓고 싶을 경우에는 sphrand이용하면 되는데, 아래와 같다.
                    particleShape1.goalOffset = sphrand(5)   //Particle Sphere들이 각각의 위치에서 전방위로 5 Unit만큼 랜덤하게 이동

                    혹은
                    particleShape1.goalOffset = sphrand(<<0, 5, 0>>)
                                                                               //Particle Sphere들이 각각의 위치에서 Y축으로 5 Unit만큼 랜덤하게 이동



   ☞ Nurbs Plane 면흘러 내려가는 Particle
   - 위에서 작업했던 것과 거의 같은 방식으로 진행하면 되는데, 우선 Nurbs Plane을 생성Patch U/V4/4정도로 올린 다음,
     CV들을 수정Z축으로 미끄럼틀 처럼 굴곡지게 만든다.


   - Omni 방식으로 Emitter를 생성하고, Particle의 Render TypeSphere로 바꾸고, Radius, Color등을 적당히 수정한다.


   - Particle을 먼저 선택하고, Shift키를 누른 상태Nurbs Plane을 선택한 다음, Goal을 적용하고 Simulation해 보면,
     Emitter로 부터 방출된 Particle Sphere들CV의 위치로 진동 모션을 보이며 위치하게 되는데,
     goalWeight값을 Default값인 0.5에서 1.0으로 올려 진동 모션없이 CV위치로 재빠르게 위치하도록 한다.


   - CV를 통해 Nurbs PlaneUV방향을 파악해 보면, 가로 방향이 U 방향이고, 흘러 내리는 뱡향이 V임을 알 수 있는데,
     Add Dynamic Attributes탭에서 General클릭Particle탭으로 이동한 다음, goalUgoalV추가하고 Simulation해 보면,
     goalUgoalV모두 0 이기 때문에, 0번 CV의 위치에만 Particle Sphere들이 몰리게 되므로,
     goalU 속성에서 RMB\Creation Expression으로 Expression Editor창을 열고 아래의 Expression을 적용한다.
                    particleShape1.goalU = rand(0,1);   //rand(0.5, 1)로 하면 중간 CV위치부터 U방향으로 끝 CV위치까지 절반만 위치
     Simulation 해 보면 Particle이 생성될 때부터 U 방향으로 0 ~ 1 범위의 랜덤한 위치값을 가지고 생성된다.
     (아직 goalV0인 상태여서 한 줄로만 생성된다.)

     흘러 내리는 V방향goalVRamp를 적용하고, Edit Ramp로 들어가 가운데 색은 빼고, 아래에 흰색 위에 검정색으로 만든다.

     ★★ 검정색과 흰색의 위치를 바꾸면: 반대로 흘러 내리게 된다.
          흰색 부분위로 올리게 되면: 한동안 한줄로 정체되어 있다가 빠르게 흘러내리게 된다.
          검은색 부분아래로 내리면: 처음부터 빠르게 흘러 내려 젤 마지막에서 한줄로 정체된다.

     ★★ 흘러 내리는 속도: Lifespan값을 높이면(1 → 10) 느리게 흘러 내리게 된다.
            동일한 속도 문제: Lifespan ModeRandom range로 바꾸고, LifespanLifespan Random에 각각 10/10적용하면 된다.


   - Nurbs Plane을 흘러 내린 다음, 마지막에 떨어지도록 하기 위해Particle을 선택하고 Gravity Field를 적용하고,
     현재goalWeight1.0이어서 Gravity Field의 영향을 받지 못하므로, Particle의 Goal PPRamp를 적용한 다음,
     Edit Ramp에서 흰색(goalWeight =1)이 검정색(goalWeight =0)을 중간지점 정도에서 만나게 해 goalWeight가 1.0으로 유지 되다가,
     goalWeight가 0으로 없어지면서, 자연스럽게 Gravity Field의 영향을 받아 Nurbs Plane아래로 추락할 수 있도록 한다.

     ★ Simulation해 보면, 흘러내리다가 Nurbs Plane 중간정도에서 떨어지게 되므로,
         goalV에 적용해 놓은 Ramp의 검정색을 가운데 정도까지 내려서 Particle이 흘러 내리는 속도를 2배 정도 빠르게 해 조절한다.
     +벌레들의 걸음걸이 처럼 Particle들이 약간 진동하면서 흘러내리게 하고 싶을 경우...
      현재 Creation Expression을 통해 가로로 랜덤하게 생성되도록 되어 있는 goalU에 
      Simulatoin되면서 적용되도록 아래 ExpressionRuntime Expression으로 적용한다.
                    particleShape1.goalU += sin(frame) *0.01;   //particleShape1.goalU = particleShape1.goalU + sin(frame) *0.01;

(-)-----------Particle이 U방향으로 한줄로 생성된 다음, 전체가 동시에 V방향으로 올라갔다 내려갔다 왕복하는 모션-----------
     흘러 내리는 V방향Simulation하는 동안에 흘려 내려야 하므로, goalVRunTime Expression으로 적용해야 한다.
     goalU 속성에서 RMB\Creation Expression으로 Expression Editor창을 열고 아래의 Expression을 적용한다.
                    particleShape1.goalV = abs(sin(time));   //sin(time)Simulation되는 동안 -1 ~ 0 ~ 1 사이값을 가지게 되며,
                                                                             //abs절대값으로 무조건 양수로 처리0 ~ 1 사이값을 가지게 한다.
         +전제 조건Nurbs PlaneMin Max Range U/V의 값이 0 ~ 1이라면 것인데, 만약 0 ~ 10이라면 x10을 적용해야 한다.
                    particleShape1.goalV = abs(sin(time)) *10;
(-)------------------------------------------------------------------------------------------------------------------


   ☞ Nurbs Sphere같은 Object에 Softbody(Particle), Spring, Gravity Field 등으로 천 같이 흘러 내리는 모션을 만들었을 경우,
       Softbody의 Particle에 Emitter에서 방출되는 Particle을 Goal시켜 같이 Simulation되게 할 수도 있다.

by Hoodwinker | 2009/01/11 06:15 | Maya
Gnomon_Maya Training Video -Dynamic_V -Fields

01. Gravity Field
   - Particles\Particle Tool의 옵션을 열고, Create particle grid체크 후 옵션을 조정해 Particle Grid를 생성해 놓고,
     particle1 노드의 Attribute창을 열어, particleShape1탭으로 이동한 다음, Render Attributes탭을 확장
     Particle Render TypeSpheres로 바꾸고, 아래의 Current Render Type을 클릭해 Radius를 적당히 조절한다.
    
     Outliner Windows창에서 particle1 노드를 선택하고 Gravity Field를 적용한다.

     Simulation해 보면 Particle Grid 전체가 아래로 떨어지게 되는데,
     gravityField1노드를 선택Channel Box에서 maxDistance무한대인 -1에서 5로 바꿔 놓고,
     maxDistance의 효과가 발생할 수 있도록, useMaxDistance 놓고 Simulation해 보면,
     gravityField1노드를 중심으로 전방위로 5 Unit 만큼만 영향을 받아, 구멍이 뚫린것 처럼 아래로 떨어지게 된다.
     +하지만 5 Unit 만큼 떨어지고 나서도 끝없이 계속 떨어지게 되는데, 이는 particle1 노드의 particleShape1에 있는
      가속도 속성인 conserve기본적으로 1 이라서 그런 것으로, conserve를 0으로 바꾸면 5 Unit 만큼만 아래로 떨어지게 된다.
     + +attenuation0으로 되어 있는데, 1로 바꾸면 떨어지는 동안 gravityField1 노드를 중심으로 해서 감쇠가 일어나게 된다.



02. Uniform Field
   - 각 FieldvolumeShape속성잘 이용하면 재미있는 효과를 연출할 수 있다.
     ex) Particle로 분쇄되는 글자
          Particle로 글자를 만들어 놓은 다음, Uniform FieldvolumeShapeCube로 바꿔 글자 위치를 가로지르며 뒤로 밀어주고,
          뒷쪽에는 Turbulence FieldvolumeShapeCube로 바꿔 배치글자를 분쇄할 수 있도록 세팅하면 된다.

     ex) 우주선 모선에서 수많은 전투정들의 발진
          격납고 입구Uniform FieldvolumeShapeCube로 바꾼 다음 배치가속도를 조절하고,
          그 앞에 다시 Turbulence FieldvolumeShapeCube로 바꿔 배치전투정들이 산개하여 발진하도록 세팅하면 된다.



03. Drag Field
   - Drag Field는 굴뚝같은 곳에서 연기 등이 배출 될 때, 처음 배출 위치에서 멀어질 수록 속도가 급격히 줄어들며 확산되기 때문에,
     Drag Field를 방향강도설정해 적용하면, 힘차게 연기가 배출 되다가 자연스럽게 점점 속도가 줄어들며 배출되게 된다.



04. Radial Field
   - Radial FieldParticle Grid를 생성해 놓고 적용하면 구 형태전방위로 밀어버리는 효과를 보이는데,
     기본적으로 onuseMaxDistanceoff로 하면, Radial Field의 위치를 중심으로 Grid 평면상태 그대로 유지하면서 퍼지게 되며,
     ★★★ 특이하게도 magnitude음수(-)값을 입력하면...
               Particle들이 Radial Field의 중심으로 몰렸다가 원래 형태처럼 퍼졌다하는 반복된 움직임을 보이게 된다.

               ☞Object가 안개나 연기 등을 뚫고 지나갈 때 Object 바로 뒤쪽이 진공상태가 되어
                  안개들이 안쪽으로 살짝 빨려들게 되는 현상이 나타나게 되는데,
                  이런 효과를 위해 Object 바로 뒤Radial FieldParent 해 따라가게 만들어 놓고,
                  magnitude음수(-)값을 입력Particle들이 Radial Field의 중심으로 한점으로 몰려드는 효과를 응용하면 된다.


   - Radial Field가 Particle단위로 적용되게하면 기본적으로 서로 충돌하지 않는 Particle들을 서로 충돌하는 것 같은 효과를 낼 수 있다.
      ☞ Particle Tool을 이용해 20 ~ 30개의 Particle을 찍어서 생성하고, 속성창의 particleShape1탭으로 이동한 다음,
          Render Attributes탭을 확장Particle Render TypeSpheres로 바꾸고, Radius를 조금 높여 보면,
          서로 충돌하지 않기 때문에 가까이 붙어 있는 Particle Sphere 들이 겹치며 침투한다는 것을 알 수 있다.

          Radial Field를 먼저 선택하고, Shift키를 누른 상태로 Particle Sphere를 같이 선택한 다음,
          Fields\Use Selected as Source of Field적용하면 Radial Field가 Particle단위로 적용되게 된다.
          (Outliner Windows에서도 Radial Field가 Particle1노드의 Child로 들어되게 되고, Translate X, Y, Z0으로 고정된다.)

          아직은 Simulation해 봐도 별로 달라진게 없는데radialField1노드를 선택하고 Channel Box에서
          기본적으로 Off로 되어 있는 applyPerVertexOn으로 바꿔 놓고, maxDistance20에서 2정도로 낮춘 다음 Simulation해 보면
          Particle Sphere들이 서로 충돌하며 퍼져 나가게 된다.
          +감쇠 속성attenuation1에서 0.5낮추면더 빠르게 확산된다.
          + +바닥을 만들고 충돌하게 세팅을 해 Scene을 구성할 수도 있는데, Particle Render TypeSphere 상태일 때는
              ★★ Sphere 중심이 바닥과 충돌하게 되어 있어 윗쪽 절반만 보이게 됨을 참고하고 작업해야 한다.
          + + +움직임의 모션이 자연스럽지는 않지만, Radial Field의 magnitude음수(-)값을 입력
                 Particle들이 반복적으로 Radial Field로 모여들었다가 흩어졌다가 하게 설정해 놓고,
                 Radial FieldKey를 줘서 이동하게 만들면 벌때의 움직임 같은 느낌을 내는데 응용할 수도 있다.



05. Particle Grid에 Newton Field적용하고 Simulation해 보면, 마치 Radial Field를 적용해 놓고 magnitude를 음수(-)로 줘서
     Radial Field의 중심으로 Particle들이 모여들었다 흩어졌다 하는 모션을 보이게 되며,
     실제Newton Field의 magnitude음수값 -20을 입력하면, Radial Field처럼 구형 형태전방위로 밀어내는 모션을 보이게 된다.

(Maya Help)
Dynamics에서 무게에 비례공간상의 어떤 두 Object 사이에 존재하는
서로 끌어당기는 인력의 원리를 기반으로 Object들을 당기는 역할을 한다.

Object들 사이
거리가 멀어질 수록
, Field의 힘을 줄어든다.

용례Newton Fields를 이용하면 행성의 궤도운동이나, Ball들의 충돌 등을 만들 수 있다.


     ☞ Particle을 몇개 생성해 놓고, particle1 노드의 Attribute창을 열어 particleShape1탭으로 이동한 다음,
         Render Attributes탭을 확장해 Particle Render TypeSpheres로 바꾸고,
         아래의 Current Render Type을 클릭해 Radius를 적당히 조절한다.

         Add Dynamic Attributes탭에서 Color를 클릭Add Per Object Attribute로 적용
         Render Attributes탭에 추가되는 Color Green1.0으로 바꿔 전체 Particle Sphere들이 녹색으로 보이게 만들고,
         개별적으로 하나의 Particle만 다른 색으로 설정하기 위해 다시 Particle을 선택하고, Add Dynamic Attributes탭에서
         Color를 클릭Add Per Particle Attribute로 적용Component Mode에서 Particle하나만 선택한 다음
         Window\General Editors\Component Editor 창을 열고, rgbPP R1.0으로 설정해 빨간색으로 보이게 한다.
         +Mass나머지는 모두 1 상태로 두고, Particle Shape 빨간색 하나만 100으로 높인다.
         (★★★ 속성이 다 보이지 않는 경우Component Editor 창Options\Hide Zero Columns체크를 해제하면 된다.)

         Particle을 선택하고 Newton Field를 적용한 다음, Newton Field를 선택하고 Shift키를 누른 상태Particle을 같이 선택해,
         Field\Use Selected as Source of Field를 적용하고, Newton Field의 Channel Box에서 applyPerVertexOn상태로 바꾸고,
         magnitude를 조절하면 Simulation을 통해 궤도(Orbit)운동을 하도록 만들 수 있다.
         +추가적으로 Object끼리도 충돌하도록 만들고 싶으면, 위에서 했듯이 Particle을 선택하고 Radial Field를 적용한 다음,
           Radial Field를 선택하고 Shift키를 누른 상태Particle을 같이 선택Field\Use Selected as Source of Field를 적용하고,
           Radial Field의 Channel Box에서 applyPerVertexOn으로 바꾸고, maxDistance를 낮추고, magnitude를 많이 올리면 된다.



06. Particle Grid를 생성Air Field를 적용하고, Nurbs Curve를 생성Air Field를 Curve에 Motion Path로 적용하고,
     Air Field의 magnitude =0으로 해 놓고, inheritVelocity몇가지 속성을 이용Particle의 모션을 조절하고,
     Particle의 가속도 속성Conserve값을 0.8정도로 낮춰 속도에 딸려 움직이지 않도록 하면,
     마치 모래에 손가락으로 글씨를 쓰는 것 처럼 Particle들이 Curve를 따라 움직이는 Air Field에 반응하도록 모션을 만들 수 있다.
     +Joint에 Air Field를 Parent시켜 Softbody Plane에 적용하면 손가락으로 물을 휘젖는 듯한 모션을 만들 수 있다.



07. Volume Axis Field속성Volume shape에서 Cube /Sphere /Cylinder /Cone /Torus다양한 형태를 선택할 수 있으며,
     속성Along axis를 통해 Gravity FieldUniform Field 처럼 응용할 수도 있고,
     Volume shapeTorus로 하고, 속성Around axis를 통해 Particle들이 Torus를 원형으로 휘감으며 움직이도록 할 수도 있으며,
     Volume Axis Field에 기본적으로 함께 있는 Turbulence속성까지 설정하면, 해당 모션에 다양함을 줄 수 있다.
     +Turbulence속성을 조절하면서 Turbulence speed 속성을 이용하면 Turbulence offset X, Y, Z값을 이용하지 않고도
       Particle들이 Turbulence에 의해 덩어리져 움직이는 것 처럼 된다.
     + +Detail turbulence속성을 이용하면, Turbulence의 Noise 패턴이 뚜렷하게 살아난다.

by Hoodwinker | 2009/01/10 19:40 | Maya
[Digital Tutors] Mental Ray Nodes -Online Reference Library_中_051 ~ 055강-ing
051. Lights: mib_light_photometric
   - Photometric Light Type은 실제 Light 소스로부터 Luminance데이터를 불러와 Light 분배패턴으로 활용하는 독특한 기능을 가지며
     Maya의 어떤 Light에도 적용할 수 있으나, 일반적으로 Area LightSpot Light주로 이용한다.


   - Scene을 열고, 손전등 앞에 배치된 Area Light의 속성창을 연 다음, mental ray탭을 확장하고,
     Custom Shaders탭에 있는 Light ShaderMap버튼을 클릭해, Create Render Node창이 뜨면
     Mental Ray노드들 중 MentalRay Lights탭Mib_light_photometric을 연결한다.


   - mib_light_photometric1속성창이 뜨면, Light Profile탭Map버튼 눌러 Light Profile을 불러올 수 있는데,
     Map버튼을 클릭해 열리는 mentalrayLightProfile1속성창을 보면, FormatIES와 Eulumdat 2가지로 제공 됨을 알 수 있다.

     File Name의 Browser를 이용.ies파일불러온 다음, Test 렌더링 했을 때 아무런 효과를 볼 수 없는 경우가 있는데,
     이는 .ies Light DataScene의 Light Orientation이 맞지 않아서 그런 것이므로,
     손전등 정면 방향을 향하고 있는 Area Light를 선택한 다음 아래쪽을 향하도록 Light를 회전해 놓고 Test 렌더링 해 본다.


   - 바닥에 ies Light의 효과가 살짝 보이면, mib_light_photometric1속성Color에서 Value10정도로 올려 Test렌더링 한다.

     Scene에 맞게 최종적으로 Value를 20으로 올리면 적합한데, 이런 경우 문제점Focus가 맺히는 부분은 너무 밝다는 것인데,
     이런 경우 Camera Attribute창을 열고, mental ray탭을 확장Lens Shader에 mia_exposure_simple1연결해 주면 된다.


   - mib_light_photometric1 노드 속성
     ☞ Factor: Shadow 투명도 컨트롤
     ☞ Start /Stop: Falloff 조절


(.ies Light Data Source)
   - .ies파일생성 Tool은 잘 모르겠으나, 아래 이미지 같은 인테리어 조명같은 곳에서 뿜어져 나오는 빛줄기 정보를 가지고 있다.

     파일의 용량 자체는 .kb 정도로 매우 적은데, 손전등 앞에 배치한 Area Light.ies파일을 적용하고 렌더링 걸면,
     순수하게 .ies Light Data의 작용으로 아래와 같은 효과를 얻을 수 있다.

   - .ies파일 Viewer는 쉽게 찾을 수 있었다.

   - 인테리어 작업에 적용하면 아래와 같은 효과를 얻을 수 있다.



052. Lens: Oversampling_lens
   - Oversampling_lens Shader는  Path Tracing Material을 이용해 Noise를 부드럽게 하는 Oversampling을 추가할 수 있다.

     를 들어 Path Tracing Material은 Normal Path Material이나 Ambient Occlusion 같은 것이다.


   - 렌더링 할 Camera의 Attribute창을 열고, mental ray탭을 확장한 다음,
     Lens ShaderMental Ray노드들 중 Lenses탭에 있는 Oversampling_lens를 연결한다.

     속성Samples 밖에 없으며, 값을 높일 수록 효과를 볼 수 있는데, 값을 10으로 높이고 Test렌더링 해 비교해 본다.

(Maya Help)
Oversampling Lens
이 렌즈 쉐이더는 Scene에 동일한 속성을 가진 주어진 수의 빛을 뿌린다.
이는 오직 Path Tracing Materials에 유용한데, 앞선 것과 같은 방향을 가지고 다음에 오는 빛은
다른 방향에서 반사와 굴절의 개연성에 의존하는 다음에 오는 빛을 추적하고, 새로운 Illumination Path를 따라가게 된다.



053. Lens: physical_lens_DOF
   - 사실적인 Camera 타입의 효과Depth of Field Shader를 이용어떻게 추가할 수 있는지 알아보기 위해
     Camera의 속성창을 열고, mental ray탭을 확장Lens ShaderMap버튼을 클릭한 다음,
     Mental Ray노드들 중 Lenses탭에 있는 Physical_lens_dof를 적용한다.


   - Test 렌더링 해 보면 전체적으로 뿌옇게 렌더링 되는데, 이는 physical_lens_dof1 노드의 속성 중 Plane값-10 이기 때문으로,
     Display\Heads Up Display\Object Details체크해 켜 놓고, 초점으로 잡고 싶은 Object를 선택
     Distance From Cameras을 확인하고 적용하면 된다.
     (★★★★★ Maya v2009확인값2.95 라면 -2.95처럼 음(-)수로 입력해야 한다. 그렇지 않으면 전혀 엉뚱한 결과가 렌더링 된다.
      이전 버전의 Maya에서는 그대로 양(+)수로 입력하면 된다.)


   - Focus가 살짝 앞으로 맺히게 Plane값을 -2.5로 입력하고, Test렌더링 해 본다.


   - Physical_lens_dof 노드 속성
     ☞ Plane: Focus가 맺히는 거리를 설정한다.
                  (★★★★★ Maya v2009에서는 반드시 음수(-)값으로 입력해야 한다. 그렇지 않으면 전혀 엉뚱한 결과가 렌더링 된다.)
     ☞ Radius: Default값이 0.1인데, 값을 높일 수록 Blur되는 정도가 심해지고, 렌더링 시간도 증가한다.



054. Lights: mib_light_spot
   - mib_light_spot은 Maya의 Light 속성 중 mental ray탭Light Shader가 있는 어떠한 Light에도 연결할 수는 있지만,
     Cone Angle처럼 일부 속성이 Maya Spot Light에 기반해서 작동하는 것이 있으므로, 가급적 Maya의 Spot Light에 연결해야
     Mental Ray Spot Light가 Maya 기본 Spot Light와 동일하게 작동할 수 있다.


   - Scene에 있는 Spot Light를 선택해 Attribute창을 연 다음, mental ray탭을 확장Light ShaderMap버튼을 눌러
     Mental Ray항목들 중 MentalRay Lights탭에 있는 Mib_light_spot을 연결한다.


   - mib_light_spot 노드 속성
     ☞ Shadow: 그림자 생성 유/무 결정
     ☞ Factor: 기본적으로 Shadow에 체크가 되어 있어 그림자를 생성하게 되며, 아래쪽 Factor값이 Default로 0으로 되어 있는데,
                    이때는 그림자가 100% 불투명하며, 0.7정도로 올리면 그만큼 그림자 색이 옅어진다.
     ☞ Attenuation: 감쇠(Light 빛)
     ☞ Start /Stop: 기본적으로 Attenuation이 체크가 되어 있으며, DefaultStart값은 1로, Stop값은 100으로 설정되어 있는데,
                          이때는 1Unit에서 시작100 Unit 범위까지 단계적으로 부드럽게 빛이 사라지게 된다.
                          ★★★ 따라서 10 Unit 정도에서 빛이 갑작스럽게 사그라 들게 하려면, Start값을 10으로 /Stop값을 10.1로 하면
                                    빛이 10 Unit 부터 사라지기 시작0.1 Unit 거리10.1 Unit에서 사라지게 된다.
     ☞ Cone: Light의 중심으로 부터 바깥쪽으로 Intensity를 조절한다. Default값이 0.766 인데, 값을 낮추는 것은 별 의미가 없고,
                  1 이상 부터 값이 커짐에 따라 점점 바깥쪽으로 갈 수록 빛이 약해지는 정도도 심해진다.

(Maya Help)
어느정도 Full Intensity로 밝게 하는 Cone 안쪽 Angle의 Cosine값을 명시한다.
0 (hemisphere) 범위에서 부터 1 (null diameter)까지여야 하고, Cone은 Light에 정의된 Spread Angle을 넘을 수 없다.



055. Lights: mia_physical_sun
   - Physical Sun Light를 이용하면 매우 간단하고 빠르게 야외 라이팅 효과를 얻을 수 있다.

     mia_physicalsun 노드는 Hypershade창에서 Mental Ray노드들 중 MentalRay Lights탭에 있지만,
     mia_physicalsky 몇가지 필요한 것들같이 이용할 때 제 기능을 하기 때문에
     수동으로 연결하기 보다Render Settings창을 열고, Indirect Lighting탭으로 이동한 다음,
     Environment탭Physical Sun and Sky에 있는 Create버튼을 클릭하면 Directional Light가 Sun Light로 추가 되면서,
     렌더링 할 Camera의 Attr.창을 확인해 봐도, mental ray탭Environment Shadermia_physicalsky1연결 뿐만 아니라,
     Lens Shadermia_exposure_simple1연결까지, 필요한 노드들이 자동으로 연결된다.
     (mia_exposure_simple1 → mia_physicalsky1 → mia_physicalsun1 → sunShape)
     ★ Directional Light를 회전각도를 낮추면, 저녁무렵이나 새벽 등으로 인식전체적인 Light 빛 등이 자동으로 변하게 된다.


   - mia_physical_sun 노드 속성
     ☞ Shadow Softness: Default값이 1인데, 값을 5 정도로 높이면 그림자의 Edge가 부드럽게 된다.
     ☞ Samples: Default값이 8인데, 값을 20으로 올리면 렌더링 시간은 증가 하지만, 거친 그림자 Edge같은 Noise를 감소시킬 수 있다.
     +생략: 나머지 중복되는 속성은 050. Lens: mia_physical_sky 에...
by Hoodwinker | 2009/01/09 02:33 | Maya
[Digital Tutors] Mental Ray Nodes -Online Reference Library_中_046 ~ 050강-ing

046. Data Conversion: mib_colcr_alpha
   - mib_colcr_alpha노드는 Mental Ray Texture로 부터 Alpha채널을 아주 간단하게 추출해 내는 용도로 쓰인다.

     Scene을 살펴보면, Object에 mib_illum_lambert 재질이 적용되어 있고, mib_illum_lambert 재질의 속성창을 열어보면,
     Shading탭Ambient에는 mib_texture_lookup노드가 연결되어 있으며,  mib_texture_lookup 노드의 속성Tex에는
     mentalrayTexture 노드를 통해Alpha채널을 포함한 police_wagon_texture.tga 컬러파일이 불러 들여져 있다.

     mib_texture_lookup노드로 부터 Alpha채널을 추출하기 위해 Hypershade창Mental Ray노드들 중
     Data Conversion탭에 있는 mib_color_alpha노드를 꺼내 속성창을 연 다음,
     mib_texture_lookup노드를 mib_color_alpha노드의 Input에 연결하면,
     Hypershade창mib_color_alpha 노드 Swatch를 통해Alpha채널을 확인할 수 있다.



047. Miscellaneous: writeToColorBuffer
   - writeToColorBuffer 노드는 Maya v2009의 Path 렌더링 시스템에서 frontScatter나 backScatter
     기본적으로 지원하지 않는 기록을 할 수 있도록 해 주는 노드다.


   - Object에 적용되어 있는 Sub Surface Scattering 재질misss_fast_shader재질인데, _x_x_passes 재질이어야 하기 때문에,
     속성창Upgrade Shader탭에서 Upgrade shader to misss_fast_shader_x로 업그레이드 하고,
     Render Settings창을 열고, Passes탭으로 이동한 다음, Create new render pass를 클릭해 창이 열리면,
     Path List에서 Custom Color를 선택 후 Create버튼을 4번 클릭해 Scene Passes에 customColor ~ ustomColor3 까지 추가한다.


   - Render Passes의 Scene Passes에 추가되어 있는 customColor, customColor1, customColor2, customColor3각각 클릭
     속성창이 열리면 이름diffuse, specular, frontScatter, backScatter바꾼 다음, Batch Rendering하면 렌더링 되도록
     모두 선택해 아래쪽의 Associated Passes로 보낸다.


   - Hypershade창에서 Mental Ray노드들 중 Miscellaneous탭에 있는 writeToColorBuffer노드를 꺼내 속성창을 연 다음,
     Frame Buffer Options탭에 있는 Custom Color Pass<None>에서 frontScatter바꾸고,
     Input탭Color업그레이드 해 놓은 misss_fast_shader1_x 노드를 D & D해 연결하면 Connection Editor창이 뜨는데,
     왼쪽 misss_fast_shader1_xfront_result오른쪽 writeToColorBuffer1Color 속성을 연결한다.
     +다시 writeToColorBuffer노드를 하나 더 꺼내고, Custom Color Pass<None>에서 backScatter바꾸고,
       Input탭Color업그레이드 해 놓은 misss_fast_shader1_x 노드를 D & D해 열리는 Connection Editor창에서,
       왼쪽 misss_fast_shader1_xback_result오른쪽 writeToColorBuffer1Color 속성을 연결한다.
     + +같은 방식으로 diffuse_result 와 Color연결하고 /specular_result 와 Color연결해 준다.

     Render Settings창Common탭에서 이름을 설정하고, Batch Rendering한다.



048. Miscellaneous: writeToDepthBuffer
   - writeToDepthBuffer 노드는 재질을 통해 Object에 Custom Depth Information을 지정해 주는 용도로,
     Object에 적용되어 있는 재질과 연결 후, 특정 Depth값을 지정해 놓으면 같은 재질을 가진 Object같은 Depth값을 가지게 된다.


   - Render Settings창을 열고, Passes탭으로 이동한 다음, Create new render pass클릭해 창이 열리면,
     Path List에서 Custom Depth를 선택 후 Create and Close버튼 클릭해 창을 닫고,
     Scene Passes에 추가되어 있는 Custom DepthBatch Rendering하면 렌더링 되도록 아래쪽의 Associated Passes로 보낸다.
     ★★★ Script Editor창에 // Error: Object not found: AENotesTextLabel. // 라는 에러 메시지가 뜬다면,
               아무 재질이나 Attribute창을 한번 열었다 닫으면 오류가 해결 된다. ★★★


   - Hypershade창에서 Mental Ray노드들 중 Miscellaneous탭에 있는 writeToDepthBuffer노드를 꺼내 속성창을 연 다음,
     Frame Buffer Options탭에 있는 Custom Depth Pass<None>에서 customDepth바꾸고,
     Evaluation Trigger탭 속성Evaluation Pass Through에 Object에 적용되어 있는 특정 재질을 D & D해 연결한다.
     +아래쪽 InputDepth값이 기본 0으로 되어 있는데, 10을 입력하면 해당 재질이 적용된 Object모두 같은 Depth값을 가지게 된다.
     + +같은 방식으로 writeToDepthBuffer노드를 하나 더 꺼내 다른 재질을 연결하고,
         Depth값을 20으로 주면 재질별Object의 Depth를 지정할 수 있게 된다.
     + + +Batch 렌더링 걸면 images폴더 안customDepth폴더가 생성되고 그 안에 렌더링 된 이미지가 저장된다.

    ★★ Render Settings창의 Common탭에서 Renderable Cameras 속성에 있는 Depth channel(Z depth)체크해도
           Maya의 Render View를 통해서 일반적인 Test 렌더링을 한 결과로는
           따로 파일로 저장FCheck으로 확인한다고 해도 Depth 채널이 없기 때문확인할 수 없고
           Depth 채널을 가진 이미지는 images폴더 자동으로 생성되는 tmp폴더개별적으로 저장된다.



049. Lens: mib_lens_clamp
   - mib_lens_clamp 노드는 렌더링 시 어두운 부분입력 값보다 낮을 경우 무조건 0더 어둡게 처리하고,
                                                     밝은 부분입력 값보다 높을 경우 무조건 1더 밝게 처리한다.

     렌더링 할 Camera의 Attr.창을 열어 mental ray탭을 확장하고, Lens ShaderMap버튼을 눌러Create Render Node창이 뜨면,
     Lenses탭에 있는 Mib_lens_clamp노드를 연결한다.


   - mib_lens_clamp 노드 속성 (0의 값은 어두움, 1의 값은 밝음)
     ☞ Floor: Default값을 0으로 시작해 어두운 부분을 처리하는데, 입력값 보다 낮을 경우 무조건 0으로 처리한다.
                  (0.2를 입력하면 Value 0.2보다 어둡게 처리되던 부분모두 0으로 처리해 살짝 더 어두워지고,
                   0.7을 입력하면 Value 0.7보다 어둡게 처리되던 부분모두 0으로 처리되므로, Highlight를 제외한 대부분이 검게 된다.)
                 +Luminance가 체크되어 있을 경우에는 Floor Color에 적용해 놓은 색으로 처리한다.

     ☞ Ceiling: Default값을 0으로 밝은 부분을 처리하는데, 입력값 보다 높을 경우 무조건 1으로 처리한다.
                    (0.8를 입력하면 Value 0.8보다 밝게 처리되던 부분모두 1으로 처리해 살짝 더 밝아진다.)
                    +Luminance가 체크되어 있을 경우에는 Ceil Color에 적용해 놓은 색으로 처리한다.



050. Lens: mia_physical_sky
   - mia_physicalsky 노드는 CameraLens Shader 형태로 적용되는데, Physical Sun Light같이 이용할 때 제 기능을 한다.

     mia_physicalsky노드는 Hypershade창에서 Mental Ray노드들 중 Lenses탭에 있지만,
     수동으로 연결하기 보다Render Settings창을 열고, Indirect Lighting탭으로 이동한 다음,
     Environment탭Physical Sun and Sky에 있는 Create버튼을 클릭하면 Directional Light가 Sun Light로 추가 되면서,
     렌더링 할 Camera의 Attr.창을 확인해 봐도, mental ray탭Environment Shadermia_physicalsky1연결 뿐만 아니라,
     Lens Shadermia_exposure_simple1연결까지, 필요한 노드들이 자동으로 연결된다.
     (mia_exposure_simple1 → mia_physicalsky1 → mia_physicalsun1 → sunShape)


   - mia_physical_sky 노드 속성
     ☞ Multiplier: 그냥 Default값 1로 둔다. 0으로 바꾸면 까맣게 되어 mia_physicalsky 쉐이더 효과를 얻을 수 없다.
                       (값이 클 수록 더 밝아짐.)
     ☞ R /G /B Unit Conversion: Camera로 되돌아오는 Luminance Value를 컨트롤 하는 속성으로
                                              Default값이 0.0001인데, 값을 높이면 더 밝은 Luminance Information이 Camera로 되돌아 오게 된다.
                                              지금처럼 Camera의 Lens Shadermia_exposure_simple가 연결되어 있는 경우그냥 쓰면되고,
                                              mia_exposure_photographic처럼 다른 것이 연결되어 있는 경우에는
                                              제대로 된 Luminance Value를 얻기 위해 값을 약간 수정해 줄 필요가 있다.

     ☞ Haze: Default값 0에서 값을 3정도로 높이면 약간 황사빛이 돌며 뿌옇게 되고,
                  그림자기 짙게 드리워져 있던 부분Indirect Lighting효과 처럼 약간 더 밝아진다.               [Haze: n_연무, 실안개]

     ☞ Red/Blue Shift: 큰 +값을 입력할 수록 렌더링 시 노란끼가 추가되고, 큰 -값을 입력할 수록 렌더링 시 푸른끼가 추가된다.

     ☞ Horizon Height: Default값이 0인데, 가운데를 가로지르는 지평선이 보기 싫을 경우 값을 -1.5정도 입력하고 렌더링 하면 되는데,
                               그만큼 하늘이 더 보여지게 되므로, 전체적으로 색조도 약간 변화가 생기므로 주의해야 한다.

     ☞ Use Background: Use Background를 체크해 놓고, Map버튼을 눌러 Mental Ray노드들 중 Environment탭에 있는
                                  mib_lookup_background를 적용한 다음, TextureMap버튼을 눌러 clouds.jpg 이미지를 불러 레더링한다.
                                  + Test 렌더링 시 배경에 하늘과 구름이 들어갔으나, 불러온 이미지가 LDR 이라 어둡게 렌더링 된다면,
                                     Hypershade창에서 mib_lookup_background노드의 연결확장해 놓고,
                                     Maya의 General Utilities에서 Multiply Divide노드를 꺼내 속성창을 연 다음,
                                     mib_lookup_background노드를 Multiply Divide노드의 Input1D & D해 연결하고, 
                                     Multiply Divide노드를 mib_lookup_background1노드연결되어 있던 mia_physicalsky 속성
                                     Background로 D & D해 연결한 다음, Input2의 값을 1/1/1에서 3/3/3높인다.

                                  ★★★★ Use Background체크만 해 놓고, 아무것도 적용하지 않은 채 렌더링 걸면,
                                               Physical Sky의 영향을 그대로 받은 상태에서 배경이 까맣게 빠진 렌더링 결과를 얻을 수 있다.
                                               Alpha도 제대로 빠지므로, 동일한 빛 방향어떤 배경이라도 합성할 수 있게 된다.

by Hoodwinker | 2009/01/08 00:11 | Maya
[Digital Tutors] Mental Ray Nodes -Online Reference Library_中_041 ~ 045강-ing
041. Lens: Mia_exposure_simple
   - Mia_exposure_simple 노드는 최종 렌더링 이미지에 대단한 효과를 추가할 수 있다.

     현재 Scene을 살펴보면, areaLight가 설치되어 있는데, Attribute창mental ray탭을 확장해 보면,
     Custom Shaders탭의 Light ShaderPhysical Light 노드가 연결되어 있다.

     Physical Light 노드는 사실적인 Lighting효과를 위해서는 유용하지만,Light Source 가까이에서는 너무 밝다는 문제점도 있는데,
     이런 경우 Mia_exposure_simple 노드를 적용속성을 조절해 해결할 수 있다.


  - 렌더링 할 Camera의 Attr.창을 열어보면, mental ray탭Environment Shadermib_lookup_spherical 노드가 연결되어 있는데,
     그 아래 Lens ShaderMap버튼을 눌러 Mental Ray노드들 중 Lenses탭을 확장해 Mia_exposure_simple 노드를 연결해 준다음,
     Test 렌더링 해 보면, 전체적으로 밝고 허옇게 빛이 바랜듯 렌더링 된다.


   - Mia_exposure_simple 노드 속성(속성 개별로 계산 & 적용되지 않고, 위에서부터 아래단계적으로 전체가 계산 & 적용된다.)
     1.☞ Pedestal: 어두운 부분의 밝기를 조절하는 속성.
                          Default값 0인 상태에서도 밝고 허옇게 빛이 바랜듯 렌더링 되므로, 어두워야 할 부분을 더 어둡게 만들기 위해서는
                          -0.03을 입력아주 살짝 더 어둡게 한다.                                  [pedeatal: n_동상 등의 받침대, v_존경하다]
     2.☞ Gain: 이미지 전체에 걸쳐 밝기를 조절하는 속성.
                    Default값이 1.0인데, 0을 입력하면 완전 까맣게 되어 아무것도 보이지 않게 되므로, 0.1을 입력하고 Test 렌더링 한다.
     3.☞ Knee: Highlight 부분밝기를 조절하는 속성.
                     Default값이 0.5인데, 전체적인 분위기의 밝기에 맞게 0.3으로 살짝 줄여 Test 렌더링한다.
     4.☞ Compression: Default값이 2.0인데, 60 정도로 많이 올려보면, Highlight 부분이 많이 탁하고 색이 바랜듯 렌더링 된다.
                                그냥 Default값 2.0 그대로 두도록 한다.
     5.☞ Gamma: 그냥 Default값 2.2 그대로 둔다.



042. Volumetric: mib_volume
   - Scene을 열고 기본상태에서 Test 렌더링 해 보면, 잎이 무성한 두 그루의 나무가 있고, 뒤쪽으로 하얀 보름달이 떠 있는 장면이다.
     이라 나무들은 거의 보이지 않고, 달빛에 의한 실루엣만 살짝 보일 뿐이다. +달과 나무 모두 Alpha도 정상적이다.


   - 렌더링할 Camera의 Attribute창을 열어 mental ray탭을 확장하고, Volume ShaderMap버튼을 눌러 Mental Ray노드들 중
     Volumetric Materials탭에서 Mib_volume 노드를 연결하고, 다시 Test 렌더링 해 보면, 안개가 낀 것 처럼 뿌옇게 되고,
     Alpha를 확인해 보면 Render View전체가 모두 하얗게 변했다.


   - mib_volume 노드 속성
     ☞ Color: 안개의 색을 설정한다.
     ☞ Max: 안개생기는 거리를 조절한다.
                 Maya의 메뉴에서 Display\Heads Up Display\Object Details켜 놓고,
                 나무를 선택하고 View에서 Distance From Camera의 수치를 확인한 다음, Max에 입력해 준다.
                 7.75정도인데, Test 렌더링 해 보고, 최종적으로 10정도 입력한다.



043. Shadow: mib_shadow_transparency
   - Scene을 열고 기본상태에서 Test 렌더링 해 보면, 투명하고 깨끗한 유리잔이 있는데, 그림자완전 불투명한 유리잔 처럼
     전체적으로 까맣게 렌더링 된 것을 볼 수 있다.

     이는 일반적으로 유리를 표현할 Object에 dielectric_material이용할 경우 생기는 현상으로,
     그림자가 불투명하게 검은 문제를 바로잡기 위해 mib_shadow_transparency 노드를 이용할 수 있다.


   - Mental Ray 노드들 중 Shadow Shaders탭에 있는 mib_shadow_transparency노드를 준비하고,
     유리잔에 적용된 재질의 노드를 확장한 다음, Shading Group노드dielectric_material1SG속성창을 열고,
     mental ray탭을 확장Custom Shaders탭에 있는 Shadow ShaderD & D해 연결해 준다.


   - mib_shadow_transparency 노드의 속성창을 열고, Shadow Parameters탭에 있는 Transp의 Value0.5에서 0.9정도로 높여
     흰색에 가깝게 설정한 다음, Test 렌더링 해 보면 그림자가 많이 투명해진 것을 확인할 수 있다.
     + 속성창Shadow Parameters탭에서 Color를 빨간색으로 바꾸면, 투명도를 유지한 상태그림자만 빨간색으로 되는데,
       dielectric_material1 재질의 속성창을 열고, Shading탭Col까지 빨간색으로 설정해 주면, 빨간 컵빨간 그림자가 렌더링 된다.


   - mib_shadow_transparency 노드 속성
     ☞ Color: ShadowColor를 조절한다.
     ☞ Transp: ShadowTransparency를 조절한다.



044. Textures: mib_texture_rotate
   - mib_texture_rotate 노드는 File Texture같은 노드를 회전하는 것이 아니고,
     Anisotropic Reflection이나 Anisotropic Highlight회전방향을 조절하는 것이다.


   - Scene구성Sphere에 mib_illum_phong노드를 연결하고, Phong의 Shading Group과의 사이에 끼워 넣기 위해
     Mental Ray노드들 중 Materials탭에서 mib_glossy_reflection1 노드를 준비해 Attribute을 열고,
     Shading탭Base MaterialPhong을 D & D해 연결하고,
     mib_glossy_reflection1 노드Phong에 연결되어 있던 Shading GroupAttribute창에서 mental ray탭을 확장해,
     Custom Shaders탭Material ShaderD & D해 연결해 준다.

     +mib_glossy_reflection1 노드속성창에서 Shading탭Environment에는 Mental Ray노드들 중 Environments탭에 있는
      mib_lookup_spherical1 노드를 D & D해 연결하고, Attribute창mental ray Textures탭 Map버튼을 눌러 .hdr이미지를 불러온다.


   - mib_glossy_reflection1 노드Attribute창을 열고, U Spread(Horizontal)값Default값인 0.1에서 0.003으로 낮추고
     V Spread(Vertical)값Default값인 0.1에서 0.3으로 올린 다음 Test 렌더링 해 보면, 반사한쪽으로 틀어지고 늘어나게 되는데,
     이를 바로잡기 위해 Mental Ray노드들 중 Textures탭에서 mib_texture_rotate 노드를 꺼내
     mib_glossy_reflection1 노드 위로 D & DOther를 선택한 다음, Connection Editor창이 열리면,
     mib_texture_rotate1(왼쪽)의 umib_glossy_reflection1(오른쪽)의 u_axis연결하고,
     mib_texture_rotate1(왼쪽)의 vmib_glossy_reflection1(오른쪽)의 v_axis연결한다.


   - mib_texture_rotate1 노드 자체로는 아무런 역할을 하지 못하기 때문아직은 Test 렌더링 해 봐도 변화가 없다.

     따라서 속성창에서 Parameters탭Input에 있는 Map버튼을 누르고, Mental Ray 노드들 중
     Textures탭에 있는 mib_texture_vector를 연결하고 Test 렌더링 해 보면 변화가 생겼는데, 방향은 좀 더 조절해 줘야 한다.


   - mib_texture_rotate 노드 속성
     ☞ Angle: Default값이 0.25인데, 조절자0 =0도, 1 =360도범위를 의미하기 때문에 0.2590도에 해당한다.

     + mib_texture_vector 노드 속성
       ☞ Selspace: standard로 되어 있는데, Rotation이 일어날 Space를 설정하는 속성으로, world, object, Camera, Screen이 있다.
     + + mib_texture_rotate 속성에서 Angle을 0으로 입력하고, mib_texture_vector 속성에서 SelspaceObject로 바꿔주면,
          결과가 가로로 발생한다.



045. Data Conversion: mib_colcr_average
   - mib_colcr_average 노드는 아주 간단한 방식으로 Color Mental Ray Texture에서 Grayscale Information을 추출해 낼 수 있다.


   - 현재 Scene을 확인해 보면, Object에 mib_illum_lambert 노드가 적용되어 있고, 
     mib_illum_lambert 노드 속성창의 Shading탭에 있는 Ambient에mib_texture_lookup노드가 연결되어 있으며,
     mib_texture_lookup 노드 속성창의 Parameters탭에 있는 Tex속성에는 Map버튼을 눌러 열린 mentalrayTexture1 창을 통해
     police_wagon_texture.tga가 불러 들여져 있다.

     이제 Mental Ray노드들 중 Data Conversion탭에서 mib_color_average노드를 꺼내 Attribute창을 연 다음,
     mib_texture_lookup 노드를 mib_color_average노드의 Input으로 D & D해 연결하고,
     mib_texture_lookup 노드가 연결되어 있던 mib_illum_lambert노드의 Ambient 에는
     mib_color_average노드를 D & D해 연결해 주면, Grayscale 렌더링 결과를 얻을 수 있다.
     (, mib_texture_lookup 노드가 mib_color_average의 Input으로 들어갔다가, mib_illum_lambert노드의 Ambient로 연결되게 구성)
by Hoodwinker | 2009/01/05 09:21 | Maya
<< 이전 페이지 다음 페이지 >>