회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


[스크랩] Maya help에 있는 Python 참조문 번역 - Using Python

artsone | 2008.01.15 16:56 | 조회 5491

http://cafe.naver.com/vfxlabs

Using Python

There are a number of differences in how Maya commands are invoked in Python relative to how they are used in MEL, given that the languages are so different.
MEL로된 Maya command와 Python으로된 Maya command가 다르다고 가정한다면, 어떻게 다른지 여기에 몇가지가 정리되어 있다.

Here are the basics to getting started with Python in Maya:
Maya에서의 Python사용에 관한 기본적인것들이 여기에 있다:


Entering Python commands in Maya

There are several ways of entering Python in Maya.

Script Editor
Script Editor (스크립트 에디터)

To facilitate having both MEL and Python scripting at the same time in Maya, the Script editor has been modified to have separate tabs for each language. Statements entered into the MEL tabbed window are sent to MEL to be processed; similarly, statements entered into the Python tabbed window are processed by Python.
마야에서 MEL과 Python을 함께쓰는것을 용이하게 하기위해 스크립트 에디터를 각각의 언어tab으로 나누었다. 명령문이 MEL tab에서 코딩후 실행되면 window는 (에디터의 흰색부분을 호명) 명령문을 MEL에의해 처리되게 한다 . 비슷하게 명령문이 Python tab에서 코딩후 실행되면 window는 명령문을 Python에의해 처리되게 한다.

Returned results from Python come prefixed with the Python comment character (#).
Python에서 나오는 결과물은 Python주석문자 '#' 가 붙어서 나온다.

For more information, see Script editor.
더많은 정보를 위해 Script editor.를 보기 바란다.


Command line and Shelf
You can also enter short Python commands into the command-line. A toggle allows you to enter either MEL or Python commands.
Python 명령문을 Command line에 코딩할 수 있고 MEL명령문 역시 코딩할 수 있다.

mayaPython201.jpg

You can mayaPython202.jpg -mouse drag Python scripts to the Shelf, just like MEL scripts. A dialog box appears asking whether your script is a Python or MEL script.
MEL 스크립트를 했던 것 처럼 Python 스크립트도 Shelf에 mayaPython202.jpg -mouse drag할 수 있다. 대화상자가 불현듯 나타나서 당신의 스크립트가 Python형식인지 아니면 MEL형식인지 물어본다.

mayaPython203.jpg


Maya Python module

The Python bindings for all of the native Maya commands are in the maya.cmds module. In order to access these commands, you must enter the following in the Python tab of the Script editor in each session:
MEL의 모든것과 Python을 소통 가능하게 하는 거은 maya.cmds module안에 있다. 이 명령문을 실행하기 위해서 스크립트 에디터의 Python tab에 각 session마다 다음의 문을 실행시켜야 한다.
(역주: 마야를 실행시키고 나서 Python 코딩을 시작할때마다 먼저 다음의 문을 실행시켜야 합니다.)


import maya.cmds

This allows you to use Maya commands. For example:
이것은 당신이 Maya 명령문을 사용할수있게 해준다. Ex:

maya.cmds.ls()
maya.cmds.sphere( radius=4 )

You can import Maya commands to a different and shorter namespace:
다음과 같이 짧은 명령어로 import하는것도 가능하다 :

import maya.cmds as cmd
cmd.sphere()

Tip
You can import maya.cmds automatically in the userSetup.py file. You can modify this to use your preferred prefix; for example:
userSetup.py file에서 자동으로 import할수있다.사용자가 사용하기 좋게 명령어를 대체해서 사용할수있다 ex)

import maya.cmds as mc
mc.sphere()

For more information, see Initializing the Maya Environment in and for Python.
더많은 정보를 위해 Initializing the Maya Environment in and for Python 를 보기바란다.

Note
Alternatively, you can import the Maya commands into the top-level namespace using:
<대체로, Maya command를 the top-level namespace를 사용해서 import 할 수 있다.

from maya.cmds import *

after which you can use a briefer way to reference Maya commands:
<그 이후부터는 더 간단한 방법으로 Maya 명령문을 참고할 수 있다.

ls()
sphere( radius=4 )

