FBX 형식으로 저장된 3D 캐릭터 모델이 있습니다. 각 모델 또는 관절의 이름 목록을 알고 캐릭터의 해당 부분이 나와 관련이 있는지 여부를 결정할 수 있습니다. Maya 소프트웨어를 사용하지 않습니다. 나는 제 3 자의 3D 모델을 가지고 있으며 unity3D에서 애니메이션을 위해 그 모델을 사용할 것입니다.하지만 unity3d에서 모델을 가져 오기 전에 머리카락, 머리 등 모델 레이블을 알고 싶습니다. 그래서 라벨을 얻는 방법이 있습니다. 프로그래밍 방식으로 FBX 파일에서? 감사합니다 FBX 형식에 대한fbx 파일에서 모든 노드 또는 폴리곤의 이름을 얻으려면 어떻게해야합니까?
답변
"FBX는"FBX는 독점 파일 형식 임에도 불구하고 3D 소프트웨어들에 의해 이용 될 수있는 오토 데스크에 의해 생성 된 컴파일 된 형식이다. 컴파일 되었기 때문에 "NULL"형식의 넓은 범위의 기호로 끝나게됩니다. I.E. -이 때문에
€«±µÈ7L—C«‚›ìŸn»yàn´ZÌ'>ï¯Óp>¸z±ú‘uá#OFªƒû·Pð>U>j}jp[7)
, 그것은 DAE/콜라다 형식으로 수출 또는 OBJ 형식은 뼈 구조를 사용하고 있지 않을 경우 중 하나에 더 좋다. 콜라다/DAE_FBX/DAE 형식에 대한
이 형식은 오픈 소스이며, 일반적으로 과거에 비디오 게임에 사용되었다. 파일은 XML 기반 파일이며 Java/JavaScript에서 조작하기 쉽습니다. 이 때문에이 파일은 여러분이 좋아하는 메모장 프로그램/app ... 또는 심지어 좋아하는 프로그래밍 언어로 파일을 열 수있는 완전한 지원을 제공합니다.
이 형식을 사용하면 지오메트리가 하위 "지오메트리"아래에 나열됩니다. 당신이 마야를 사용하고 FBX 파일을 내보내기 전에 코드의 비트를 삽입 할 수있는 경우
가 ... 수출하기 전에이 작업을 실행 해보십시오
잠재적 인 솔루션 (마야 파이썬) (파이썬) :
import maya.cmds as cmds
# Create the location and fileName
yourDesktopVar = "C:\\Users\\[Your user]\\Desktop\\"
saveFileName = "Joints_Models_Groups.txt"
documentToSave = open((yourDesktopVar + saveFileName), "w")
# Setup arrays full of relative information
jointNames = [jn for jn in cmds.ls(type = "joint")]
meshNames = [cmds.listRelatives(mn, parent=1)[0] for mn in cmds.ls(type = "mesh")]
# ================================
# Writing Joints
# ================================
documentToSave.write("Joints\n\r")
documentToSave.write("--------------")
for eachJointName in jointNames:
documentToSave.write(eachJointName + "\n\r")
# Create a blank space
documentToSave.write("\n\r\n\r)
# ================================
# Writing Meshes
# ================================
documentToSave.write("Meshes\n\r")
documentToSave.write("--------------")
for eachMeshName in meshNames:
documentToSave.write(eachMeshName + "\n\r")
분명히, 형식에 맞게 편집해야하지만, 시작하기에 충분한 정보를 제공하는 기본 텍스트 문서를 만들어야합니다.
아니, 나는 unity3D를 사용하고 있으며, 캐릭터의 모델 조인트 목록을 원한다. –
글쎄, "Maya"를 게시물의 태그로 추가 했으므로 여전히 사용하고 있다고 생각했습니다. 이 경우 유니 코드에서 특정 문자에 연결된 이름을 붙이게 될 스크립트를 작성해야합니다. – SirJames
이 과정에서 Maya를 사용하고 계십니까? 그렇다면 Maya의 MEL/Python Script를 향한 우리의 시간을 안내하여 여러분을 도울 수 있습니다. 제 솔루션은 모델, 관절 등의 이름으로 Maya에서 목록을 내보내는 것입니다. – SirJames
자바 코딩의 도움을 받아 보았습니다. 먼저 메모장에서 파일을 엽니 다. ++ 그런 다음 모든 공동 이름 뒤에 "ModelS"라는 단어가 있지만 ModelS와 공동 이름 사이에 두 개의 null 단어가있는 패턴을 발견했습니다. 그런 다음 ModelS 단어가있는 행을 인쇄하려고했습니다. 하지만 내가 뭘 해야할지 모르겠다. –