sourceimage 경로 일괄 변경하기
file texture 노드를 선택한 상태에서 실행.

global proc changeSrcImgPath()
{
  string $fileNodes[] = `ls -sl -type file`;
  string $oldPath = "";
  string $newPath = "";
  string $fileBuffer[];
  for ($fileNode in $fileNodes)
  {
   $fileTxtAttr = $fileNode + ".fileTextureName";
   $oldPath = `getAttr $fileTxtAttr`;
   tokenize ($oldPath, "/", $fileBuffer);
   $img = $fileBuffer[(size($fileBuffer)-1)];
   $newPath = "/somewhere/" + $img ;
   setAttr -type "string" $fileTxtAttr $newPath $fileNode;
  }
}
changeSrcImgPath;
by mayan | 2007/05/14 16:14 | Maya | 트랙백 | 덧글(0)
Objects Fade-in, Fade-out
Maya에서는 여러 개의 Object가 각기 다른 시간에 서서히 사라지거나 나타나게 하려면,
재질이 가지고 있는 Transparency를 변화시키는 방법을 써야하기 때문에.. Object마다 개별적으로 재질을 가지고 있어야 합니다. 문제는 Object가 많을 경우 Object 수 만큼의 Shader를 만들어야 하는 번거로움이 있다는 것이죠.
여러 개의 Object가 있고 하나의 Shader가 만들어져 있는 상태라면 다음의 스크립트로 과정을 단순화시킬 수 있습니다.
이 스크립트는 Object의 수 만큼 재질을 복사하고, 각각의 Object에 재질을 1:1로 연결시키는 기능을 합니다.
(Object들을 선택하고, 마지막에 재질을 선택한 상태에서 실행)

{
string $selNodes[] = `ls -sl`;
int $numOfObjs = size($selNodes)-1;
string $lastSel = $selNodes[$numOfObjs];
for ($i=0; $i<$numOfObjs; $i++)
{
string $newShader[] = `duplicate -upstreamNodes $lastSel`;
select $selNodes[$i];
hyperShade -assign $newShader;
}
}

다음은 각각의 Object가 서로 다른 프레임에서 (1~100frame 구간이라고 가정) 서서히 나타나도록 각 재질의 TranslateR, G, B에 Keyframe을 넣어주는 스크립트입니다.
서서히 나타나는 구간은 $duration의 값을 바꿔주시면 됩니다.
(Animation 시키고자 하는 재질을 모두 선택한 상태에서 실행)


{
string $selmat[] = `ls -sl`;
int $duration = 30;
for ($sel in $selmat)
{
int $randStart = rand(1, 100);
int $randEnd = $randStart + $duration;

setKeyframe -t $randStart -v 1 ($sel + ".itr");
setKeyframe -t $randStart -v 1 ($sel + ".itg");
setKeyframe -t $randStart -v 1 ($sel + ".itb");

setKeyframe -t $randEnd -v 0 ($sel + ".itr");
setKeyframe -t $randEnd -v 0 ($sel + ".itg");
setKeyframe -t $randEnd -v 0 ($sel + ".itb");
}
}
by mayan | 2007/02/07 17:27 | Maya | 트랙백 | 덧글(0)
Custom Render Resolution Preset
자주 사용하는 Rendering 해상도를 Preset으로 만들어 둘 수 있다.

global string $gUserImageFormatData[] = 
{
"Super35 2048 1556 1.316",
"Super35_half 1024 778 1.316",
"2048x871 2048 871 2.351",
"1024x436 1024 436 2.349"
};
위의 내용을 userImageFormats.mel 파일로 만들어 script directory에 저장해두면 Maya가 실행될때 자동으로 읽어들인다.
by mayan | 2006/08/25 23:42 | Maya | 트랙백 | 덧글(0)
Prompt Mode로 Maya실행
명령프롬프트에서 maya -prompt 를 실행하면 "mel:" 이라는 Prompt가 나타나고, Maya가 Prompt 모드로 실행된다.
GUI는 보이지 않지만 작업관리자를 보면 maya.exe가 실행된 것을 볼 수 있다.
프롬프트에 mel command를 입력하여 스크립팅 작업을 할 수 있는데, command를 직접 입력하는 것이 번거롭다면 다음과 같이 -command flag를 사용하여 미리 만들어 둔 script를 지정함으로써 자동실행되도록 할 수 있다.

maya -prompt -command "source MMPromptRender.mel"

여기서, MMPromptRender.mel은 scene을 열고 두 개의 외부 script를 읽어들이는 역할을 하는데, 내용은 다음과 같다.
setProject "ProjectDirectory";
file -f -o "Filename";
source "makeMayaManMenu";
source "MMStepRender";
MMStepRender.mel는 Scene을 MayaMan으로 렌더링하되 일반적인 Batch Render를 이용하지 않고, Frame by Frame으로 렌더링 하기 위해 만든 Script로, Batch Render가 잘 되지 않을 때 사용한다. Gui 모드에서도 사용할 수 있다.
by mayan | 2006/08/25 23:26 | Maya | 트랙백 | 덧글(0)
Maya와 3DSMax간의 Camera 호환
Maya와 3DSMax의 Camera 차이점

1. Lens 배율이 다르다.
Focal Length(Maya) = Lens(Max) * 1.03014

2. Aperture 단위가 다르다.
Maya Aperture(Width/Height) : inch
3DSMax Aperture Width : millimiter

3DSMax Aperture = (Maya Aperture Width * 25.4) / 1.03014
by mayan | 2006/08/22 17:25 | CG/VFX General | 트랙백 | 덧글(0)
< 이전페이지 다음페이지 >