<(역주: Python에서는 모듈을 import하고나서도 그 모듈안의 함수나 메쏘드를 쓰려면 그 앞에 모듈이름을 반듯이 붙여야 한다 . 그라나 top-level namespace로 import를 하게되면 단순히 함수와 메쏘드 이름만으로 실행이 가능해 지는데 그형식은 from 모듈이름 import *이다.)

WARNING: Importing to the top-level namespace overrides definitions from Python built-in and other modules.
For example, Python has its own help system and a call to the Python version of help produces output that is specific to Python. A call to maya.cmds.help provides help about Maya commands. Importing maya.cmds into the top-level namespace would result in not being able to access Python help.
<경고: top-level namespace로의 import는Python built-in과 다른 Midul들을 무시합니다.
예) Python은 자신의 Help시스템을 갖추고 있고 그것을 호출해서 출력할수 있고 maya.cmds.help 의 호출로 Maya command의 Help를 제공합니다. maya.cmds를 top-level namespace 로 import하는것은 Python Help로의 접근을 하지못하게하는 결과를 낳을수 있습니다.



Flags (named arguments)

Flags are handled differently in Python than they are in MEL. MEL was designed with a shell command style syntax.
Python에서의 Flag들은 Mel에서 조작된것과는 다르게 조작된다. Mel은 shell command 방식의 문법으로 설계되어 있다.
(참고: shell이란 이용자와 시스템 간의 대화를 가능하게 해 주며, 이용자가 입력시킨 문장을 읽어 그 문장이 요청하는 시스템 기능을 수행하도록 해 주는 명령 해석기)


For Maya commands in Python, the command argument syntax has been adapted in a way that is natural for Python. As a result, flags—both long and short forms—are passed to commands as named arguments. The name of the argument is the flag name and the flag’s arguments are passed to the named argument.
그러나 Maya Python에서는 명령문의 변수문법들이 Python본연의 문법으로 계조 된다. 이로인해 flag는 (긴형태와 짧은형태 둘다) named argument로서 명령문에 설정된다. 인수의 이름은 flag 이름이고 그 flag의 인수는 named argument로 설정된다.

(역주: 간단히 말하자면 MEL의 flag가 Python의 named argument입니다.)


Single arguments

The MEL sphere command is:
Sphere를 만드는 명령문은:

sphere -radius 4;

In the Python version, the flag radius is referenced as a named argument and, since there is a single argument, the value is passed as follows:
Python에서는 radius flag가 named argument로써 참조되고 그 flag의 값은 단일 변수로써 다음과같이 설정된다:


Multiple arguments
Multiple arguments (여러개의 변수)

If the flag has multiple arguments, then the arguments need to be packed into a list or a tuple. Here is an example of a command with a flag that has three arguments.
만약에 여러개의 변수를 갖인 flag가 있다면, 그때는 그 변수들은 list([])나 tuple(())로 감싸줄 필요가 있다 . 다음에 3개의 변수를 갖은 flag가 들어있는 명령어의 예가 있다:

# With a tuple
maya.cmds.ambientLight( rgb=( 0.2, 0.3, 0.4 ) )

# With a list
maya.cmds.ambientLight( rgb=[ 0.2, 0.3, 0.4 ] )

