MCP 문서 관리

메뉴

Blender

Blender

Blender MCP 서버는 강력한 오픈소스 3D 제작 소프트웨어인 Blender와의 통합을 제공합니다. 이 서버를 통해 LLM은 자연어 프롬프트를 사용하여 3D 장면 생성, 모델링 및 조작이 가능해집니다. 복잡한 3D 작업에 대한 접근성을 높이고, 보다 직관적인 3D 콘텐츠 제작 워크플로우를 구현할 수 있습니다.

특징

  • 프롬프트 지원 모델링: 자연어 명령을 통해 3D 모델 생성 및 조작
  • 장면 구성: 객체 배치, 카메라 설정, 조명 구성 등 장면 구축 기능
  • 텍스처링 및 재질 작업: 재질 속성 변경, 텍스처 적용 및 수정
  • 애니메이션 제어: 키프레임 생성, 타이밍 조정, 모션 설정
  • 렌더링 옵션: 다양한 렌더링 설정 조정 및 출력 제어
  • Python API 연동: Blender의 강력한 Python API와 연결하여 확장된 기능 지원

API

도구

기본 모델링 도구

  • create_primitive: 기본 3D 프리미티브 생성
  • 입력: 프리미티브 유형(큐브, 구체, 실린더 등), 크기, 위치 파라미터
  • 출력: 생성된 객체 ID 및 상태 정보

  • modify_object: 객체 속성 수정

  • 입력: 객체 ID, 수정할 속성(위치, 회전, 크기 등), 값
  • 출력: 수정 성공 여부 및 업데이트된 상태

  • apply_material: 재질 적용

  • 입력: 객체 ID, 재질 유형, 재질 속성(색상, 반사율, 거칠기 등)
  • 출력: 적용 결과 상태

장면 관리 도구

  • create_scene: 새 장면 생성
  • 입력: 장면 이름, 기본 설정
  • 출력: 생성된 장면 ID 및 상태

  • setup_camera: 카메라 설정

  • 입력: 위치, 방향, 초점 거리 등 카메라 파라미터
  • 출력: 설정 결과 및 프리뷰 정보

  • setup_lighting: 조명 설정

  • 입력: 조명 유형, 강도, 색상, 위치
  • 출력: 적용된 조명 정보

애니메이션 도구

  • create_animation: 애니메이션 시퀀스 생성
  • 입력: 객체 ID, 키프레임 정보, 시간 설정
  • 출력: 애니메이션 설정 결과

  • render_animation: 애니메이션 렌더링

  • 입력: 출력 형식, 해상도, 프레임 범위
  • 출력: 렌더링 진행 상황 및 완료 알림

유틸리티 도구

  • export_model: 모델 내보내기
  • 입력: 파일 형식(obj, fbx, gltf 등), 경로, 옵션
  • 출력: 내보내기 상태 및 파일 정보

  • import_model: 외부 모델 가져오기

  • 입력: 파일 경로, 가져오기 옵션
  • 출력: 가져온 객체 정보

  • execute_script: Python 스크립트 실행

  • 입력: Blender Python API 스크립트
  • 출력: 스크립트 실행 결과

사용 방법

설치

# npm을 통한 설치
npm install -g blender-mcp-server

# 또는 GitHub 저장소에서 직접 설치
git clone https://github.com/author/blender-mcp-server
cd blender-mcp-server
npm install

필요 조건

  • Blender 3.0 이상이 로컬에 설치되어 있어야 합니다.
  • Python 3.7 이상 및 관련 의존성 패키지

구성

Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정할 수 있습니다:

{
  "mcpServers": {
    "blender": {
      "command": "npx",
      "args": ["-y", "blender-mcp-server"],
      "env": {
        "BLENDER_PATH": "/path/to/blender",
        "OUTPUT_DIRECTORY": "/path/to/output"
      }
    }
  }
}

사용 예시

// 기본 큐브 생성
const cube = await create_primitive({
  type: "cube", 
  size: 2.0, 
  location: [0, 0, 0]
});

// 재질 적용
await apply_material({
  object_id: cube.id,
  material_type: "principled",
  properties: {
    color: [0.8, 0.2, 0.2, 1.0],
    metallic: 0.7,
    roughness: 0.2
  }
});

// 카메라 설정 및 렌더링
await setup_camera({
  location: [5, -5, 3],
  look_at: [0, 0, 0]
});

await render_scene({
  output_file: "render_result.png",
  resolution: [1920, 1080]
});

연결된 구성 요소

  • Image Generation - 이미지 생성 기능을 통한 텍스처 및 참조 자료 생성
  • Video Editor - 렌더링된 애니메이션과 비디오 에디터 통합
  • JavaFX - 2D 그래픽과 3D 모델링의 통합 가능성