MFnNurbsCurve Update Problem

Maya nHair simulation의 결과로 나온 NURBS curve들의 control vertex position을 MFnNurbsCurve::getCVs() 함수를 사용하여 querying할 때 Maya가 죽거나 정확한 위치값을 가져오지 못하는 문제가 발생한다. 멀티쓰레딩과 관련된 문제로 보이며 다음과 같이 Evaluation mode 설정에서 Parallel을 DG로 변경하면…

Abnormal Behavior of Maya Tweak with Custom Deformer

1. 테스트 씬 파일을 연다. 2. 플러그인을 로드한다. 3. 조인트를 선택한다. 4. Channel Box에서 Attribute들을 선택하고 “Mute All”을 실행한다. 5. 55 프레임으로 이동한다. 6. Channel Box에서 Attribute들을 선택하고 “Unmute All”을 실행한다. 8. 55 프레임이 아닌…

Maya Viewport 2.0

Viewport 2.0(이하 VP2)은 Maya 2012 부터 도입된 Autodesk사의 새로운 rendering architecture이다. VP2는 AutoCAD와 3ds MAX 등의 제품군에서도 활용되는 backend system이다. VP2는 programmable shader system, high-quality per-pixel lighting 등의 강력한 기능을 제공한다. 하지만, 완전히 새로운 rendering…

MFnNurbsCurve Error with OpenMP

Non-threadsafe functionality in Maya 2014 MFnNurbsCurve evaluation, for example, point on curve computation MFnNurbsSurface evaluation, for example, point on surface computation MFnSubd evaluation MFnNurbsCurve::closestPoint() is not thread-safe. But, it is thread-safe in Maya 2016.

Maya Context에 대하여…

Context란 마우스의 이벤트에 반응하여 어떠한 특정 작업 수행이 가능한 Maya의 특수 모드를 말한다. Maya에서 context는 tool과 동일한 개념으로 사용된다. 다만, graphical user interface 기준에서는 tool이라고 부르고, programming interface 기준에서는 context라고 부른다. setToolTo [context name]으로 특정…

How does Maya treat UV tweaks?

// Create a poly plane mesh; polyPlane -ch 1 -w 10 -h 10 -sx 10 -sy 10; // Create a empty mesh to be used as an output. createNode mesh; // Connect pPlaneShape1 to polySurfaceShape1….

MPxLocatorNode::draw()

Locator node를 사용하면 draw() 함수 안에서 custom data에 대한 OpenGL rendering을 구현하는 것이 가능하다. 그런데, MPxLocatorNode::draw() 함수 안에서 print를 해보면, Maya viewport에서 camera 정보가 변할 때 뿐만 아니라, viewport를 click하거나 marquee를 그리는 등의 조작을 할 경우에도 호출되는…

Linux Maya에서 키보드가 먹통일 때

Tray에 있는 iBus input method framework를 마우스 오른쪽 버튼으로 선택한 후 restart를 해주면 된다. 만약 Tray에 iBus가 사라졌다면 홈디렉토리에 있는 .gconf 디렉도리를 삭제하면 초기화된다.

Conflict problem between Cuda and Maya

Maya는 MTypes.h에 short2, short3, long2, long3, int2, int3, float2, float3, double2, double3, double4 등의 자료형을 정의하여 사용한다. 용감하게도 어떠한 prefix나 namespace도 사용하지 않는다. Cuda는 vector_types.h에 int2, int3, float2, float3 등의 자료형을 정의하여 사용한다. Cuda 또한…

Maya custom node name and type id

A라고 불리는 custom Maya plug-in을 만들어서 사용하고 있었다. A에는 a라는 이름의 custom node가 있었다. 그리고, a 노드를 이용하여 제작한 aScene.mb 파일이 있다고 가정하자. 이 때, A를 보다 개선한 AA라는 custom Maya plug-in을 만들어서 사용하고자 한다….

polyEdit bug?

[Test environment] CentOS 5.4 Maya 2011 x64 [Test Code (mel)] polySphere; select -r pSphere1.map[0]; int $i = 0; for( ; $i<100000; ++$i ) {    polyEditUV -u 0.5 -v 0.5; } [Problem] maya를 종료할 때까지…

Error: Could not create command port

If you meet an error showing below message after maya starting up, commandPort -securityWarning -name commandportDefault; // Error: Could not create command port : commandportDefault (terminating other Maya instancesinstances may solve this problem) // su…

Maya MFnFluid bug? on Linux

I developed my own smoke simulator and rendered the data using Maya, but met a problem. MFnFluid fluidFn( fDagPath ); unsigned int Nx, Ny, Nz; fluidFn.getResolution( Nx, Ny, Nz ); float* density = fluidFn.density(); for( int…

Compound Dynamic Attribute in Maya Bug

Maya에서 addattr로 dynamic attribute를 compound 형식으로 만들고 나서, deleteattr로 지운 뒤, 다시 같은 이름의 dynamic attribute를 addattr로 생성하면 다음과 같은 error가 발생하며 실패하게 된다. Too many children on this compound. Method 1 After deleting the dynamic…

MItMeshPolygon limitation

MItMeshPolygon::getArea does not work in World Space. The Object Space area is always returned. Workaround Use MItMeshPolygon::getTriangles to get the triangles in World Space; then calculate the areas of the triangles and sum them

Maya Particle Command

[bad usage] particle -q -attribute position -order 7; // Error: No object matches name: position // [good usage] particle -attribute position -order 7 -q particleShape1; // Result: 5 0 0 //