(역주: maya.cmds.ambientLight( rgb=[ 0.2, 0.3, 0.4 ] )


Required arguments (True/False)
Required arguments (True/False) (필요한 변수 True/False 주의:대소문자 구분 )

Named arguments must have a value associated with them. However, not all Maya flags require a value (for example, ls -l). In order to maintain a consistent syntax, the Autodesk Maya Python implementation requires you to assign a boolean argument to those flags that do not normally take any arguments. If the boolean value is False, then the flag is ignored; if it is True, the flag is used. For example:
Named arguments(flag)는 그들과 연관된 valu를 반듯이 갖이고 있어야한다. 그렇지만, 그러나 Maya의 flag모두가 다 (숫자)valu를 필요로 하는것은 아니다.(예. ls -l). Autodesk Maya Python 실행은 모순이 없는 문법을 지속하기 위하여, 숫자 변수를 갖이지 않는 flag에 이진연ㅅㅏㄵ자(boolean argument) 대입을 필요로 한다. 만약 이진연산자가 False일경우 그 flag는 무시되고 True라면 그 flag는 사용된다. 예:

# Pass selection flag
maya.cmds.ls( selection=True )
# Selection flag is ignored here
maya.cmds.ls( selection=False )

(역주: 하나의 flag가 여러개의 인수를 취할경우 어떻게 설정을 해야되는지 설명입니다.)


Multiple named arguments

Some flags may be used multiple times in one command call. For example, in MEL:

ls -type nurbsSurface -type transform;

In Python, you would use the named argument type and pass the values in a list or a tuple.

maya.cmds.ls( type=['nurbsSurface','transform'] )

In the case where a flag is used multiple times and has multiple arguments, the value is a list of lists. Tuples may be used instead of lists, so you may use a tuple of lists, a list of tuples, or a tuple of tuples. For example, the curveOnSurface command in MEL:
여러개의 flag와 value가 쓰일 경우 역시 flag는 한번만 쓰고 value는 list로 한번더 감싸줘야 하지만 list대신에 Tuples로 감싸줘도 된다 . 그래서 list안에 Tuple, Tuple안에 list tuple 안에 tuple의 형태가 된다 . 예, MEL의 명령어 curveOnSurface

curveOnSurface -d 3 -uv 0 0 -uv 0.3 0.5 -uv 0.5 0.6 -uv 0.9 1.0
surface1;

In Python:

maya.cmds.curveOnSurface( 'surface1', d=3,
uv=[(0,0),(0.3,0.5),(0.5,0.6),(0.9,1.0)] )

If you use more than one argument flag, Python returns an error (‘Duplicate keyword argument’).
만약에 flag를 한번더 쓴다면 Python은 error를 returns합니다 (‘Duplicate keyword argument’).

(역주:
maya.cmds.curveOnSurface( 'surface1', d=3,
uv=[(0,0),(0.3,0.5),(0.5,0.6),(0.9,1.0)],uv = [0.5,0.4] )
이런식으로 하면 안됨.)



Ranges
Ranges (어떤 양 또는 함수가 취할 수 있는 최댓값과 최솟값의 차. 계측기 등에서는 측정할 수 있는 상한으로부터 하한을 뺀 값을 가리킨다.)

There are three types of ranges in Maya commands: time, index, and float. All ranges must be specified using tuples in Python. Any tuple may have either one or two values. A tuple with one value is specified as a value in brackets with a single comma; multiple single-valued tuples are specified using set notation (see Multiple named arguments).
Maya명령어에는 3가지 type의 range이 있습니다: time, index, 그리고 float. 모든 rnage은 반듯이 tuple로 설정되어야 하며 Tuple은 한 개 혹은 두개의 value를 갖일수 있다. 하나의 value로 설정된다고 해도 반듯이 value뒤에 single comma를 --ex) (2,)-- 붙여주어야 한다; 단일 인수 와 다수 인수의 tuple은 기호--(,)--에 의해 설정된다.

As well, time ranges support units. To specify units, you must use strings. You can mix units as each value is parsed separately.
게다가, time range 은 units을 지원한다. Units을 설정하는데는 반듯이 문자를 써야되며 각각의 Value가 계별적으로 분석된 units들을 하나의 tuple에 담을 수 있다.


These are valid time ranges:
다음이 허용된 time range이다:

(1,) (1,10) ('1sec','10sec') ('1min:2min')

The following table uses the cutKey command as an example of specifying time and index ranges.
다음표는 time,index ranges 설정의 예 로서 cutKey 명령어를 쓴다.

mayaPython301.jpg


Changes to certain command flags

Certain flag changes to Maya commands are necessary because the arguments for multi-use flags in Python must be passed as a list to the flag. This causes a problem for commands in which different multi-use flags must be mixed-and-matched. Since each multi-use flag’s arguments are provided in a separate list in Python, there is no way to intermix them. The few commands which relied on this have been extended so that a single multi-use flag handles the job of the individual multi-use flags.
Maya명령의 Flag가 변하는 것이 필요하다. 왜냐하면 Python에서 mult-ues flag의 인수는 반듯이 list로서 flag에 설정되어져야 되기 때문이다.(Tuple로는 절대로 안됨) 이 개념은 서로 다른 mult-ues flag 혼합되어 설정되어야 되는 명령어에서 문제의 원인이 된다. Python에서 각각의 multi-use flag들의 인수는 갈려진 list에서 공급되기 때문에 그들을 혼합할 방법은 없다. 이러한 flag에 의존되는 소수의 명령어들은 그것에 맞게 연장되었다. 그래서 single multi-use flag는 개개의 multi-use flag의 작업을 다루게 되었다.

(역주: 앞에서 말했다시피 ls -type nurbsSurface -type transform; ==> ls[type = [nurbsSurface ,transform] 주의(반듯이 list이다)
그러나 polyAppendVertex -v 6 -v 10 -p .167 .3 -.167 -p .167 .3 .167;의 경우 flag가 여러 번 쓰이는데다 여러 개의 인수도 취하게 되어 있습니다.
이런 Mel명려어를 Python으로 변경하게 되면 반듯이 list 하나만으로 싸여야되는 mult-ues flag의 인수들은 list나 Tuple로 한번더 싸여야되는 현상이 생기기 때문에 아예 mult-ues flag를 쓰지 않고 append flag에다 몰아준 것 입니다)


These commands include :
이 명령어들이 그에 해당된다:

* polyAppendVertex: new append flag which can be used in place of the point, vertex, and hole flags.
* polyAppendVertex: point ,vertex, 그리고 hole의 경우에 쓰일 수 있는 new append flag.
(역주: Mel의경우 언급한 item을 추가하는 flag가 각각 배정 되어있으나 Python에서는 append flag하나로 모든 item을 추가 가능하다)

* polyAppend: new append flag which can be used in place of the point, edge, and hole flags.
* polyAppend: point, edge, 그리고 hole의 경우에 쓰일 수 있는 new append flag.
(역주: polyAppendVertex에서 append flag와 비슷한 기능을 하는 append flag 가있다)

* polySplit: new insertpoint flag which can be used in place of the facepoint and edgepoint flags.
* polySplit: facepoint, 그리고 edgepoint의 경우에 쓰일수있는 new insertpoint flag.
(역주: Mel에서는 쓸수있는 hole flag가 Python에서는 쓸수가 없는 대신에 point가 그 기능을 대신하고 있다.

* polyCreateFacet: the existing point flag as been modified so that it may be also used to specify holes.
* polyCreateFacet: hole역시 설정할수 있도록 계조된 existing point flag.
* roundConstantRadius: a new side flag replaces the use of sidea and sideb that are supposed to be intermixed.
* roundConstantRadius:혼합되기로 되어있는 sidea 와 sideb flag사용을 대신할수있는 new side flag.
(역주: Mel에서는 -sidea 와 -sideb를 사용해서 다음과 같이 설정하면 되나

roundConstantRadius -rad 0.9
-sidea 2 -sideb 1 -sidea 1 -sideb 1

Python에서는 -sidea와 -sideb를 지원하지 않기 때문에

side=[('a',2), ('b', 1), ('a', 1), ('b', 1)] )

라고 써야한다.)



Arguments and objects

The curveOnSurface example above also illustrates another Python syntax requirement. Besides flags, Maya commands may also take arguments and objects. Arguments are values of a fixed type that are required by a command. For example, the move command takes three arguments representing the x, y, and z values for the move. Objects are the entities upon which a command operates (for example, an object in a scene or a UI element). There can be a variable number of objects for a command and sometimes they are implicit, based on the current selection list.

Objects and arguments are passed to commands as they would be in MEL, but they must be passed in the following order:

command arguments object flags/named arguments
This is different from MEL where the ordering requires that objects appear at the end of the argument list. However, Python requires that named arguments come after all other arguments.


Summary of argument types

The following table shows a summary of the flag (named argument) types you can use in the Maya Python module.

<이미지>


Standard input (stdin) implementation
Standard input (stdin) implementation ( Standard input 실행)

Python supports reading from STDIN (standard input). In a Python script, this is accomplished by reading from sys.stdin or calling raw_input. When Maya is running in GUI mode (as opposed to batch mode), Maya intercepts these calls from Python and prompts you with a dialog box where you can type your input.
Python은 표준 입력으로부터 읽기를 지원한다. Python 스크립트에서, sys.stdin을 이용해 읽어들이거나 raw_input을 호출함으로써 실행된다. Maya는 이 호출을 Maya가 실행중일 때 GUI모드에서 Python과 prompts로부터 dialog box와함께 당신이 쓸수있는 곳으로 소환한다.

mayaPython20a.jpg

Maya overrides sys.stdin with its own implementation. If you want to use Python’s native stdin object, you can do so by referencing sys.__stdin__.
Maya가 실행되면 sys.stdin은 무시된다. Python고유의 stdin 객체를 사용하고 싶다면, sys.__stdin__을 참조함으로써 사용할수 있다.


MEL/Python communication
MEL/Python communication (서로간의 통신)

A new MEL command—python—takes a string and passes it to be executed in Python. The python command attempts to convert the result into a MEL type.
새로운 Mel명령어인 python은 문자를 취하고 파이썬에서 실행되어지기 위해서 그것을 전달한다. python 명령어는 결과를 MEL type으로 변환하기를 시도한다.

python( "import maya.cmds" )
python( "maya.cmds.ls" )

(역주: 위의 내용을 Mel tab에서 실행시키면 실행됨을 알 수 있습니다.)

Note
Only strings with a single Python statement return a result. This is a limitation currently imposed by Python.
오직 문자로된 단일 Python명령문만이 결과를 돌려받습니다(실행됩니다). 이것이 Python으로부터 부과된 일반적 한계이다.

Python has a more sophisticated type system than MEL, so it is not possible to convert all Python data types into native MEL types. The python command converts those that it knows how to handle. For the rest, it requests a string representation of the object and returns that.
Python은 Mel보다 더 복잡한형식의 system이다, 그래서 모든 Python data들을 Mel형식으로 변환것은 불가능하다. Python command는 어떻게 조작하는지 알고있는 것만 변환한다. 나머지를 위해, Python은 객체의 문자로된 표현만을 요구하고 그것을 되돌려준다.

The following table shows the currently supported mappings:
다음 표는 지원된 주요 mapping을 보여준다:

mayaPython501.jpg


Calling MEL from Python

To call MEL from Python, use the maya.mel.eval() function. It can do a better job of conversion than the MEL python command since Python has more flexible type support.
Python에서 Mel을 호출하는데 maya.mel.eval() 함수를 쓴다. Python으로부터 Mel를 호출하는 것은 Mel Python명령어보다 더 쉽게 변환시킬수 있다. 왜냐하면 Python은 더 유연한 type의 지원을 갖고 있기 때문이다.

You must import the maya.mel module to use this command; that is:

import maya.mel as mm
mm.eval("polySphere;")

Here is a table of the supported conversions:
다음은 지원된 변환의 표이다:

mayaPython601.jpg


Positional arguments
Positional arguments (위치의 인수)

Positional arguments refer to the arguments that UI elements pass to their callback scripts. For example, the callback MEL script for a float slider control could contain #1. The value of the float slider is substituted for this positional argument when the callback is run.
Positional 인수는 UI 요소가 그들의 callback script들을 전달한 인수를 참조한다. Ex), float slider control의 callback Mel script는 이에 해당될수 있다. 그 call back이 실행될때 float slider의 값은 이 positional인수를 위해 대용된다.

For Python, two different ways of substituting values from controls in callbacks are supported. If the callback is a string which is to be evaluated, then Maya does string substitution as in MEL. However, Python’s format operator is used to do the substitutions. The format operation is passed a dictionary of items for the substitution where the names of the values are 1, 2, and so on. For example:
Python을 위해, control안의 callback로부터 대신하는 값을 2가지방법으로 제공받는다. 만약에 callback이 평가 예정된 문자라면,Maya는 Mel에 문자를 대입한다 (질문중) 그렇지만, Python의 format연산자는 그 대입에 사용된다. 그 format작업은 대입을 위한 데이터 항목의 사전에 설정된다. 대입에서 값의 이름은 1,2,등등이다. 예:

maya.cmds.floatSlider( cc="print '%(1)s'" )

(The dictionary is applied to the string later, before it is executed. The floatSlider command formats the string with the current slider value before executing the script. You provide the format string and the UI element provides the dictionary for the format operation.)
(그 사전은 string이 실행된 이후에 실행된다. floatSlider 명령어는 그 스크립트가 실행되기전에 문자를 현제의 슬라이더 값으로 치환 시킨다. 사용자는 format문자를 제공하고, UI요소는 format 작용을 위한 사전을 제공한다.)

The second style of Python callback uses a compiled function, where Maya passes the values as arguments to the function:
Python callback의 두번째 style은 compil된 함수를 사용한다, Maya는 함수에 인수로서 그 값을 전달한다:

def doPrint( arg ):
print arg
cmds.floatSlider( cc=doPrint )

With callback functions, you get an error message if your callback does not take the correct number of arguments.
Callback과 함께하는 함수에서, 만약 사용자의 callback이 어떤한 인수도 취하지 않는다면 사용자는 오류를 볼 수 있을 것이다.

def badStuff():
print "bad"
cmds.floatSlider( cc=badStuff )

When you move the slider, you see this error:
사용자가 slider를 이동시킬 때 다음과 같은 오류를 볼 수 있다:

TypeError: badStuff() takes no arguments (1 given)
badStuff()는 아무런 인수도 취하지 않고 있다. (인수 1개을 줘야한다)

If you want to create a callback that works with any number of arguments, use a variable argument list:
만약 사용자가 인수의 번호와 함께 작업하는 callback 만들기를 원한다면 독립변수 list를 쓰라.

def genericCallback( *args ):
print( "args: " + str ( args ) )
cmds.button( command=genericCallback )

(역주: mel에서는 floatSlider의 cc flag에 의해서 작동하는 함수나 button의 c flag에 의해서 작동하는 함수들은
메계변수없이 작동이 가능했다. 그러나 Python에스는 *args 는 메계변수를 항상 전달해야 실행이 된다.)

466개(20/24페이지)
마야
번호 제목 글쓴이 조회 날짜
공지 마야 뷰포트 네비게이션 팁 푸딩뱃살 42394 2020.04.06 17:22
공지 Maya 버전 별 Python 버전 푸딩뱃살 63703 2014.01.08 17:59
84 [Rendering] [스크랩] 마야 - 렌더 패스 Tutorial 사진 첨부파일 artsone 4630 2008.01.15 17:26
83 [Rendering] [스크랩] 마야 멘탈레이 - Layer Render [ Occlusion ] 사진 첨부파일 artsone 3870 2008.01.15 17:14
82 [Script] [스크랩] Maya help에 있는 Python 참조문 번역 - Current limitations artsone 4300 2008.01.15 17:07
81 [Script] [스크랩] Maya help에 있는 Python 참조문 번역 - Important difference artsone 5455 2008.01.15 17:07
80 [Script] [스크랩] Maya help에 있는 Python 참조문 번역 - Python from an exter artsone 4853 2008.01.15 17:04
79 [Script] [스크랩] Maya help에 있는 Python 참조문 번역 - Python and threading artsone 4692 2008.01.15 17:02
>> [Script] [스크랩] Maya help에 있는 Python 참조문 번역 - Using Python 사진 첨부파일 artsone 5492 2008.01.15 16:56
77 [Script] [스크랩] Maya help에 있는 Python 참조문 번역 - Python in Maya artsone 5110 2008.01.15 16:54
76 [FX] Rigid Body 테스트 사진 첨부파일 artsone 2262 2007.12.20 16:53
75 [참고] MEL Script Site artsone 2686 2007.12.17 04:31
74 [Base] 단축키 artsone 2063 2007.12.17 03:55
73 [Script] Expression - Time (sin, cos, tan) test 사진 첨부파일 artsone 2709 2007.12.15 05:40
72 [Rendering] UV Check Maps 사진 첨부파일 artsOne 1897 2007.12.09 23:45
71 [Rendering] [스크랩] V-Ray for Maya 사진 첨부파일 artsone 2632 2007.12.06 02:04
70 [Rigging] Squash and Stretch 뼈대 만들기 - IK Spline Handle 활용 사진 첨부파일 artsone 2828 2007.11.18 23:17
69 [Rigging] Squash and Stretch 뼈대 만들기 - IK Handle 활용 2 (만들기) 사진 첨부파일 artsone 2640 2007.11.16 01:14
68 [Rigging] Squash and Stretch 뼈대 만들기 - IK Handle 활용 1 (정의) 사진 첨부파일 artsOne 2509 2007.11.15 13:53
67 [Script] Expression - rad_to_deg 사진 첨부파일 artsone 2675 2007.11.14 19:40
66 [Script] Expression - time 사진 첨부파일 artsone 2321 2007.11.14 19:36
65 [Script] 리깅에 사용되는 Utility Node - Condition Node 사진 첨부파일 artsone 2235 2007.11.13 02:54